3.11 数据库笔记 – 数据操纵语言

3.11 数据库笔记 - 数据操纵语言
创建次表⽤于完成对数据表中数据的插⼊、删除、修改操作。

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';

给TA打赏
共{{data.count}}人
人已打赏
编程专区

3.8 数据库笔记 - 数据库设计

2022-3-9 10:42:00

编程专区

数据库练习

2022-3-14 14:34:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索