MySQL作为一款广泛使用的关系型数据库管理系统,提供了丰富多样的SQL语句以支持数据的创建、查询、更新和删除等操作。以下是一份MySQL语句操作大全的概览,涵盖从数据库管理到复杂查询的常用命令:
### 一、数据库管理(DDL - 数据定义语言)
1. **创建数据库:**
? ?```sql
? ?CREATE DATABASE database_name;
? ?```
2. **删除数据库:**
? ?```sql
? ?DROP DATABASE IF EXISTS database_name;
? ?```
3. **创建表:**
? ?```sql
? ?CREATE TABLE table_name (
? ? ? ?column1 datatype constraints,
? ? ? ?column2 datatype constraints,
? ? ? ?...
? ?);
? ?```
4. **修改表结构:**
? ?```sql
? ?ALTER TABLE table_name?
? ? ? ?ADD COLUMN new_column datatype constraints,
? ? ? ?MODIFY COLUMN column_name datatype constraints,
? ? ? ?DROP COLUMN column_name;
? ?```
5. **删除表:**
? ?```sql
? ?DROP TABLE table_name;
? ?```
### 二、数据操作(DML - 数据操纵语言)
6. **插入数据:**
? ?```sql
? ?UPDATE table_name?
? ?SET column1 = new_value1, column2 = new_value2
? ?WHERE condition;
? ?```
7. **更新数据:**
? ?```sql
? ?UPDATE table_name?
? ?SET column1 = new_value1, column2 = new_value2
? ?WHERE condition;
? ?```
8. **删除数据:**
? ?```sql
? ?DELETE FROM table_name?
? ?WHERE condition;
? ?```9. **批量操作:**
? ?```sql
? ?-- 批量插入
? ?INSERT INTO table_name (...)
? ?VALUES (...),(...),(...);
? ?-- 复制或移动行
? ?INSERT INTO new_table SELECT * FROM old_table;
? ?```
### 三、数据查询(DQL - 数据查询语言)
10. **简单查询:**
? ? ```sql
? ? SELECT column1, column2,...
? ? FROM table_name;
? ? ```
11. **条件查询:**
? ? ```sql
? ? SELECT * FROM table_name
? ? WHERE condition;
? ? ```
12. **排序查询:**
?
? ```sql
? ? SELECT * FROM table_name
? ? ORDER BY column1 ASC|DESC, column2 ASC|DESC;
? ? ```
13. **聚合函数查询:**
? ? ```sql
? ? SELECT COUNT(column), AVG(column), SUM(column), MAX(column), MIN(column)
? ? FROM table_name;
? ? ```
14. **分组查询:**
? ? ```sql
? ? SELECT column1, COUNT(*)
? ? FROM table_name
? ? GROUP BY column1;
? ? ```
15. **联接查询:**
? ? ```sql
? ? SELECT a.column, b.column
? ? FROM table_a a
? ? JOIN table_b b ON a.id = b.id;
? ? ```
16. **子查询:**
? ? ```sql
? ? SELECT * FROM table1
? ? WHERE column IN (SELECT column FROM table2 WHERE condition);
? ? ```
### 四、事务处理
17. **开启事务:**
? ? ```sql
? ? START TRANSACTION;
? ? ```
18. **提交事务:**
? ? ```sql
? ? COMMIT;
? ? ```
19. **回滚事务:**
? ? ```sql
? ? ROLLBACK;
? ? ```
### 五、其他操作
20. **获取当前数据库:**
? ? ```sql
? ? SELECT DATABASE();
? ? ```
21. **切换数据库:**
? ? ```sql
? ? USE database_name;
? ? ```
22. **用户管理与权限设置:**
? ? ```sql
? ? GRANT privileges ON database.* TO 'username'@'host' IDENTIFIED BY 'password';
? ? REVOKE privilege ON database.* FROM 'username'@'host';
? ? ```
以上仅是MySQL语句的一部分摘要,实际使用中还有更多的高级特性及优化技巧,包括视图、存储过程、触发器、索引等。掌握这些基本操作后,您可以根据项目需求进一步深入学习和应用MySQL的高级功能。