DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) SQL,全称Structured Query Language,是用于管理关系数据库的标准语言。在MySQL中,SQL主要分为三大类:DDL(Data Definition Language)、DML(Data Manipulation Language)和DCL(Data Control Language)。以下是对这些语句的详细解释: 1. DDL(数据定义语言): - CREATE:用于创建数据库、表、索引、视图等数据库对象。例如,`CREATE DATABASE mydb`用于创建一个新的数据库,`CREATE TABLE employees(id INT, name VARCHAR(50))`用于创建一个名为`employees`的表。 - ALTER:修改已存在的数据库对象。例如,`ALTER TABLE employees ADD COLUMN age INT`会在`employees`表中添加一列`age`。 - DROP:删除数据库对象。如`DROP DATABASE mydb`会删除名为`mydb`的数据库,`DROP TABLE employees`则会删除`employees`表。 - DECLARE:在某些数据库系统中,如SQL Server,用于声明变量或存储过程,但在MySQL中,声明变量通常在存储过程内部进行。 2. DML(数据操纵语言): - SELECT:查询数据,是最常用的操作之一。例如,`SELECT * FROM employees WHERE age > 30`将返回所有年龄大于30的员工信息。 - DELETE:删除数据行。`DELETE FROM employees WHERE id = 1`会删除id为1的员工记录。 - UPDATE:更新数据。`UPDATE employees SET age = 35 WHERE id = 1`将id为1的员工年龄改为35。 - INSERT:插入新数据。`INSERT INTO employees(id, name) VALUES(1, 'John Doe')`将向`employees`表中插入一条新记录。 3. DCL(数据控制语言): - GRANT:授予用户访问权限。例如,`GRANT SELECT ON employees TO 'user1'@'localhost'`允许名为'user1'的用户在本地访问`employees`表。 - REVOKE:撤销用户的访问权限。`REVOKE SELECT ON employees FROM 'user1'@'localhost'`将撤销user1对`employees`的查询权限。 - COMMIT:提交事务,确保在事务中的所有更改永久保存。 - ROLLBACK:回滚事务,撤销事务中的所有更改。 除了这些基本语句,还有其他高级查询技术: - 视图(View):可以创建虚拟表,基于查询结果,如`CREATE VIEW employees_view AS SELECT name, age FROM employees`创建一个只显示姓名和年龄的视图。 - 索引(Index):提高查询效率,`CREATE INDEX idx_name ON employees(name)`为`employees`表的`name`字段创建索引。 - 联合(UNION):合并多个查询的结果,去除重复行,如`SELECT field FROM table1 UNION SELECT field FROM table2`。 - 交集(INTERSECT):找出多个查询结果的共同部分,如`SELECT field FROM table1 INTERSECT SELECT field FROM table2`。 - 差集(EXCEPT):从第一个查询结果中移除第二个查询结果的行,如`SELECT field FROM table1 EXCEPT SELECT field FROM table2`。 SQL语句的应用非常广泛,从简单的数据查询到复杂的业务逻辑处理,都离不开它的支持。熟练掌握SQL是进行数据库操作和管理的基础,也是数据分析和软件开发的重要技能。
- 粉丝: 360
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助