数据操作语言DML

在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作。

插入

在表中插入数据,基本语法为:

INSERT INTO 表名 (列1, 列2) VALUES(值1, 值2)

例如,在yw1402数据库 student表中插入:

mysql> INSERT INTO student (id,name,age) VALUES(20141224,'占国慧',24);
Query OK, 1 row affected (0.01 sec)

INSERT 语句可以一次插入多条记录:

mysql> INSERT INTO student (id,name,age) VALUES(20141223,'于殿强',24),(20141222,'杨文彦','24'),(20141219,'田明赫',25);
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0

更新记录

对于表中已经存在的数据,可以通过 UPDATE 命令对其进行修改,语法如下:

UPDATE 表名 SET 列1 = 值1, 列2 = 值2;

删除记录

如果记录不再需要,可以使用 DELETE 命令进行删除:

DELETE FROM 表名 WHERE 条件;

也可直接删除:

DELETE FROM 表名;

DELETE, TRUNCATE 和 DROP 的区别

  • DROP 删除整个表(数据和结构),DELETETRUNCATE 删除表中的数据(数据)。
  • TRUNCATEDROP 属于 DDL,不能 ROLLBACK 回滚,操作不触发 Trigger;而 DELETE 属于 DML,可以 ROLLBACK 回滚。
  • TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。二者都是删除所有行,但 TRUNCATEDELETE 速度快;DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。