1、增加
语法: insert into 表名(字段1,字段2,字段3,...,字段n) values(值1,值2,值3,...,值n);
案例:
代码语言:javascript复制insert into grade(gradeid,gradename) values(null,'一年级');
insert into grade(gradename) values('二年级');
insert into student(studentname,loginpwd,gender,phone,address,email,gradeid,identitycard,images)
values('张四','112233','女','13311112222','重庆市江北区','123@qq.com',1,'5001112222222222','1.jpg');
### 这里列名的顺序与定义表时的列名的顺序无关,只要值能对得上上面列名的顺序就行
第二种形式:
省略列名的列举时,值的顺序要与表定义时的列的顺序一致。
语法: insert into 表名 values(值1,值2,...,值n);
代码语言:javascript复制insert into student values(null,'111111','张王','男',2,'13312344321','重庆市南岸区','123@qq.com','55654','123.png');
第三种形式:
添加多条记录
代码语言:javascript复制insert into grade values(null,'四年级'),
(null,'三年级'),
(null,'七年级');
第四种,生成一张新的表(新表不带主外键关系)
create table newGrade select * from grade; 将查询出来的数据存入到新建的表中。
第五种,将查询结果添加到另一张表中
代码语言:javascript复制insert into newGrade
select * from grade;
2、删除
语法: delete from 表名 删除表中所有的记录
(使用delete删除的数据可以恢复,得开事务,删除时一定要带条件,不然就是删除所有记录)
delete from newgrade newgrade表中所有的数据都被删除了
语法: delete from 表名 where 条件
delete from newgrade where gradeid>=5 and gradeid<=7
delete from newgrade where gradename='二年级'
程序中最为常见的用法就是根据主键进行删除数据
语法: truncate table 表名; 彻底删除数据不可恢复,不使用, truncate 删除之后会将自增也还原
无论是执行truncate删除还是delete删除,主外键关系检查打开的时候,子表中有引用主表的数据时,删除操作都会报错
先查看foreign_key_checks系统变量的值,show VARIABLES like 'foreign_key_checks' 结果是ON 打开状态 执行前SET foreign_key_checks=0;关闭主外键关系检查 再执行删除指令 truncate table grade; set foreign_key_checks=1; 删除完成之后又设置回打开检查的状态
3、修改
语法: update 表名 set 字段名1=值1,字段名2=值2,...,字段名n=值n where 条件
update student set gender='男' where studentno%2=0 学号是偶数的记录变成男