本资料全面总结了MySQL中常用的DML(数据操作语言)语句,包括插入、更新及删除等操作,旨在帮助数据库开发者和管理员更高效地进行数据管理。
MySQL DML(数据操作语言)语句用于管理和操作数据库中的数据,主要包括插入、更新、删除和查询四种操作,在数据库开发与管理中占据核心地位。
1. 插入
插入数据到表中有两种基本格式:
- 格式一:指定字段名和值。
```sql
INSERT INTO emp(ename, hiredate, sal, deptno) VALUES(zzx, 2000-01-01, 2000, 1);
```
- 格式二:不指定字段名,按表中字段顺序排列。
```sql
INSERT INTO emp VALUES(lisa, 2003-02-01, 3000, 2);
```
- 格式三:部分字段插入,忽略可为空或有默认值的字段。
```sql
INSERT INTO emp(ename, sal) VALUES(dony, 1000);
```
- 格式四:批量插入多条记录。
```sql
INSERT INTO emp(field1, field2, ...) VALUES(val1, val2, ...), (val1, val2, ...), ...;
```
2. 更新
更新表中已有的记录,主要有以下格式:
- 单表单条件更新。
```sql
UPDATE emp SET sal=4000 WHERE ename=lisa;
```
- 多表联合更新。
```sql
UPDATE t1, t2, ... tn SET t1.field1=expr1, t2.field2=expr2, ..., tn.fieldn=exprn [WHERE CONDITION];
```
3. 删除
删除记录有两种形式:
- 单表删除,可选条件。
```sql
DELETE FROM tablename [WHERE CONDITION];
```
- 多表联合删除。
```sql
DELETE t1, t2, ... tn FROM t1, t2, ... tn [WHERE CONDITION];
```
不加条件会删除所有记录,请谨慎操作。
4. 查询
查询是DML中最常用的语句,包括:
- 基本查询:选择全部或指定字段。
```sql
SELECT * FROM tablename [WHERE CONDITION];
```
- 使用DISTINCT去除重复的记录。
```sql
SELECT DISTINCT deptno FROM emp;
```
- 条件查询使用比较运算符(如=, >,<, >=, <=, !=)和逻辑运算符(AND、OR)组合条件。
```sql
SELECT * FROM emp WHERE deptno=1;
```
- 排序与限制:
- ORDER BY用于排序,默认升序,可选DESC或ASC指定降序。
```sql
SELECT * FROM tablename [WHERE CONDITION] ORDER BY field1 [DESC|ASC], field2 [DESC|ASC];
```
- LIMIT用于限制返回的行数,常结合ORDER BY做分页操作。
```sql
SELECT * FROM tablename [WHERE CONDITION] ORDER BY ... LIMIT offset_start, row_count;
```
5. 聚合函数与分组(GROUP BY、HAVING)
使用聚合函数如COUNT()、SUM()等统计和汇总数据,并配合GROUP BY:
```sql
SELECT [field1, field2, ...], fun_name FROM tablename [WHERE where_contition] GROUP BY field1, field2...[WITH ROLLUP]
```
- HAVING用于分组后进行条件过滤。
- WITH ROLLUP生成包含子集的分组,适合创建汇总层次结构。
掌握这些MySQL DML语句对于数据库操作和管理非常有帮助。在实际工作中,请根据具体需求灵活运用这些语句,确保数据准确性和完整性。