欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

orcl创建表及管理表

程序员文章站 2023-11-14 17:30:46
常用的字段数据类型: .字符串(varchar2(n)) n表示保存最大长度,基本200作用。.整数(number(n)) n位的整数,也可用int代替.小数(number(n,m)) m为小数位,n-m为整数位,有时候用float代替.日期(date) 存放日期.大文本(clob) 存储海量文字( ......

常用的字段数据类型:

.字符串(varchar2(n)) n表示保存最大长度,基本200作用。
.整数(number(n)) n位的整数,也可用int代替
.小数(number(n,m)) m为小数位,n-m为整数位,有时候用float代替
.日期(date) 存放日期
.大文本(clob) 存储海量文字(4g)
.大对象(blob) 存放二进制数据,电影,图片,文字,mp3

---------------------------------------------------------------------------------------------

1、创建表:

create table 表名称 (字段1 数据类型[default 默认值][primary key],...) 

create table bqh3 (name varchar2(20) not null, sfz number(18) ,dz varchar2(30),constraint pk_sfz primary key (sfz));

2、表数据及表的复制:

cerate table bqh (select * from 已知表)----从已知表中只复制数据

create table bqh as selec * from 已知表; -----从已知表中复制数据和表结构

create table bqh as select  字段1,字段2 from 已知表 where 1=2;----从已知表复制指定字段包含数据

create table bqh as select * from 已知表 where 1=2; ----从已知表中复制结构但不包含表数据

3、插入数据:

insert into 表名 [(字段1,字段2)] values (值1,值2)----字段与列一一对应

insert into bqh (name,sfz,dz) values ('小白',130684,'xx区1幢');

insert into 表名 values 所有列的值;--------可以省略字段

insert into bqh  values ('小白',130684,'xx区1幢');

4、更新数据:

update 表 set 列=新的值 ----更新所有的数据

update bqh set sfz=130636

update 表 set 列=新的值 [where 条件] -----更新满足条件的数据

update bqh set sfz=130636 where name='小白'

--------------------------------------------------------------

select * from 表 for update   ----手动更新的数据

select * from bqh  for update

select * from 表 for update where 条件

select * from bqh  for update where sfz=130636  -----手动更新满足条件的数据

5、删除数据:

delete from 表名称 [where 删除条件...]

delete from 表名 where 条件 -----删除满足条件的数据

delete from bqh where sfz=130636;

delete frombqh ----删除所有数据

commit; 

rollback; 

 

查看回收站:show recyclebin

恢复表:flashback table 表名称 to before drop

例如:flashback table bqh to before drop

恢复表数据:rollback

例如:delete from bqh;

           rollback;

注意:

①事物的回滚:rollback 更新操作回到原点。

②事物的提交:commit 真正的更新,一旦提交无法回滚。

6、修改表结构:

alter table 表名称 add (列名称 数据类型 [default 默认值,...]) -----增加表字段

alter table bqh add (jf number(3) default 20)

alter table bqh modify (zf number(2) default 10) ------修改表字段

alter table bqh drop zf --------删除表字段

7、添加约束:

非空约束:not null不希望某字段为空

create table bqh (xh number,xm varcher2(20) not null)

唯一约束:unique 不希望某字段有重复值

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50) unique)

指定唯一约束错误提醒:

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50),constraint uk_email unique(email))

主键约束:primary key 非空约束+唯一约束例,如身份证

create table bqh (xm varcher2(20) not null,sfz number,constraint pk_sfz primary key (sfz))

检查约束:为某数据增加过滤条件,例如:年龄范围,性别等

create table bqh (xm varcher2(20) not null,xb varcher2(10) not null,age number(3),constraint ck_xb check (xb in ('男','女')),constraint ck_age check (age between 0 and 150))

外键约束:约束在两张(父子)表中进行,即字表某个字段的取值由父表决定。

例如:每个人有多本书,父表(人),子表(书)

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh))

删除数据时,如果主表中的数据有对应子表数据,应先删除子表记录,再删主表记录。但操作不方便,即可以建立外键约束的时候指定一个级联删除功能,当删除主表数据后,对应的子表中的数据相关联的数据希望将其设置为空。

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh)on delete set null)

8、修改约束:

为表增加约束

alter table 表名 add constraint 约束名称 约束类型(字段)

删除表中的约束

alter table 表名 drop constraint 约束名称

9、删除表:

drop table 表

drop table xm cascade constraint purge;  --------强制性删除表,不关心约束条件

drop table book cascade constraint purge; --------强制性删除表,不关心约束条件

感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。