MySQL数据库之DML数据操纵语言(insert、delete、update)

目录

一、数据表数据插入语句insert

二、数据表数据删除语句delete

三、数据表数据更改语句update


一、数据表数据插入语句insert

DML数据操纵中的插入语句insert,是对数据库中表数据插入数据所用的语句,它的组成是由insert into 表名称 需要插入列名(字段名) 对应字段的数据。

数据库插入语句重点事项:

(1)插入的数据条数可以是多条,每条数据用(),()隔开,例如:('张三','男',23,'老师'),('李四','女',20,'学生'),...

(2)插入的每条数据中含有的变量个数要与对应插入列的列名个数相同,例如;insert into table(name,gender,age,job) values('张三','男',23,'老师'),('李四','女',20,'学生'),...

(3)有外键约束的列在添加数据时,数据要与外键约束关联的表的数据一致,否则会出现错误,具体事例在前面MySQL数据库之字段约束中外键约束中有提到。

MySQL数据库之字段约束_Sheenky的博客-CSDN博客

扫描二维码关注公众号,回复: 14748842 查看本文章

(4)数据表名后的字段名列表顺序可以不与表中⼀致,但是values中值的顺序必须与表名后字段
名顺序对应

(5)当要向表中的所有列添加数据时,数据表名后⾯的字段列表可以省略,但是values中的值的
顺序要与数据表定义的字段保持⼀致;

(6)插入的values值中如果是中文需要用'中文'英文引号括起来。

(7)不允许为空的列必须提供数据

insert into <tableName>(columnName,columnName....)
values(value1,value2....);

实际事例演示

创建一个学生数据库

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

向数据库中添加数据

## 向数据表中指定的列添加数据(不允许为空的列必须提供数据)
insert into students(stu_num,stu_name,stu_gender,stu_age,stu_tel)
values('20210101','张三','男',21,'13030303300');

## 数据表名后的字段名列表顺序可以不与表中⼀致,但是values中值的顺序必须与表名后字段名顺序对应
insert into students(stu_num,stu_name,stu_age,stu_tel,stu_gender)
values('20210103','王五',20,'13030303302','⼥');

## 当要向表中的所有列添加数据时,数据表名后⾯的字段列表可以省略,但是values中的值的顺序要与数据表定义的字段保持⼀致;
insert into students values('20210105','孙
琦','男',21,'13030303304','666666');

结果展示

注意!!!

在项⽬开发中,即使要向所有列添加数据,也建议将列名的列表显式写出来(增强SQL的
稳定性)
 

二、数据表数据删除语句delete

delete语句是从数据表中删除满⾜特定条件(所有)的记录,也就是当满足你的条件语句时,它会直接删除满足特定条件数据的所在行的行记录,而不是删除单个特定的值。

删除语法如下:

delete from 数据表名 where 删除数据查询条件;

删除语句事项:

(1)如果满⾜where⼦句的记录有多条,则删除多条记录。
(2)如果删除语句没有where⼦句,则表示删除当前数据表中的所有记录。
(3)delete语句没有办法单独删除某列的特定值,要想达到删除目的可看下面的更改语句。

删除数据例题演示:

## 删除学号为20210102的学⽣信息
delete from stus where stu_num='20210102';

## 删除年龄⼤于20岁的学⽣信息(如果满⾜where⼦句的记录有多条,则删除多条记录)
delete from stus where stu_age>20;

## 如果删除语句没有where⼦句,则表示删除当前数据表中的所有记录(敏感操作)
delete from stus;

三、数据表数据更改语句update

update语句是对数据表中已经添加的记录进⾏修改,此语句就跟它的名字一样是属于更新操作,通过更新操作对原有的数据进行更改。

修改语句语法如下:

update 数据表名 set 列名=修改值 [where 查询条件]

修改语句事项:

(1)语句修改可以对单列也可对多列修改
(2)主键修改其他所有列
(3)修改没有where子句则修改数据表中所有数据

(4)修改语句可用作单列某值的删除语句,只需将值设置为空值即可。例:update students set stu_name='' where stu_num=20210101;

修改语句示例:

## 将学号为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';

猜你喜欢

转载自blog.csdn.net/Sheenky/article/details/124002272