文章目录
- DDL
- 创建表/视图(CREATE TABLE)
- 创建索引(CREATE INDEX--ON)
- 创建表的同时创建PRIMAY KEY或UNIQUE约束。
- 创建表时同时定义外键约束
- 创建表时创建CHECK约束
- 修改表/视图(ALTER TABLE)
- 增加新列
- 修改已有属性
- 修改字段名
- 修改表创建约束
- 修改表创建PRIMAY KEY或UNIQUE约束
- 修改表定义外键约束。
- 修改表时创建CHECK约束
- 删除指定的列
- 修改表删除约束
- 维护索引(ALTER INDEX)
- 删除表/视图/索引(DROP TABLE)
- DML
- 插入表/视图记录(INSERT--VALUES)
- 插入单条记录
- 插入多条记录
- 更新表/视图记录(UPDATE--SET)
- 删除表/视图记录(DELETE FROM)
- 查询表/视图记录(SELECT)
- 选择列
- 选择行
- 统计函数
- 运算符
- 连接
- 子查询
- 子查询常用运算符
- EXISTS子查询
- 含替换变量查询
- UNION语句
- 导入/导出
- 交互模式
- 导入
- 导出
- 命令行模式
- 导入
- 导出
DDL
创建表/视图(CREATE TABLE)
CREATE TABLE/VIEW 表名/视图名(<列名><数据类型>[列约束]) [AS<子查询>]
创建索引(CREATE INDEX–ON)
CREATE[UNIQUE|BITMAP] INDEX[<用户方案名>.]<索引名> ON <表名>(<表名>(<列名>[ASC|DESC] [,…n])
创建表的同时创建PRIMAY KEY或UNIQUE约束。
CREATE TABLE 表名(<列名><数据类型>[NULL [NOT NULL]{[CONSTRAINT约束名] PRIMARY KEY | UNIQUE }L…n
L,[CONSTRAINT约束名]{PRIMARY KEY丨UNIQUE}(列名,[…n])]])/定义为表约束/
创建表时同时定义外键约束
CREATE TABLE 表名((<列名><数据类型>REFERENCES表名(列名)L,…n]
L[CONSTRAINT约束名] [FOREIGN KEY] [(列名[,…n])]<REFERENCES表名(列名[,…n])>]/定义为表约束/)[ON DELETE {CASCADE|SET NULL]]);
创建表时创建CHECK约束
CREATE TABLE 表名(<列名><数据类型>[NOT NULL[NULL] [CONSTRAINT check约束名]CHECK(check约束表达式)[…n]/定义为表约束/)[CONSTRAINT check约束名]CHECK(check约束表达式));
修改表/视图(ALTER TABLE)
修改视图语句就是创建视图语句
增加新列
ALTER TABLE 表名 ADD(<新列名><数据类型 [宽度]>)
修改已有属性
ALTER TABLE 表名 MODIFY(<列名>[<数据类型>])
修改字段名
ALTER TABLE 表名 RENAME COLUMN 原始字段名 to 修改后字段名
修改表创建约束
ALTER TABLE<表名> ADD [CONSTRAINT<约束名>]{PRIMARY KEY|UNIQUE?(<列名>[,…])
修改表创建PRIMAY KEY或UNIQUE约束
ALTER TABLE 表名 ADD CONSTRAINT约束名 PRIMARY KEY | UNIQUE(列名[…n])
修改表定义外键约束。
ALTER TABLE 表名 ADD CONSTRAINT约束名 FOREIGN KEY(列名L…n])REFERENCES 主键表(主键列)
修改表时创建CHECK约束
ALTER TABLE 表名 ADD CONSTRAINT check_name CHECK(check约束表达式))
删除指定的列
ALTER TABLE 表名 DROP COLUMN <列名>
修改表删除约束
ALTER TABLE <表名> DROP CONSTRAINT<约束名>[…n];
维护索引(ALTER INDEX)
ALTER INDEX [<用户方案名>]<索引名>
[LOGGING | NOLOGGING]/指定是否创建相应的日志记录//索引所属表空间/
[TABLESPACE<表空间名>]/指定是否对表进行排序/
[SORT | NOSORT]/指定以反序索引块的字节,不包含行标识符/
[REVERSE]/修改索引名称/
[RENAME TO<新索引名>]
删除表/视图/索引(DROP TABLE)
DROP TABLE/VIEW/INDEX 表名/视图名/索引名
DML
插入表/视图记录(INSERT–VALUES)
插入单条记录
INSERT INTO 表名/视图名 [列名列表] VALUIES(值列表)
插入多条记录
INSERT ALL INTO 表名/视图名 [列名列表] VALUIES(值列表)
INTO 表名/视图名 [列名列表] VALUIES(值列表)
更新表/视图记录(UPDATE–SET)
UPDATE 表名/视图名 SET 列名=表达式,[…n] [WHERE 条件]
删除表/视图记录(DELETE FROM)
DELETE FROM 表名/视图名 [WHERE 条件]
查询表/视图记录(SELECT)
SELECT <列> FROM <表名>/<视图名> [WHERE <条件表达式>] [GROUP BY<分组表达式>] [HAVING <分组表达式>] [ORDER BY<排序表达式>[ASC|DESC]]
选择列
SELECT [ALL|DISTINCT] <列名称> [AS] [列别名]… |*|<表达式> |<统计函数> FROM 表名 [AS] [表别名]
选择行
SELECT [ALL|DISTINCT] <列名称> [AS] [列别名]… |*|<表达式> |<统计函数> FROM 表名 [WHERE 条件表达式] ps:where子句筛选满足条件的行
统计函数
AVG:返回一个数字列或是计算列的平均值
COUNT:返回查询结果中的记录数
MAX:返回一个数字列或是计算列的最大值,也可是日期型数据
MIN:返回一个数字列或是计算列的最小值,也可是日期型数据
SUM:返回一个数字列或是计算列的总和
运算符
比较运算符:=,>,<,>=,<=,!=或<>比较大小
逻辑运算符:AND,OR,NOT
多重条件确定范围:BETWEEN AND
确定集合,或用于子查询:IN
模式匹配:LIKE
判断空值:IS NULL
PS:字符串和日期型数据用单引号括起来字符串区分大小写
连接
FROM <表名> <连接类型> <表名> ON <条件表达式>|<表名>|<连接表>
<连接类型>:[INNER]|{LEFT|RIGHT|FULL}[OUTER] [CROSS] JOIN
子查询
SELECT 要查询的内容 FROM 表名列表 WHERE [列名|表达式] 运算符(SELECT 子查询语句)
子查询常用运算符
比较运算符、IN、ALL、ANY、SOME、EXISTS
EXISTS子查询
WHERE [NOT] EXISTS(子查询)
含替换变量查询
UNION语句
<SELECT查询语句1> UNION[ALL] <SELECT查询语句2> [UNION[ALL]<SELECT查询语句3> [,…n]]
导入/导出
交互模式
导入
输入CMD打开命令窗口输入IMP命令,按提示交互完成数据操作
导出
输入CMD打开命令窗口输入EXP命令,按提示交互完成数据操作
命令行模式
导入
IMP USERID=用户名/管理口令@数据库名 FILE=盘符:\路径\文件名.DMP TABLES=(方案名.导入表名)
导出
EXP USERID=用户名/管理口令@数据库名 FILE=盘符:\路径\文件名.DMP TABLES=(方案名.导出表名)