Oracle速查语法:DDL(数据定义语言)

+目录

.

创建表

CREATE TABLE <table_name>( 
column1 DATATYPE [NOT NULL] [PRIMARY KEY], 
column2 DATATYPE [NOT NULL],

… [constraint <约束名> 约束类型 (要约束的字段) … ] )

说明:  DATATYPE –是Oracle的数据类型,可以查看附录。 NUT NULL –可不可以允许资料有空的(尚未有资料填入)。
PRIMARY KEY –是本表的主键。 constraint –是对表里的字段添加约束.(约束类型有
Check,Unique,Primary key,not null,Foreign key)。

示例:

create table stu(
s_id number(8) PRIMARY KEY,
s_name varchar2(20) not null,
s_sex varchar2(8),
clsid number(8),
constraint u_1 unique(s_name),
constraint c_1 check (s_sex in ('MALE','FEMALE'))
);

复制表


CREATE TABLE as

create table test as select * from emp;

如果只复制表的结构不复制表的数据则:

create table test as select * from emp where 1=2;

.

创建索引


CREATE [UNIQUE] INDEX <index_name> ON <table_name>(字段 [ASC|DESC]);

UNIQUE –确保所有的索引列中的值都是可以区分的。
[ASC|DESC] –在列上按指定排序创建索引。

(创建索引的准则:
1.如果表里有几百行记录则可以对其创建索引(表里的记录行数越多索引的效果就越明显)。
2.不要试图对表创建两个或三个以上的索引。
3.为频繁使用的行创建索引。 )

示例

create index i_1 on emp(empno asc); 

.

创建同义词


CREATE SYNONYM <synonym_name> for <tablename/viewname>

同义词即是给表或视图取一个别名。

示例:

create synonym mm for emp; 

.

修改表


1.向表中添加新字段

ALTER TABLE <table_name> ADD (字段1 类型 [NOT NULL],
字段2 类型 [NOT NULL]
.... );

2.修改表中字段

ALTER TABLE <table_name> modify(字段1 类型,
字段2 类型
.... );

3 .删除表中字段

ALTER TABLE <table_name> drop(字段1,
字段2
.... );

4 .修改表的名称

RENAME <table_name> to <new table_name>;

5 .对已经存在的表添加约束

ALTER TABLE <table_name> ADD CONSTRAINT <constraint_name> 约束类型 (针对的字段名);

示例:

Alter table emp add constraint S_F Foreign key (deptno) references dept(deptno); 

6 .对表里的约束禁用;

ALTER TABLE <table_name> DISABLE CONSTRAINT <constraint_name>;

7 .对表里的约束重新启用;

ALTER TABLE <table_name> ENABLE CONSTRAINT <constraint_name>;

8 .删除表中约束

ALTER TABLE <table_name> DROP CONSTRAINT <constraint_name>;

示例:

ALTER TABLE emp drop CONSTRAINT <Primary key>; 

.

删除表

DROP TABLE <table_name>;

示例

drop table emp; 

.

删除索引

DROP INDEX <index_name>;

示例

drop index i_1; 

.

删除同义词

DROP SYNONYM <synonym_name>;

示例

drop synonym mm; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值