数据库语句是用于操作数据库的各种指令和命令的集合,以下是一些常见的数据库语句,按照功能进行分类:
### 数据查询语言 (DQL)
1. **SELECT**:用于从数据库表中查询数据。
SELECT column1, column2, ... FROM table_name WHERE condition;
2. **DISTINCT**:用于返回唯一不同的值。
SELECT DISTINCT column1, column2, ... FROM table_name;
### 数据定义语言 (DDL)
3. **CREATE**:用于创建数据库、表、视图、索引等。
* 创建表:
sql`CREATE TABLE table_name ( column1 datatype, column2 datatype, ... );`
* 创建索引:
sql`CREATE INDEX index_name ON table_name (column1, column2, ...);`
4. **ALTER**:用于修改数据库、表、视图、索引等。
* 添加列:
sql`ALTER TABLE table_name ADD column_name datatype;`
* 删除列:
sql`ALTER TABLE table_name DROP COLUMN column_name;`
5. **DROP**:用于删除数据库、表、视图、索引等。
* 删除表:
sql`DROP TABLE table_name;`
* 删除索引:
sql`DROP INDEX index_name;`
6. **TRUNCATE**:用于清空表中的所有数据。
TRUNCATE TABLE table_name;
### 数据操纵语言 (DML)
7. **INSERT INTO**:用于向表中插入新记录。
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
8. **UPDATE**:用于更新表中的数据。
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
9. **DELETE**:用于删除表中的数据。
DELETE FROM table_name WHERE condition;
### 数据控制语言 (DCL)
10. **GRANT**:用于授予用户权限。
GRANT permission_type ON table_name TO user_name;
11. **REVOKE**:用于撤销用户权限。
REVOKE permission_type ON table_name FROM user_name;
### 数据连接语言 (DCL)
12. **JOIN**:用于连接多个表,进行数据查询。
SELECT columns FROM table1 JOIN table2 ON table1.column_name = table2.column_name;
### 数据聚合语言 (DPL)
13. **GROUP BY**:用于对查询结果进行分组。
SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;
14. **HAVING**:用于指定分组后的查询条件。
SELECT column1, COUNT(column2) FROM table_name GROUP BY column1 HAVING COUNT(column2) > 10;
### 其他常用语句
15. **ORDER BY**:用于对查询结果进行排序。
SELECT * FROM table_name ORDER BY column_name ASC|DESC;
16. **LIMIT**:用于限制查询结果的数量。
SELECT * FROM table_name LIMIT number;
17. **IN**:用于指定多个值作为查询条件。
SELECT * FROM table_name WHERE column_name IN (value1, value2, ...);
18. **LIKE**:用于模糊查询。
SELECT * FROM table_name WHERE column_name LIKE 'pattern';
19. **EXISTS**:用于判断是否存在符合条件的数据。
SELECT column_name FROM table_name t1 WHERE EXISTS ( SELECT * FROM table_name t2 WHERE t1.column_name = t2.column_name );
这些语句只是数据库操作的一部分,实际上还有