CREATE DATABASE <database_name>
例:CREATE DATABASE student
use <database_name>
例:use student
drop database <database_name>
例:drop database student
CREATE TABLE <表名>
(<列名> <数据类型> [ <列级完整性约束条件> ]
[,<列名> <数据类型> [ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
DROP TABLE <表名>;
–表名是什么?
–此表包括那些列?
–各列名是什么?
–各列的长度和数据类型是什么?
–列是否允许取空值?
–列是否取唯一值? –哪些列组成表的主键?
–外键及被参照的关系是什么?
– <表名>:要修改的基本表
– ADD子句:增加新列和新的完整性约束条件
– DROP子句:删除指定的完整性约束条件
– ALTER COLUMN子句:用于修改列名和数据类型
语句格式
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON
<表名>(<列名>[<次序>][,<列名>[<次序>] ]…)
• DROP INDEX <索引名>
– 删除索引时,系统会从数据字典中删去有关该索引的描述
• [例] 删除Student表的Stusname索引。
– DROP INDEX Student.Stusname
SELECT [ALL|DISTINCT]〈目标列表达式〉[,〈目标列表达式>] …
FROM 〈表名或视图名〉[,〈表名或视图名〉] …
[WHERE <条件表达式>]
[GROUP BY 〈列名〉[,〈列名〉]…
[HAVING <内部函数表达式>] ]
[ORDER BY 〈列名〉 [ASC│DESC] [,〈列名〉[ASC│DESC]]…]
– SELECT子句与FROM子句是必选子句
– SELECT ---- 列出查询的结果
– FROM ---- 指明所访问的对象
– WHERE ---- 指定查询的条件
– GROUP BY ---- 将查询结果按指定字段的取值分组
– HAVING ----筛选出满足指定条件的组
– ORDER BY ---- 按指定的字段的值,以升序或降序排列查询结果
SELECT <目标列表达式> FROM <表名或视图名>
目标表达式可以是:属性名、算术表达式、字符串常量、函数等
在WHERE子句的<比较条件>中使用比较运算符
– =,>,<,>=,<=,!= 或 <>,!>,!<
– 逻辑运算符NOT+比较运算符
• 使用谓词 BETWEEN … AND …
NOT BETWEEN … AND …
使用谓词IN <值表>,NOT IN <值表>
– <值表>:用逗号分隔的一组取值
• [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’]
– <匹配串>:指定匹配模板,可以是固定字符串或含通配符的字符串
– 当匹配模板为固定字符串时,可以用 = 运算符取代 LIKE 谓词,用 !=
或 < >运算符取代 NOT LIKE 谓词
– 通配符
• % (百分号) 代表任意长度(长度可以为0)的字符串
• _ (下横线) 代表任意单个字符
• 语句格式
INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>] … )
• 功能
将新的元组插入到指定表
•语句格式
INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)]
子查询
• 功能
–将子查询结果插入指定表中
• 注意
–子查询的结果必须包含和insert的字段列表一样多的字段,并且数据类型兼容
• 语句格式
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
[WHERE <条件>];
– SET子句
• 指定修改方式、要修改的列、修改后取值
– WHERE子句
• 指定要修改的元组,缺省表示要修改表中的所有元组
• 功能
–修改指定表中满足WHERE子句条件的元组
• 定义
DELETE
FROM <表名> [WHERE <条件>];
– WHERE子句
• 指定要删除的元组,缺省表示要删除表中的所有元组
• 功能
– 删除指定表中满足WHERE子句条件的元组