一、数据的操作CRUD
1、添加数据
★语法:insert into 表名(字段1,字段2,....,字段n) values(值1,值2,....,值n)
★注意事项:
1、在插入时,如果要插入的字段包含了表中的所有字典名称,此时字段可以省略
2、在插入时,values后边的值的顺序是按照字段的顺序依次插入的
3、如果想同时插入多条数据的情况下,可以在values后边使用逗号将每条数据的内容进行分隔
insert into 表名(字段1,字段2,....,字段n) values(值1,值2,....,值n),(值1,值2,....,值n),.....
4、如果插入的数据为数字型(包括整数、小数),那么其对应的值不需要使用引号
5、如果插入的数据为非数字型,此时需要将数据使用一对单引号或者双引号引起来
6、在插入时,字段的顺序允许和表中的字段顺序不同,但是一般都建议按照顺序添加;不管字段的顺序是否和表相同
在插入值的时候必须要和对应的字段的数据类型保持一致
★示例:有一个名为student的表,里边有id、name、age、score、birthday字段,要求创建表并且向表中添加数据
create table student(
id int(4) primary key auto_increment,
name varchar(20) not null,
age int(2),
score float(3,1),
birthday timestamp
)
insert into student(name,id,age,score,birthday) values(1001,'张三',21,99.5,'2000-01-01')
2、修改数据
★语法:update 表名 set 字段1=值1,....,字段n=值n [where 条件]
★注意事项:
1、如果不写where时,此时会将表中的所有数据都按照set的条件进行修改
★示例:
update student set score = 60 将所有记录的score字段都改成60
update student set score = 99.5 where id = 1001 将id为1001的记录的score字段改成99.5
3、删除数据
★语法: delete from 表名 [where 条件]
★注意事项:
1、如果where条件不写,那么在删除的时候会将表中的所有数据一次性全删除
★示例:删除分数小于80的所有记录
delete from student where score < 80
4、常见的面试题
a、请说明delete、drop、truncate三个关键字的作用及区别
①、truncate和delete 只能删除数据而不能删除表结构,drop则会删除表的结构
②、delete是DML语言,在需要的时候可以通过事务回滚进行数据的恢复
truncate和drop是DDL语言,删除的数据立即生效,无法通过事务进行回滚恢复
③、delete不会自动提交事务,truncate和drop则会自动提交事务