Oracle创建数据表、管理表

Oracle数据类型介绍:(字符型、数值型、日期型、其它类型)

char(n<2000),Nchar(n<1000),n代表的是存储的长度,char类型长度最长2000,Nchar最大长度为1000,设置之后固定长度的类型设置的长度为多大则该数据长度就位多大,倘若设置长度较大,数据比较小的情况下,会造成内存浪费,Nchar一般拿来存储汉字比较多以unicode形式存储。
varchar2(n<4000),Nvarchar2(n<2000),n代表的是存储的长度,varchar2类型长度最长4000,Nvarchar2最大长度为2000,长度是可变的且存储的数据为多长计算的结果就为多长,不会造成内存浪费,Nvarchar2一般拿来存储汉字比较多以unicode形式存储。
Number(P,S),数值型,P代表的是存储的有效值,S代表的是小数点保留的位数(常用)。
Float(n),存储形式存放的是二进制的数字,存储1-126位的数字。
Date,日期类型,可以精确到秒。
TimeStrap,时间戳类型,可以精确到小数秒。
BLOB,可以存放4GB的大数据,以二进制形式存储数据。
CLOB,可以存放4GB的大数据,以字符串形式存储数据。



管理数据表
1、用户数据表
create table table_name(
      column_name datatype,......);


2)、增加字段
alter table table_name add cloum_name datatype;

3)、修改字段类型
alter table table_name modify cloum_name datatype;

4)、删除字段
alter table table_name drop column column_name;

5)、修改字段名
alter table table_name rename column old_name to new_name;

6)、修改表名
rename old_tablename to new_tablename;

7)、删除表
A、truncate table table_name; 删除表中的所有数据,不删除表的结构,高效删除数据,也称截断表。
B、drop table table_name; 删除整个表以及表结构。



8)、向表中添加数据(键值一一对应,当不写列名的时候值需要对应表结构,当有设置默认值的时候无需添加值)。
insert info table_name (column_name1,column_name2,......) values(value1,value2,......);


9)、复制表结构宝库数据到新表中、部分字段复制到新表中
create table new_tablename (columnname1,columnname2,...) as select (columnname1,columnname2,...)/* from old_tablename;  


10)、在添加数据的时候将其它表的数据添加到新表中,(字段类型对应)。
insert into new_tablename (columnname1,columnname2,...)/* select  (columnname1,columnname2,...)/* from old_tablename;



11)、更新数据(有条件更新,无条件更新)
update set tablename (key1=value1,key2=value2,...) [ where Conditions];

12)、创建主键约束、联合约束(使用primary key关键字),主键约束保证了该字段中的值为唯一值。
create table table_name (column_name1 datatype primary key,column_name2 datatype,...);
create table table_name (column_name1 datatype,column_name2 datatype,...constraint constraint_name primary key(column_name1,column_name2,...)); 


13)、在修改表的时候创建主键约束(条件:添加的主键约束的原来的值中不允许有空值,否则设置失败)
alter table table_name add constraint constraint_name primary  key (column_name1,column_name2,...);

14)、修改表级constraint的名称
alter table table_name rename old_constraintname to new_constraintname;

15)、禁用/启用表级主键/外键/唯一/检查constraint的名称
alter table table_name disable/enable constraint constraint_name;


16)、删除主键/外键/唯一/检查约束
A、alter table table_name drop constraint constraint_name;
B、alter table table_name drop primary key(该方式只可以用来删除主键);



17)、创建外键约束条件(外键的数值类型必须和主表中的数值类型一致,可以为null,若插入的数据不一致将会报错),外键约束保证了与主表中的的主键值一一对应。
create table table_name(column_name1 datatype,column_name1 datatype references mastertable_name(mastercolumn_name),...);
table_name
:从表名称,references mastertable_name:设置关联主表的名称,mastercolumn_name:主表的主键约束;
'
18)、创建级联的外键约束条件
create table table_name(column_name1 datatype,column_name1 datatype,...,constraint constraint_name foreign key(pk_name) references mater_tablename(master_pk_name) [on delete cascade]);
table_name
:从表的名称,constraint_name:约束名称,pk_name:外键约束名称,master_tablename:主表名称,master_pk_name:主表的主键约束,on delete cascade:设置为级联删,外键约束条件与主键的主键约束相同的时候将会被删除。


19)、给未添加外键约束的表添加外键约束条件
alter table table_name add constraint constraint_name foreign key(pk_name) references master_tablename(master_pk_id) [on delete cascade];
table_name
:从表的名称,constraint_name:约束名称,pk_name:外键约束名称,master_tablename:主表名称,master_pk_name:主表的主键约束,on delete cascade:设置为级联删,外键约束条件与主键的主键约束相同的时候将会被删除。

20)、给表中设置唯一约束(使用关键字unique),保证该字段的数据的唯一性
A、create table table_name(column_name1 datatype,column_name2 datatype unique,...);
B、create table table_name(column_name1 datatype,column_name2 datatype,...,constraint constaint_name unique(column_name));

21)、在修改表的时候添加唯一约束条件

22)、设置检查约束,为了能够保证在一定条件下才能将数据保存到数据库表中
A、create table table_name(column_name datatype check(expressions),....);
B、create table table_name(column_name datatype,...,constraint constraint_name check(expressions));


23)、修改表的时候设置检查约束
alter table table_name add constraint constraint_name check(expressions);



拓展:
1、唯一约束和主键约束的区别
A、唯一约束允许有一个null值,主键约束不允许为空。
B、主键在每张表中只能有一个,唯一约束可以设置多个。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值