oracle的一些基本操作,Oracle表的一些基本操作

表名应该以字母开头,可以在表名中包含数字,下划线,#和$等。

一、创建表:

第一种:直接创建

create table 表名

(

field1 type[(size)] [index1],

field2 type[(size)] [index2],

......,

[[multifieldindex],...]

)

第二种:从其他表中创建表

create table表名 as select语句.但是这个select语句如果涉及到long数据类型,就不行了。

创建表时,把较小的不为空的字段放在前面。可以给字段加上约束条件。

添加列     alter table表名 add 列定义

更改列     alter table表名 modify (列名 新属性, ......);

删除列     alter table表名 drop column列名s [cascade constraint]

alter table表名 drop unused colunm

未用列     alter table表名 set unused column列名 [cascade constraint]

更改表名  rename原来表名 to 新表名

删除表     drop table表名 [cascade constraints]     删除表后,表上的索引,触发器,权限,完整性约束等都会被删除。

二、表的约束条件

1. check:

确保指定列中的值符合一定条件。check约束可以涉及该行的同属于check约束的其他数据列,但是不能涉及其他行或者其他表。单一的数据列可以有多个check保护,一个check约束可以保护多个数据列。可以在create table时创建check约束,也可以在alter table时修改表的约束。

其语句格式为   constraint [约束名] check(codition). 约束名不是必须的,但是最好有一个名字。下面是一个check约束的例子:

create table表名

(

a1 int constraintchka1 check(a1 in (1,0)),

a2 int

)

或者

alter table表名 add constraint(s) chka1 check(a1 in (1,0));

alter table表名 disable/enable/drop constraint(s) chka1;

2. not null:

它作用在单一数据列上,保证数据列必须要有数据值。当not null是在alter table时才添加上时,写法有所不同:

create table表名

(

a1 int not null,

a2 int

)

alter table表名 modifya2 not null

3. unique:

保证那些具有惟一性但又不是主键的一部分列的唯一性。可以保护多个列,唯一性约束与表一起创建,可以用alter table语句修改它:

create table表名

( a1 int unique,

a2 int)

alter table表名 add constraints 约束名 unique(列名s)

alter table表名 disable /enable/ drop constraint(s) 约束名

不能删除带有外键指向的表的唯一性约束,除非先禁用或者删除了外键。删除或者禁用唯一性约束通常会同时删除相关联的唯一索引,降低性能,要避免这种情况,可以在唯一性约束保护的数据列上先创建非唯一性索引,再添加唯一性约束。

4. primary key:

是表中的一列或者多列,决定表中每个行的唯一性,主键列必须是not null。如果是复合主键,要放入括号中。比如:

create table表名

(

stuid int,

courseid int,

primary key(列名1, 列名2, ......),

score float

)

alter table表名 add constraints主键名 primary key(列名s)

alter table表名 drop/disable/enable primary key(或者用名字);

5. foreign key:

下面是一个例子:

create tablea               create tableb

(                                   (

a1 int primary key,       b1 int primary key,

a2 int not null,              b2 int not null,

a3 int unique                )

)

create tablec

(

ca int,

cb int,

primary key(ca, cb),

constraint 外键名1 foreignkey(本表列1) references其他表(其他表中对应列),

constraint外键名2 foreignkey(本表列2) references其他表(其他表中对应列)

)

alter table表名 add constraints外键名 foreign key(本表列名) references 其他表(其他表中对应列);

alter table表名 disable/enable/drop constraints外键名

本文分享 CSDN - 田维常。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值