zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

sql之操纵语言(DML)

SQL语言 DML 操纵
2023-09-11 14:19:18 时间

专栏目录请点击

简介

数据库操作语言一般三个关键字

  1. 插入:insert
  2. 修改:update
  3. 删除:delete

插入

方式一

INSERT INTO 表名(列名,...) VALUES(1,...)

注意

  1. 插入的值的类型要与列的类型一致或兼容
  2. 不可以为null的列必须插入值。

方式二

INSERT INTO 表名
SET 列名=,列名=,...

两种方式对比

  1. 方式一支持插入多列,方式二只支持插入单列
  2. 方式一可以跟select子句,但是方式二不支持
INSERT INTO studentinfo(id,NAME,phone)
SELECT id,boyname,'xxx'
FROM boys
WHERE id <3;

修改

修改单表

UPDATE 表名
SET=新值,=新值,...
WHERE 筛选条件;

修改多表

sql92

UPDATE1 别名,2 别名
SET=,=,...
WHERE 连接条件
AND 筛选条件;

sql99

UPDATE1 别名
INNER | LEFT | RIGHT | JOIN2 别名
ON 链接条件
SET=,=,...
WHERE 筛选条件;

删除

方式一

方式一主要使用delete来进行删除

单表的删除

DELETE FROM 表名
WHERE 筛选条件;

多表的删除

sql92

DELETE1的别名,2的别名
FROM1 别名,2 别名
WHERE 连接条件 AND 筛选语句;

sql99

DELETE1的别名,2的别名
FROM1 别名
INNER | LEFT | RIGHT JOIN2 别名 
ON 连接条件
WHERE 筛选语句;

方式二

方式二,我们使用关键字TRUNCATE来进行删除

TRUNCATE TABLE 表名;

这个删除语句会一下子将所有的表进行删除

两种方式的区别

  1. delete是DML,执行操作的时候,需要手动commit操作才可以进行,且可以进行回滚操作,但是truncate是DDL,他会隐式的提交,不能回滚,不会触发触发器
  2. truncate删除后数据会从1开始,而delete删除后只会从删除前的最后一行开始写,所以内存空间上,truncate更省空间
  3. truncate处理的速度更快,delete需要先查询在删除