目录
表属于数据库对象的操作,对于数据库的对象操作只有三种语法:
- 创建对象:CREATE 对象类型 对象名称 ...;
- 删除对象:DROP 对象类型 对象名称 ...;
- 修改对象:ALTER 对象类型 对象名称 ...;
常见数据类型
类型 | 作用 |
VARCHAR2(n) | 表示字符串,其中n表示最大长度较小的内容。(200字符内皆可) |
NUMBER(N,M) | NUMBER(N):整数数据,最多不超过n个长度,可用IINT代替; NUMBER(n,m):小数位占n-m个,可用FLOAT代替 |
DATE | 保存日期时间数据 |
CLOB | 大文本数据,最多4G的文字 |
BCLOB | 二进制数据,最多4G的内容,可以是文字,图片,音乐,视频等 |
创建数据表
结构:CREAT TABLE 表名称(列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);
CREATE TABLE member(mid NUMBER,name VARCHAR2(50) DEFAULT '无名氏',age NUMBER(3),birthday DATE DEFAULT SYSDATE,note CLOB);
重命名数据表
RENAME member to person;
截断表
删除表若用DELETE FROM person;不能立刻释放所占资源(约束,索引)。
若用截断表可立刻释放所有所占资源,但仅属于Oracle数据库所有,非标准sql语句
TRUNCATE TABLE person;
复制表
根据子查询获得数据创建表,并将子查询的数据保存到新的数据表;
CREATE TABLE PERSON1 AS SELECT * FROM person;
仅复制表结构,而不要数据内容
WHERE子句为假不满足任何条件,但表的结构依旧可用
CREATE TABLE pee AS SELECT * FROM emp WHERE 1=2;
表的删除
执行操作后放入回收站,SELECT * FROM tab;可查看,以BIN$开头;例如BIN$5wsugU2TQjGNYLi1jFEc5Q==$0
DROP TABLE pee;
强制删除,执行后不会出现在回收站
DROP TABLE pee PURGE;
清除回收站的一个表
PURGE TABLE pee;
清空回收站的表
PURGE RECYCLEBIN;
闪回技术
仅Oracle数据库有,不属于标准SQL语法
恢复DROP删除的数据表
若用PURGE强制删除,则无法闪回
FLASHBACK TABLE pee TO BEFORE DROP;
添加表的列
结构:ALTER TABLE 表名称 ADD (列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);
ALTER TABLE person ADD (email VARCHAR(20));
修改表的列
结构:ALTER TABLE 表名称 MODIFY (列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);
ALTER TABLE person MODIFY(name VARCHAR(20));
删除列
格式:ALTER TABLE 表名称 DROP COLUMN 列名称;
ALTER TABLE person DROP COLUMN email;