sql语言分类
SQL语言按照实现的功能不同,主要分为4类:
- 数据定义语言DDL
- 数据查询语言DQL
- 数据操纵语言DML
- 数据控制功能DCL
数据定义语言DDL(Data Ddefinition Language)
SQL数据定义语言主要用来定义逻辑结构,包括定义基表,视图、索引、同义词、聚簇等 。
DDL语句 | 功能说明 |
CREATE TABLE / VIEW | 创建表 / 视图 |
CREATE INDEX / SYN / CLUSTER | 创建索引 / 同义词 / 簇 |
ALTER | 修改数据库结构 |
DROP | 删除数据库结构 |
RENAME | 更改数据库对象的名称 |
TRUNCATE | 删除表的全部内容 |
DDL操作是隐性提交的!不能rollback
数据查询语言DQL(Data Query Language)
SQL的数据查询语言主要用来对数据库中的各种数据对象进行查询,以select为关键字。各种简单查询,连接查询等 都属于DQL。
DQL基本结构是由SELECT
子句,FROM
子句,WHERE
子句组成的查询块:
SELECT
<字段名表> FROM
<表或视图名> WHERE
<查询条件>
DQL语句 | 功能说明 |
SELECT | 从表或视图中查询数据 |
数据操纵语言DML(Data Manipulation Language)
SQL的数据操纵语言,用于改变数据库中的数据,包括插入,删除,修改。上面所说的查询操作 DQL与DML共同构建了多数初级程序员常用的增删改查操作。而查询是较为特殊的一种 被划分到DQL中。
DML语句 | 功能说明 |
INSERT | 插入数据到表或视图 |
UPDATE | 更新数据 |
DELETE | 删除数据 |
数据控制功能DCL(Data Control Language)
SQL的数据控制语言,对表和视图的授权,完整性规则的描述以及事务开始和结束等控制语句。
SQL通过对数据库用户的授权和取消授权命令来实现相关数据的存取控制,保证数据库的安全性,。还提供了数据完整性约束的定义和检查机制,保证数据库的完整性。
DCL语言 | 功能说明 |
GRANT | 授予其他用户对数据库结构的访问权限 |
REVOKE | 收回用户访问数据库结构的权限 |
ROLLBACK | 回滚事务 |
COMMIT | 提交事务 |
提交数据有三种类型
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。
(1) 显式提交
用COMMIT
命令直接完成的提交为显式提交。
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER
,AUDIT
,COMMENT
,CONNECT
,CREATE
,DISCONNECT
,DROP
,
EXIT
,GRANT
,NOAUDIT
,QUIT
,REVOKE
,RENAME
。
(3) 自动提交
若把AUTOCOMMIT
设置为ON
,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为: SQL>SET AUTOCOMMIT ON;
SQL语句规范
编写SQL语句时需要遵循一定的规则:
- SQL关键字、对象名、和列名不区分大小写。
- 字符值和日期值要区分大小写。
- 在应用程序中如果SQL语句文本很长,可以将语句分布到多行上,并且可以通过使用跳格和缩进提高代码的可读性
- SQL*Plus中的SQL语句以分号(;)结束。