mysql数据库基础------数据的管理(增删改)


#创建学生表
CREATE TABLE `t_student` (
`studentId` int not null auto_increment comment '学号',  #列名为studentId,类型为int,设置自动增长,注释为‘学号’
`stu_name`  varchar(16) not null comment '姓名',
`sex`  char(1) default '男' comment '性别' ,  #列名为sex,类型为char(类型宽度为1),约束为默认'男'
`age`  int comment '年龄' ,
`birthday`  datetime comment '生日' ,
primary key (`studentId`) #设置studentId为主键约束
)default charset 'utf8';

在对数据库进行管理时,若想要操作数据,需要先保证数据表中存在数据。MySQL 使用 INSERT 语句向数据表中添加数据,其基本语法格式如下:
INSERT INTO 表名 (字段名1, 字段名2, ……) VALUES (值1, 值2, ……);
在上述语法格式中,“字段名1,字段名2,……”表示数据表中的字段名称,此处既可以是表中所有字段的名称也可以是表中指定字段的名称;“值1,值2,……”表示每个字段的值,每个值的顺序与类型必须与其对应的字段相互匹配。其中,若一次插入多条记录,各个记录值列表之间以逗号“,”分隔即可。
插入数据 增加
1.为指定字段插入记录

-- 为指定字段插入数据
insert into t_student(studentId,sex,age) values(1,'男',48 );

在数据表中,id 字段是一个自动增加的整数,因此在执行时可以不对其进行插入操作

2.带字段列表

-- 插入数据  增加

#insert into插入 约束:给一个限制,束缚,管束

insert into t_student(studentId,stu_name,sex,age,birthday) values(2,'刺客伍六七','男',18,'1999-11-13 12:45:13');
-- 带字段列表

在上述字段列表中字段名称的书写顺序可以随意更改,只要保证值列表中的数据与其相对应即可。

3.不带字段列表

-- 不带字段列表
insert into t_student values(3,'刺客捌九十','男',18,'1999-10-03 12:12:12');

当省略字段列表执行插入操作时,则必须严格按照数据表定义字段时的顺序,在值列表中为字段指定相应的数据。

4.同时插入多条记录

-- 同时插入多条记录
insert into t_student values(5,'胖大海','女',45,'1978-09-12'),
(6,'戚容','女',41,'1998-06-19'),
(7,'尔康','男',60,'1968-09-29');

对于需要同时添加多条记录而言,按照以上两种方式逐条添加数据非常麻烦。因此,可以使用一条INSERT语句添加多行记录
在上述语句中,由于省略了字段列表,因此添加数据时,需要按照表的定义顺序插入。其中,id 字段是自动增长的字段,如果使用 NULL 值,MySQL 会自动为其填入一个值。

修改记录是数据库中常见的操作
UPDATE 表名
SET 字段名1 = 值1 [,字段名2 = 值2,……]
[WHERE 条件表达式]
上述语法格式中,“字段名1”,“字段名2”用于指定待更新的字段名称,“值1”,“值2”用于设置字段更新后的新值;“WHERE条件表达式”是可选的,用于指定哪些记录需要被更新。否则,数据表中的所有记录都将被更新。
利用 UPDATE 修改记录成功,如图所示。需要注意的是,如果表中有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会发生更新。
5.有条件修改

-- 有条件修改
update t_student set stu_name='功夫panada' where studentId=3;

在执行 UPDATE 语句时,若没有使用 WHERE 子句,则会更新表中所有记录的指定字段。

6.无条件修改

-- 无条件修改
update t_student set stu_name='功夫panada';

7.删除
在数据库中,若有些数据已经失去意义或者错误时,就需要将它们删除。此时,可以使用 MySQL 中提供的 DELETE 语句来删除表中的记录,其语法格式如下所示:
DELETE FROM 表名 [WHERE 条件表达式]
在上面的语法格式中,“表名”指的是待执行删除操作的表,WHERE 子句为可选参数,用于指定删除的条件,满足条件的记录才会被删除。

删除全部数据就是在 MySQL 数据库中执行 DELETE 操作时,不设置WHERE 子句判断条件

-- 全部删除
truncate t_student;

在 MySQL 数据库中,还有一种方式可以用来删除表中所有的记录,这种方式需要用到一个关键字 TRUNCATE,其语法格式如下:
TRUNCATE [TABLE] 表名
通过“表名”指定要清空的表
对于同样用于删除数据表的操作,TRUNCATE 关键字与 DELETE 语句也有一定的区别,具体如下:
DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句。
DELETE语句后面可以跟WHERE子句,通过指定WHERE子句中的条件表达式只删除满足条件的部分记录,而TRUNCATE语句只能用于清空表中的所有记录。
使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中的记录时,不影响自动增长值。

删除部分数据是指根据 WHERE 子句指定的判断条件,删除表中符合要求的一条或者某几条记录

-- 部分删除
delete from t_student where studentId=3;

mysql数据库基础------数据的管理(增删改)