MySQL(四) DML(数据控制语言)

DML(数据控制语言)主要是对数据表中的数值进行增删改的操作,使用的关键词分别为insert、delete from、update set.

插入数据

基本格式:

insert into table_name(字段1,字段2,..) values(数值1,数值2,..)
insert into table_name values(数值1,数值2,..),(数值11,数值22,..) #插入多行数据

table_name后面的字段名如果省略,则默认为数据表中的字段顺序

案例一:创建housing表,包括四个字段,分别为:楼盘名(name)、地址(location)、大小(square)、价格(price)
插入如下五条数据,并查看

create table housing(name varchar(20),location varchar(20),square int,price int);
insert into housing values("富州新城","沙坪坝",81,13333);
insert into housing values("南方苹果派","九龙坡",54,13184);
insert into housing values("大雅云居山","渝北",62,16822);
insert into housing values("首地江山赋","渝北",102,12167);
insert into housing values("美利山公园城市","渝北",62,15323);
select * from housing #查看表内全部数据

在这里插入图片描述

修改数据

基本格式:

update table_name set 字段名=新值 where...  ##where语句用来定位

案例二:将大雅云居山的地址修改为"南岸区",将渝北的房价都改为12000

update housing set location="南岸区" where name = "大雅云居山";
update housing set price=12000 where location="渝北";
select * from housing;

在这里插入图片描述

删除数据

基本格式:
1.删除整张表的数据

truncate table table_name;
delete from table_name;

2.删除某条数据

delete from table_name where ..

案例三:删除南方苹果派所在行的数据以及删除整张表的数据

delete from housing where name="南方苹果派";
truncate table housing;

在这里插入图片描述
truncate和delete from 区别

语句 是否能加where 自增类型字段起始点 是否能回滚
truncate 从1开始
delete from 从断点处开始

针对"是否能回滚"这条区别,涉及到事务的相关知识,往后再叙述。

以下,将举例说明两者在"自增类型字段起始点"区别:
案例四:创建inf表,包括商品编号和价格;并将商品编号设置主键和自增约束。

create table inf(id int primary key auto_increment,price int);
insert into inf values(1,25),(2,36),(3,54);
select * from inf;

在这里插入图片描述
A. delete from删除整表数据

delete from inf;
insert into inf(price) values(30);  
select * from inf;

在这里插入图片描述
从图中可知:首先,删除了inf表内全部数据。其次,仅插入一行价格数据,由于商品编号有自增约束,它会自动补齐,但是是从断点处开始!(断点为3,故插入数据后,id列自动补齐为4)

B. truncate 删除整表数据

truncate table inf;
insert into inf(price) values(30);
select * from inf;

在这里插入图片描述
使用truncate删除数据后,id列自增长是从1开始的。可以认为truncate删除数据更加"彻底"

与DDL(数据定义语言)对比

语言类型 作用对象
DDL(数据定义语言) create drop alter 数据库/表
DML(数据控制语言) insert delete from update set 数据表里的值
发布了20 篇原创文章 · 获赞 3 · 访问量 1190

猜你喜欢

转载自blog.csdn.net/shine4869/article/details/104047963