数据库04—DML数据定义语言

文章目录

插入语句

一、方式一

1.语法

insert into 表名(列名,...) values (值1,...),(值,...)

2.特点

1)要求值的类型和字段的类型要一致或兼容
2)字段的个数和顺序不一定与原始表中的字段个数和顺序一致
但必须保证值和字段一一对应
3)假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
①字段和值都省略
②字段写上,值使用null
4)字段和值的个数必须一致
5)字段名可以省略,默认所有列

二、方式二

1.语法

insert into 表名 set 字段=值,...

三、两种方式的区别

1.方式一支持一次插入多行,语法如下:

insert into 表名【(字段名,..)】 
values(值,..),(值,...),...;

2.方式一支持子查询,语法如下:

insert into 表名
查询语句;
#案例:在beauty表中插入
insert into beauty(id,NAME,phone)
select id,boyname,'1234567'
from boys where id<3;

修改语句

一、修改单表记录

1.语法

update 表名
set 列名=新值,列名=新值,...
where 筛选条件;

2.示例

#案例:修改boys表中id好为2的名称为张飞,魅力值 1000
update beauty set  boyname='李雷',usercp=1000
where id=2

二、修改多表记录

1.语法

sql92语法

update 表1 别名,表2 别名
set 列名=值,...
where 连接条件
and 筛选条件;

sql99语法

update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列名=值,...
where 筛选条件;
#示例:修改张无忌的女朋友的手机号为114
update boys bo
join beauty b on bo.id=b.boyfriendid
set b.phone='114'
where bo.boyName='张无忌'

删除语句

一、方式一:delete

1.语法

delete from 表名 where 筛选条件

删除整个表:delete from 表名

2.单表的删除

delete from 表名 where 筛选条件
#案例:删除手机号以9结尾的女神信息

3.多表的删除

sql92语法

delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;

sql99语法

delete 表1的别名,表2的别名
from 表1 别名
inner|left|right join 表2 别名 on 连接条件
where 筛选条件;

二、方式二:truncate

删除整个表
语法:

truncate table 表名

两种方式的区别【面试题】

1.truncate不能加where条件,而delete可以加where条件
2.truncate的效率高一丢丢
3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始;delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4.truncate删除不能回滚,delete删除可以回滚

上一篇:Oracle数据库语言分类


下一篇:Java Springcloud项目bug记录过程02---springboot项目打包,linux服务器上运行报错