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