SQL 语言分类学习笔记
SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言。根据功能不同,SQL 可以分为以下几类:
1. DQL(数据查询语言)
- 定义:用于从数据库中查询数据。
- 主要命令:
- 示例:
1 2 3 4 5
| SELECT * FROM emp;
SELECT * FROM emp WHERE deptno = 10;
|
2. DDL(数据定义语言)
- 定义:用于定义或修改数据库结构(如表、索引、视图等)。
- 主要命令:
CREATE
:创建数据库对象(如表、索引、视图等)。
ALTER
:修改数据库对象。
DROP
:删除数据库对象。
- 示例:
1 2 3 4 5 6 7 8 9 10 11 12
| CREATE TABLE emp ( empno NUMBER PRIMARY KEY, ename VARCHAR2(50), deptno NUMBER );
ALTER TABLE emp ADD (salary NUMBER);
DROP TABLE emp;
|
3. DML(数据操作语言)
- 定义:用于操作数据库中的数据(如插入、更新、删除)。
- 主要命令:
INSERT
:插入数据。
UPDATE
:更新数据。
DELETE
:删除数据。
- 示例:
1 2 3 4 5 6 7 8
| INSERT INTO emp (empno, ename, deptno) VALUES (1, '张三', 10);
UPDATE emp SET deptno = 20 WHERE empno = 1;
DELETE FROM emp WHERE empno = 1;
|
4. CCL(普通命令语言)
- 定义:用于控制 SQL*Plus 或其他客户端工具的行为。
- 主要命令:
- 示例:
1 2 3 4 5
| SET PAGESIZE 20;
SET LINESIZE 100;
|
5. DCL(数据控制语言)
- 定义:用于控制数据库的访问权限。
- 主要命令:
GRANT
:授予用户权限。
REVOKE
:撤销用户权限。
- 示例:
1 2 3 4 5
| GRANT SELECT ON emp TO scott;
REVOKE SELECT ON emp FROM scott;
|
6. TCL(事务控制语言)
- 定义:用于控制数据库事务。
- 主要命令:
COMMIT
:提交事务,保存对数据库的修改。
ROLLBACK
:回滚事务,撤销对数据库的修改。
SAVEPOINT
:设置保存点,用于部分回滚。
- 示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| BEGIN INSERT INTO emp (empno, ename, deptno) VALUES (2, '李四', 20);
SAVEPOINT sp1;
UPDATE emp SET deptno = 30 WHERE empno = 2;
ROLLBACK TO SAVEPOINT sp1;
COMMIT; END;
|
7. 综合示例
(1)创建表并插入数据
1 2 3 4 5 6 7 8 9 10 11
| CREATE TABLE emp ( empno NUMBER PRIMARY KEY, ename VARCHAR2(50), deptno NUMBER );
INSERT INTO emp (empno, ename, deptno) VALUES (1, '张三', 10); INSERT INTO emp (empno, ename, deptno) VALUES (2, '李四', 20); COMMIT;
|
(2)查询并更新数据
1 2 3 4 5 6
| SELECT * FROM emp;
UPDATE emp SET deptno = 30 WHERE empno = 1; COMMIT;
|
(3)删除数据并回滚
1 2 3 4 5
| DELETE FROM emp WHERE empno = 2;
ROLLBACK;
|
(4)授予权限
1 2 3 4 5
| GRANT SELECT ON emp TO scott;
REVOKE SELECT ON emp FROM scott;
|
8. 总结
- DQL:用于查询数据,主要命令是
SELECT
。
- DDL:用于定义或修改数据库结构,主要命令是
CREATE
、ALTER
和 DROP
。
- DML:用于操作数据,主要命令是
INSERT
、UPDATE
和 DELETE
。
- CCL:用于控制 SQL*Plus 的行为,主要命令是
SET
。
- DCL:用于控制数据库权限,主要命令是
GRANT
和 REVOKE
。
- TCL:用于控制事务,主要命令是
COMMIT
、ROLLBACK
和 SAVEPOINT
。