oracle 表类型操作,oracle 表操作

本文记录 oracle 环境下对表的创建、字段处理(增、删、改、重命名)、删除、重命名操作,其中包含了在创建表时常用的约束条件及数据类型。

最简单的创建表命令

CREATE TABLE dept(deptno NUMBER(2),

dname VARCHAR2(14),

loc VARCHAR2(13));

创建后表结构如下:

d84f7aca868de7cf75caa5c99b908223.png

常见数据类型

在创建表时,每一个字段你都需要给其指定数据类型,oracle 有非常多的数据类型,但是有一些是不常用的,下表列出了一些经常使用的数据类型。

数据类型

描述

VARCHAR2(size)

可变长字符数据

CHAR(size)

定长字符数据

NUMBER(p,s)

可变长数值数据

DATE

日期型数据

LONG

可变长字符数据,最大可达到 2G

CLOB

字符数据,最大可达到 4G

RAW and LONG RAW

原始的二进制数据

BLOB

二进制数据,最大可达到 4G

BFILE

储存外部文件的二进制数据,最大可达到 4G

ROWID

行地址

修改表字段信息

在已经创建的表中,我们可以对其字段(列)信息进行修改,具体的修改有如下几种。

1、添加新字段

ALTER TABLE dept ADD (job_id, VARCHAR2(9)) /* 给dept表新增一个字段job_id,数据类型为 VARCHAR2(9) */

2、修改字段信息

ALTER TABLE dept MODIFY (last_name, VARCHAR2(30)) /* 修改已有字段信息 */

3、重命名字段

ALTER TABLE dept RENAME COLUMN last_name to last_name_new

4、删除字段

ALTER TABLE dept DROP COLUMN (last_name)

删除表

oracle 下删除一张表默认情况下是存入到 oracle 的回收站中,如下:

drop table tablename

要想彻底删除,还要对回收站进行清空:

purge recyclebin

如果向直接删除不经过回收站,可以使用如下方法:

drop table test1 purge /* 直接删除表不经过回收站 */

重命名表

rename test1 to test2

常见表字段约束

Not Null:保证列的值不能为空

Unique:保证字段数据不重复,唯一

Primary Key:主键约束,默认主键约束包含 Not Null 和 Unique

Foreign Key:外键约束,关联另外一张表的一个主键

FOREIGN KEY: 在子表中,定义了一个表级的约束

REFERENCES: 指定表和父表中的列

ON DELETE CASCADE: 当删除父表时,级联删除子表记录

ON DELETE SET NULL: 将子表的相关依赖记录的外键值置为null

check:定义每一行记录所必须满足的条件

一个综合案例:

/* constraint 是声明一种错误名称,当对该表插入数据时不符合后面的约束条件时,则会弹出 constraint 后面的错误名称 */

create table student

(

sid number constraint student_pk primary key,/*number类型,primary key为主键*/

sname varchar2(20) constraint student_name_not_null not null,/*varchar2 不能为null*/

email varchar2(20) constraint student_email_unique unique/*varchar2 不能重复*/

constraint student_email_notnull not null,/*不能为null*/

age number constraint student_age_min check(age > 10),/*检查条件 age 必须大于10*/

gender varchar2(6) constraint gender_female_or_male check(gender in ('man', 'wman')),/*只能插入 man 或者 woman*/

deptno number constraint student_fk references dept(deptno) on delete set null/*增加外键为dept(deptno)*/

)

相关

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值