目录
一、 创建与管理表
(1) 创建CREATE TABLE 语句
(2) 列ALTER TABLE 语句
(3) 删除、清空表(DROP TABLE 语句、TRUNCATE TABLE语句、DELETE 语句)
(4) 修改表名(RENAME···TO···语句)
二、 数据处理
(1) 插入数据(INSERT 语句)
(2) 使用脚本插入值 (&)
(3) 从其他表拷贝数据
(4) 更新数据——又可以成为替换(UPDATE 语句)
(5) 删除数据(DELETE 语句)
(6) 回滚到存储点(SAVEPOINT)
(7) 提交数据(COMMIT)
(8) 回滚数据(ROLLBACK)
三、 约束条件
(1) 添加约束
(2) 删除约束
(3) 无效化约束
(4) 激活约束
(5) 查询约束(USER_CONSTRAINTS)
(6) 查询定义约束的列(USER_CONS_COLUMNS)
四、 查询语句(SELECT 语句)
1、 连接符
2、 删除重复行(DISTINCT)
3、 过滤语句(WHERE)
4、 比较运算
5、 两个之间的值(BETWEEN···AND···)
6、 等于值中的任意一个(in(set,set,set))
7、 模糊查询(LIKE)
8、 空值(IS NULL)、否(NOT)、并且(AND)、或者(OR)
9、 排序(ORDER BY)
10、 多表查询
(1) 等值连接:等值数据连接
(2) 非等值连接:
(3) 外连接
(4) 自连接
(5) 自然连接
(6) USING子句
(7) ON子句
五、 函数
(1) 单行函数
- 字符函数
- 数值
- 日期
a. 日期的数学运算
b. 日期函数 - 转换函数
5)通用
a. NVL 函数
b. NVL2 函数
c. NULLIF 函数
d. COALESCE 函数 - 条件表达式
(2) 分组函数
六、 子查询
七、 SET运算符
八、 视图
a. 创建视图
b. 修改视图
c. 屏蔽操作视图
d. 删除视图
e. TOP-N分析
一、创建与管理表
创建表的命名规则
- 表名和列名:
- 必须以字母开头
- 必须在 1–30 个字符之间
- 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
- 必须不能和用户定义的其他对象重名
- 必须不能是Oracle 的保留字
数据类型
- VARCHAR2(size) 可变长字符数据
- CHAR(size) 定长字符数据
- NUMBER(p,s) 可变长数值数据
- DATE 日期型数据
- LONG 可变长字符数据,最大可达到2G
- CLOB 字符数据,最大可达到4G
- RAW (LONG RAW) 原始的二进制数据
- BLOB 二进制数据,最大可达到4G
- BFILE 存储外部文件的二进制数据,最大可达到4G
- ROWID 行地址
(1)创建CREATE TABLE 语句
必须具备: - CREATE TABLE权限
- 存储空间
必须指定 - 表名(Table_name)
列名(Column_names), 数据类型(data_type), 尺寸
CREATE TABLE Table_name(
Column_names data_type,
Column_names data_type,
Column_names data_type
)
如:create table EMP(
sno Char(3),
sname varchar2(8),
Ssex varchar2(2),
Sbirthday date,
Class Char(5)
)
EMP 表
sno | sname | Ssex | Sbirthday | Class |
---|---|---|---|---|
复制现有表:create table emp1 as select * from emp;/新建emp1表复制emp表数据/
Emp表
sno | sname | Ssex | Sbirthday | Class |
---|---|---|---|---|
001 | 张三 | 26 | 1998-01-01 | 1701 |
Emp1表
sno | sname | Ssex | Sbirthday | Class |
---|---|---|---|---|
001 | 张三 | 26 | 1998-01-01 | 1701 |
复制现有表并且表为空:create table emp2 as select * from emp where 1=2;/emp2为空表/
Emp表
sno | sname | Ssex | Sbirthday | Class |
---|---|---|---|---|
001 | 张三 | 26 | 1998-01-01 | 1701 |
Emp2表
sno | sname | Ssex | Sbirthday | Class |
---|---|---|---|---|
(2)列ALTER TABLE 语句
ADD-追加新的列
为新追加的列定义默认值
MODIFY-修改现有的列
DROP COLUMN-删除一个列
RENAME COLUMN ···TO···-重命名表的一个列名
如:
追加新列
ALTER TABLE EMP
ADD (cno_id VARCHAR2(6))
±-------±---------±-----------±--------±----------±----------+
| sno | sname | Ssex |Sbirthday| Class | sno_id |
±-------±---------±-----------±--------±----------±----------+
| | | | | | |
±-------±---------±-----------±--------±----------±----------+
修改列类型
ALTER TABLE EMP
MODIFY(sno_id VARCHAR2(10))
将sno_id VARCHAR2(6)的类型改成了VARCHAR2(10)
重命名列
ALTER TABLE EMP
RENAME COLUMN sno_id TO id;
±-------±---------±-----------±--------±----------±----------+
| sno | sname | Ssex |Sbirthday| Class | id |
±-------±---------±-----------±--------±----------±----------+
| | | | | | |
±-------±---------±-----------±--------±----------±----------+
删除列
ALTER TABLE EMP
D