DML(Data Manipulation Language,数据操纵语言)是SQL的一部分,用于对数据库中的数据进行查询、插入、更新和删除。以下是MySQL数据库中常用的DML命令:
1. **SELECT** - 查询数据库中的数据。
- 基本查询:`SELECT column1, column2 FROM table_name;`
- 条件查询:`SELECT * FROM table_name WHERE condition;`
- 排序查询:`SELECT * FROM table_name ORDER BY column DESC;`
2. **INSERT INTO** - 向表中插入新数据。
- 插入完整行:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`
- 插入多行:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...), (value3, value4, ...);`
- 插入查询结果:`INSERT INTO table_name (column1, column2, ...) SELECT column1, column2 FROM another_table WHERE condition;`
3. **UPDATE** - 更新表中的现有数据。
- 更新行:`UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;`
4. **DELETE** - 从表中删除数据。
- 删除行:`DELETE FROM table_name WHERE condition;`
5. **REPLACE INTO** - 类似于 `INSERT INTO`,但如果表中已经存在相同的行,则替换它。
- `REPLACE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`
6. **CREATE TEMPORARY TABLE** - 创建临时表。
- `CREATE TEMPORARY TABLE temp_table_name AS SELECT ...;`
7. **DROP TEMPORARY TABLE** - 删除临时表。
- `DROP TEMPORARY TABLE IF EXISTS temp_table_name;`
8. **TRUNCATE TABLE** - 删除表中的所有行,但保留表结构。
- `TRUNCATE TABLE table_name;`
9. **CALL** - 执行存储过程。
- `CALL procedure_name(param1, param2, ...);`
10. **OUTFILE** - 将查询结果导出到文件。
- `SELECT * INTO OUTFILE 'filename' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM table_name;`
11. **LOAD DATA INFILE** - 从文件加载数据到表中。
- `LOAD DATA INFILE 'filename' INTO TABLE table_name FIELDS TERMINATED BY ',';`
12. **SET** - 改变会话变量的值。
- `SET @variable = value;`