Oracle DDL

DDL语言

创建表

语法

1
2
3
4
5
create table schema.表名(     -- 如果不指定schema,则把表创建到默认的 schema
列名 列的类型 [列的约束],
列名 列的类型 [列的约束]
)
TABLESPACE tablespace_name; -- 指定表空间

示例

1
2
3
4
5
create table users(
id number,
username varchar2(20),
password varchar2(20)
);

复制表

语法

1
create table 表名 as 查询语句;

示例

1
2
3
create table emp_copy as 
select * from emp
;

删除表

语法

1
2
方式一:drop table 表名;
方式二:truncate table 表名;

示例

1
2
方式一:drop table emp_copy;
方式二:truncate table emp_copy;

修改表

1、添加一列

1
2
格式:alter table 表名 add 列名 列的类型;
演示:alter table users add phone varchar2(11);

2、修改列名

1
2
格式:alter table 表名 rename column 旧列名 to 新列名;
演示:alter table users rename column phone to mobile;

3、修改类型

1
2
格式:alter table 表名 modify 列名 列的类型;
演示:alter table users modify mobile char(11);

4、删除一列

1
2
格式:alter table 表名 drop column 列名;
演示:alter table users drop column mobile;

5、修改表名

1
2
格式:rename 旧表名 to 新表名;
演示:rename users to myusers;

表约束

语法

1
2
3
4
5
6
7
CREATE TABLE 表名(
列名 列的类型 primary key,--主键约束
列名 列的类型 not null,--非空约束
列名 列的类型 unique,--唯一约束
列名 列的类型 check(列名 in (检查列表)),--检查约束
constraint 约束名 foreign key(字段名) references 主表(被引用列)--外键约束
) ;

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--商品分类表
create table category(
cid number primary key,
cname varchar2(20)
);

--商品详情表
create table product(
pid number primary key,--主键约束
pname varchar2(50) not null,--非空约束
pimg varchar2(50) unique,--唯一约束
pflag varchar2(10) check(pflag in ('上架','下架')),--检查约束
cid number,
constraint FK_CATEGORY_ID foreign key(cid) references category(cid)--外键约束
);

三、修改

1、主键约束

1
2
3
4
5
6
添加
alter table product add constraint PK_PRODUCT_PID primary key(pid);
删除
alter table product drop constraint PK_PRODUCT_PID;
或者
alter table product drop primary key;

2、非空约束

1
2
3
4
添加
alter table product modify pname not null;
删除
alter table product modify pname null;

3、唯一约束

1
2
3
4
5
6
添加
alter table product add constraint UK_PRODUCT_PIMG unique(pimg);
删除
alter table product drop constraint UK_PRODUCT_PIMG;
或者
alter table product drop unique(pimg);

4、检查约束

1
2
3
4
添加
alter table product add constraint CK_PRODUCT_PFLAG check(pflag in ('上架','下架'));
删除
alter table product drop constraint CK_PRODUCT_PFLAG;

5、外键约束

1
2
3
4
添加
alter table product add constraint FK_PRODUCT_ID foreign key(cid) references category(cid);
删除
alter table product drop constraint FK_PRODUCT_ID;

Oracle DDL
https://flepeng.github.io/042-Oracle-22-命令-Oracle-DDL/
作者
Lepeng
发布于
2025年3月22日
许可协议