本文整理自网络,侵删。
DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。
1.插入(insert)
格式1.
INSERT INTO emp(ename,hiredate,sal,deptno) VALUES('zzx1','2000-01-01','2000',1);
格式2.
INSERT INTO emp VALUES('lisa','2003-02-01','3000',2);
不用指定字段名称,但是value值需与表字段严格对应.
格式3.
INSERT INTO emp(ename,sal) VALUES('dony',1000);
对于含可空字段、非空但是含有默认值的字段、自增字段,可以不用在INSERT后的字段列表里面出现,VALUES后面只写对应字段名称的VALUE:
格式4
在MySQL中,INSERT语句还可以一次性插入多条记录:
INSERT INTO tablename(field1,field2,......fieldn) VALUES (record1_value1,record1_value2,......record1_valuen), (record2_value1,record2_value2,......record2_valuen), ...... (recordn_value1,recordn_value2,......recordn_valuen);
2.更新(update)
格式1
UPDATE emp SET sal=4000 WHERE ename='lisa';
格式2
UPDATE t1,t2,...tn SET t1.field1=expr1, t2.field2=expr2, ... tn.fieldn=exprn [WHERE CONDITION];
同时更新多个表中的数据
3.删除(delete)
格式1
DELETE FROM tablename [WHERE CONDITION];
格式2
DELETE t1,t2,...tn FROM t1,t2,...tn [WHERE CONDITION];
注意:不管是单表还是多表,不加where条件将会把表的所有记录删除,所以操作时一定要小心。
4.查询(select)
基本语法:
SELECT * FROM tablename [WHERE CONDITION];
1.查询不重复的记录,可以用distinct关键字实现:
SELECT DISTINCT deptno FROM emp;
2.条件查询:
SELECT * FROM emp WHERE deptno=1;
其中,where 后面的条件除“=” 外,还可以使用 >、<、>=、<=、!=等比较运算符;
多个条件之间还可以使用or、and等逻辑运算符进行多条件联合查询
3.排序和限制:
SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC], field2 [DESC|ASC],...fieldn [DESC|ASC]];
其中,DESC和ASC是排序关键字,
DESC表示按照字段进行降序排列(上大-下小),
ASC则表示升序排列(上小-下大),
如果不写此关键字默认是升序排列。
ORDER BY 后面可以跟多个不同的排列字段,并且每个排序字段可以有不同的排序顺序。
如果排序字段的值一样,则值相同的字段按照第二个排序字段进行排序,以此类推。如果只有一个排序字段,则这字段相同的记录将会无序排列。
SELECT ......[LIMIT offset_start,row_count];
对于排序后的记录,如果希望只显示一部分,而不是全部,这时,就可以使用LIMIT关键字来实现.
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。