PLSQL 执行sql语句 F5 快捷键的解释

通过F5查看到的执行计划,其实是pl/sql developer工具内部执行查询 plan_table表然后格式化的结果。

select * from plan_table where statement_id='...'。其中

Description列描述当前的数据库操作,

Object owner列表示对象所属用户,

Object name表示操作的对象,

Cost列表示当前操作的代价(消耗),这个列基本上就是评价SQL语句的优劣, Cardinality列表示操作影响的行数,

Bytes列表示字节数

 

第二篇:SQL语句语法及释义(二)

SQL 语句语法及释义(二)CREATE DATABASE:语法:CREATE DATABASE database_name释义:CREATE DATABASE 用于创建数据库。CREATE TABLE: 语法:CREATE TABLE 表名称 ( 列名称 1 数据类型, 列名称 2 数据类型, 列名称 3 数据类型, .... )释义:CREATE TABLE 语句用于创建数据库中的表。附:数据类型 描述 仅容纳整数。在括号内规定数字的最大位数。? ? ? ? ? ?integer(size) int(size) smallint(size) tinyint(size) decimal(size,d) numeric(size,d)容纳带有小数的数字。 "size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。char(size)容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。varchar(size)容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 1/6

在括号中规定字符串的最大长度。 date(yyyymmdd) 容纳日期。Constraints: 说明:SQL 约束 约束用于限制加入表的数据的类型。 可以在创建表时规定约束 (通过 CREATE TABLE 语句) 或者在表创建之后也可以 , (通过 ALTER TABLE 语句)。我们将主要探讨以下几种约束:? NOT NULL ? UNIQUE ? PRIMARY KEY ? FOREIGN KEY ? CHECK ? DEFAULTNOT NULL:语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOT 列名称 2 数据类型 NOT 列名称 3 数据类型 NOT .... )NULL, NULL, NULL,释义:NOT NULL 约束强制列不接受 NULL 值。 NOT NULL 约束强制字段始终包含值。 这意味着, 如果不向字段添加值, 就无法插入新纪录或者更新记录。UNIQUE: 说明:SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 2/6

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 新创建表时,单个列 UNIQUE 约束: 语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOT 列名称 2 数据类型, 列名称 3 数据类型, .... ) 新创建表时,多个列 UNIQUE 约束: 语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOT 列名称 2 数据类型, 列名称 3 数据类型,NULLUNIQUE,NULL,CONSTRAINT 约束名 UNIQUE)(列名称 1,列名称 2,…)对已存在的表添加 UNIQUE 唯一约束: 语法:ALTER TABLE 表名称ADD UNIQUE (列名称)对已存在的表添加 UNIQUE 多个约束: 语法:ALTER TABLE 表名称ADD CONSTRAINT 约束名 UNIQUE (列名称 1,列名称 2,…)撤销 UNIQUE 约束: 语法:ALTER TABLE 表名称 3/6

DROP CONSTRAINTPRIMARY KEY:约束名说明:SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。 主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。语法:各种条件下的运用同 UNIQUE 一样.CHECK: 说明:SQL CHECK 约束CHECK 约束用于限制列中的值的范围。 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。 新创建表时,单个列 CHECK 约束: 语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOT 列名称 2 数据类型, 列名称 3 数据类型, .... ) 新创建表时,多个列 CHECK 约束: 语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOTNULLCHECK(条件),NULL,4/6

列名称 2 数据类型, 列名称 3 数据类型,CONSTRAINT 约束名 CHECK) 其它用法同 UNIQUE 一样.(列名称 1(条件)and 列名称(条件)and…)FOREIGN KEY: 说明:SQL FOREIGN KEY 约束在一个表中,只能定义一个 primary key 约束,但可定义多个 unique 约束。 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。 FOREIGN KEY 约束用于预防破坏表之间连接的动作。 FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的另外一个表中的值之一。 新创建表时,单个列 FOREIGN KEY 约束: 语法:语法:CREATE TABLE 表名称 2 ( 列名称 1 数据类型 NOT 列名称 2 数据类型, 列名称 3 数据类型 FOREIGN .... ) 新创建表时,多个列 FOREIGN KEY 约束: 语法:语法:CREATE TABLE 表名称 2 ( 列名称 1 数据类型 NOT 列名称 2 数据类型, 列名称 3 数据类型,NULL,KEY REFERENCES 表名称 1 (列),NULL,CONSTRAINT REFERENCES约束名 FOREIGN 表名称 1(列名称)KEY (列名称)5/6

) 其它用法同 UNIQUE 一样.DEFAULT: 说明:SQL DEFAULT 约束DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新纪录。 新创建表时,单个或多个列 DEFAULT 约束: 语法:语法:CREATE TABLE 表名称 ( 列名称 1 数据类型 NOTNULL,列名称 2 数据类型 DEFAULT‘值’, 列名称 3 数据类型 DEFAULT‘值’, .... )对已存在的表添加 DEFAULT 约束:ALTER TABLE 表名称 ALTER COLUMN 列名称 SET DEFAULT '值' 撤销 DEFAULT 约束: ALTER TABLE 表名称 ALTER COLUMN 列名称 DROP DEFAULT6/6