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