04.DML语言
Posted thetree
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04.DML语言相关的知识,希望对你有一定的参考价值。
04.DML语言
DML语言(Data Manipulation Language)数据操纵语言
分类:
插入:insert
修改:update
删除:delete
插入语句
-
方式一,经典插入
语法:
INSERT INTO FROM 表名(列名、列名…) VALUES (值1、值2…);
- 插入的值类型要与列的类型一致或兼容(可以隐式的转换)
- 可以为null的列如何插入(不可以为null的列必须插入字段)
- 直接写为null
- 在表名后要修改的列名直接不写
注:
- 列的顺序可以颠倒,但在给值时需要一一对应
- 插入时,列数和值的个数和顺序必须一一对应
- 列名可以省略,默认为所有列,而且列的顺序与表中列的顺序一致
-
方式二
语法:
INSERT INTO 表名 SET 列名=值,列名=值…;
两种插入方式对比:
- 方式一支持多行插入,而方式二不支持
- 方式一支持多行子查询,而方式二不支持
修改语句
-
修改单表的记录
语法:
update 表名(1) set 列名=新值,列名=新值,…(3) where 筛选条件(2);
注:数字表示执行顺序
-
修改多表的记录
语法:sql92
update 表1 别名,表2 别名(1) set 列名=新值,列名=新值,… (3) where 连接条件 and 筛选条件(2);
语法:sql99
update 表1 别名 inner|left|right join 表2 别名 on 连接条件 set 列名=新值,列名=新值… where筛选条件;
删除语句
-
方式一:delete
1.单表的删除
? 语法:
delete from 表名 where 筛选条件;
2.多表的删除
? 语法: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 表名;(不支持连接筛选条件)
两种删除方式对比:
-
delete可以加筛选条件,truncate不能加
-
truncate删除,效率高一些
-
假如要删除的表中有自增长列:
- 用delete删除后,再插入数据,自增长列的值从断点开始
- 用truncate删除后,再插入数据,自增长列值从1开始
-
truncate删除后没有返回值,而delete有(即是否显示表中有几行收到影响,若是truncate,则都是0)
-
truncate删除不能回滚,而delete删除可以回滚
以上是关于04.DML语言的主要内容,如果未能解决你的问题,请参考以下文章