1. 创建表
方法一:手动创建
--基本语法
CREATE TABLE [SCHEMA.] 表名
(
列名 类型 [默认值] [约束]
[...]
[主外键约束]
)
[TABLESPACE testTS] --指定表所在的表空间
[LOGGING|NOLOGGING] --指定是否创建日志
[STORAGE --指定表的存储策略
(
[INITIAL 第一个盘区大小]
[NEXT 后一个盘区大小]
[PCTINCREASE 盘区增长比率]
[MINEXTENTS 盘区数量下限]
[MAXEXTENTS 盘区数量上限]
)]
[CACHE|NOCACHE] --是否缓存表中的数据,默认为不缓存
--例如
CREATE TABLE EMP
(
EMPNO VARCHAR2(7),
NAME VARCHAR2(20) DEFAULT ' ',
SAL NUMBER(2,7) DEFAULT 0.0 NOT NULL,
HIREDATE DATE DEFAULT (to_date('18000101', 'yyyymmdd')),
PRIMARY KEY (EMPNO)
);
关于字段约束的说明:
常见的约束类型:
1> 主外键约束 :选取该字段作为表的主键或者外键
2> 唯一性约束 :该字段在表中唯一
3> 用户自定义约束 :用户自定义该字段必须遵循的规则
方法二:从复制已经存在的表的表结构
CREATE TABLE EMP3
AS
SELECT * FROM EMP2 WHERE 1 = 2;
方法三:复制已有表的结构并导如其中的数据
CREATE TABLE EMP3
AS
SELECT * FROM EMP2;
2. 修改表
--在表中增加列
ALTER TABLE EMP
ADD(
PHONE_NUMBER NUMBER(11)
)
--修改列的类型或约束
ALTER TABLE EMP
MODIFY(
PHONE_NUMBER VARCHAR2(11) DEFAULT ' '
)
--删除列
ALTER TABLE EMP
DROP COLUMN PHONE_NUMBER;
--重命名表
ALTER TABLE EMPLOYEE
RENAME TO EMP;
--修改表所在的表空间
ALTER TABLE EMP MOVE TABLESPACE RENJIETB;
--修改表的日志方式
ALTER TABLE EMP NOLOGGING;
--修改表的缓存方式
ALTER TABLE EMP CACHE;
--查看表结构(在sqlplus或者SqlDeveloper的命令模式下)
DESC EMP;
3. 删除表
DROP TABLE EMP CASCADE CONSTRAINT;
注意事项:
1:待删除的表一定要存在
2:删除的时候由于主外键的约束可能会出错,此时需要加上CASCADE CONSTRAINT
3:表drop之后表结构都不存在了,但是可以重做
truncate
删除表中的所有行,但表结构及其列、约束、索引等保持不变。对于有外键约束引用的表,不能使用 TRUNCATE,而应使用不带WHERE子句的DELETE语句。