创建次表⽤于完成对数据表中数据的插⼊、删除、修改操作。
create table students(
stu_num char(8) primary key,
stu_name varchar(20) not null,
stu_gender char(2) not null,
stu_age int not null,
stu_tel char(11) not null unique,
stu_qq varchar(11) unique
);
插入数据
[scode type=”share”]在指定表中插入数据[/scode]
语法:
insert into 表名(字段名1,字段名2...)
values(value1,value2....);
实例:
向数据表中指定的列添加数据(不允许为空的列必须提供数据)
insert into stus(stu_num,stu_name,stu_gender,stu_age,stu_tel)values('20210101','张三','男',21,'13030303300');
数据表名后的字段名列表顺序可以不与表中⼀致,但是values中值的顺序必须与表名后字段名顺序对应
insert into stus(stu_num,stu_name,stu_age,stu_tel,stu_gender) values('20210103','王五',20,'13030303302','⼥');
当要向表中的所有列添加数据时,数据表名后⾯的字段列表可以省略,但是values中的值的顺序要与数据表定义的字段保持⼀致;
insert into stus values('20210105','孙琦','男',21,'13030303304','666666');
不过在项⽬开发中,即使要向所有列添加数据,也建议将列名的列表显式写出来(增强SQL的稳定性)
insert into stus(stu_num,stu_name,stu_gender,stu_age,stu_tel,stu_qq) values('20210105','孙琦','男',21,'13030303304','666666');
删除数据
[scode type=”share”]从数据表中删除满⾜特定条件(所有)的记录[/scode]
语法:
delete from 表名 [where conditions];
实例:
删除学号为20210102的学⽣信息
delete from stus where stu_num='20210102';
删除年龄⼤于20岁的学⽣信息(如果满⾜where⼦句的记录有多条,则删除多条记录)
delete from stus where stu_age>20;
如果删除语句没有where⼦句,则表示删除当前数据表中的所有记录(敏感操作)
delete from stus;
修改数据
[scode type=”share”]对数据表中已经添加的记录进⾏修改[/scode]
语法:
update 表名 set columnName = value[where conditions]
实例:
将学号为20210105的学⽣姓名修改为“孙七”(只修改⼀列)
update stus set stu_name='孙七'where stu_num='20210105';
将学号为20210103的学⽣性别修改为“男”,同时将QQ修改为777777(修改多列)
update stus set stu_gender='男',stu_qq='777777' where stu_num='20210103';
根据主键修改其他所有列
update stus set stu_name='韩梅梅',stu_gender='⼥',stu_age=18,stu_tel='13131313311' ,stu_qq='999999'where stu_num='20210102';
## 如果update语句没有where⼦句,则表示修改当前表中所有⾏(记录)
update stus set stu_name='Tom';