SQL 表操作与回收站管理

SQL 表操作与回收站管理学习笔记

在 SQL 中,表操作和回收站管理是数据库管理的重要部分。

1. 创建表

语法:

1
2
3
4
5
CREATE TABLE 表名 (
列名1 数据类型 [约束],
列名2 数据类型 [约束],
...
);

示例:

1
2
3
4
5
6
7
8
-- 创建 PERSON 表
CREATE TABLE PERSON (
PID VARCHAR2(18),
NAME VARCHAR2(30),
AGE NUMBER(3),
BIRTHDAY DATE,
SEX VARCHAR2(2) DEFAULT '男' -- 性别
);

2. 插入数据

语法:

1
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);

示例:

1
2
-- 插入数据
INSERT INTO PERSON (PID, NAME) VALUES (1, 'aaaaa');

3. 添加表和列的注释

(1)添加列注释

1
2
3
4
5
-- 为 PID 列添加注释
COMMENT ON COLUMN PERSON.PID IS '编号';

-- 为 NAME 列添加注释
COMMENT ON COLUMN PERSON.NAME IS '姓名';

(2)添加表注释

1
2
-- 为 PERSON 表添加注释
COMMENT ON TABLE PERSON IS '个人信息表';

4. 删除表

(1)DROP TABLE:删除表

1
2
-- 删除 PERSON 表
DROP TABLE PERSON;

(2)PURGE:彻底删除表(不进入回收站)

1
2
-- 彻底删除 PERSON 表
DROP TABLE PERSON PURGE;

5. 修改表结构

(1)添加列

1
2
-- 添加 ADDRESS 列
ALTER TABLE PERSON ADD (ADDRESS VARCHAR2(10) DEFAULT '北京');

(2)删除列

1
2
-- 删除 ADDRESS 列
ALTER TABLE PERSON DROP COLUMN ADDRESS;

(3)修改列数据长度

1
2
-- 修改 NAME 列的长度为 3
ALTER TABLE PERSON MODIFY (NAME VARCHAR2(3));

(4)修改列数据类型

1
2
-- 修改 PID 列的数据类型为 NUMBER(3)
ALTER TABLE PERSON MODIFY (PID NUMBER(3));

(5)重命名表

1
2
-- 将 PERSON 表重命名为 TAB_PERSON
RENAME PERSON TO TAB_PERSON;

(6)重命名列

1
2
-- 将 NAME 列重命名为 PNAME
ALTER TABLE TAB_PERSON RENAME COLUMN NAME TO PNAME;

6. 查询表和列的注释

(1)查询表注释

1
2
-- 查询 PERSON 表的注释
SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME = 'PERSON';

(2)查询列注释

1
2
-- 查询 PERSON 表的列注释
SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'PERSON';

7. 回收站管理

(1)查询回收站信息

1
2
3
4
5
-- 查询回收站中的表
SELECT * FROM TAB WHERE TNAME LIKE '%BIN%';

-- 查看回收站信息(SQL*Plus 中使用)
SHOW RECYCLEBIN;

(2)清空回收站

1
2
3
4
5
-- 清空回收站
PURGE RECYCLEBIN;

-- 清空回收站中的某张表
PURGE TABLE PERSON;

(3)闪回表

1
2
3
4
5
-- 闪回表到删除前的状态
FLASHBACK TABLE "BIN$dXCzVWpETyqj+qFsQ7iKoA==$0" TO BEFORE DROP;

-- 闪回表并重命名
FLASHBACK TABLE PERSON TO BEFORE DROP RENAME TO ABC;

(4)关闭和开启回收站

1
2
3
4
5
-- 关闭当前会话的回收站
ALTER SESSION SET RECYCLEBIN = OFF;

-- 开启当前会话的回收站
ALTER SESSION SET RECYCLEBIN = ON;

8. 综合示例

(1)创建表并插入数据

1
2
3
4
5
6
7
8
9
10
11
-- 创建 PERSON 表
CREATE TABLE PERSON (
PID VARCHAR2(18),
NAME VARCHAR2(30),
AGE NUMBER(3),
BIRTHDAY DATE,
SEX VARCHAR2(2) DEFAULT '男'
);

-- 插入数据
INSERT INTO PERSON (PID, NAME) VALUES (1, 'aaaaa');

(2)添加注释

1
2
3
4
5
6
-- 添加列注释
COMMENT ON COLUMN PERSON.PID IS '编号';
COMMENT ON COLUMN PERSON.NAME IS '姓名';

-- 添加表注释
COMMENT ON TABLE PERSON IS '个人信息表';

(3)修改表结构

1
2
3
4
5
6
7
8
9
10
11
-- 添加 ADDRESS 列
ALTER TABLE PERSON ADD (ADDRESS VARCHAR2(10) DEFAULT '北京');

-- 修改 NAME 列的长度
ALTER TABLE PERSON MODIFY (NAME VARCHAR2(3));

-- 重命名表
RENAME PERSON TO TAB_PERSON;

-- 重命名列
ALTER TABLE TAB_PERSON RENAME COLUMN NAME TO PNAME;

(4)删除表并闪回

1
2
3
4
5
6
7
8
-- 删除表
DROP TABLE TAB_PERSON;

-- 闪回表
FLASHBACK TABLE TAB_PERSON TO BEFORE DROP;

-- 查询表
SELECT * FROM TAB_PERSON;

9. 总结

  1. 创建表:使用 CREATE TABLE 语句创建表。
  2. 插入数据:使用 INSERT INTO 语句插入数据。
  3. 添加注释:使用 COMMENT ON 语句为表和列添加注释。
  4. 修改表结构:使用 ALTER TABLE 语句添加、删除、修改列或重命名表。
  5. 回收站管理:使用 PURGEFLASHBACK 语句管理回收站中的表。

SQL 表操作与回收站管理
https://blog.pangcy.cn/2018/09/25/数据库相关/Oracle/SQL 语法/SQL 表操作与回收站管理/
作者
子洋
发布于
2018年9月25日
许可协议