重学编程之oracle的表内容

学无止境,两年的工作下很多知识都已忘记,学了新的忘了旧的,重学编程计划是为了回忆以前所学知识

oracle的数据类型

1).字符

char(n),nchar(n)      最大长度分别是2000和1000,填写的数据没有填充满,会自动补充空格

varchar2(n),nvarchar2(n)   最大长度分别是4000和2000,填写数据没有填写满不会补充空格

2).数值型

number(p,s)   p代表有效数字,s代表小数点长度

number(5,2)  代表有效数字是5位,保留两位小数,例如123.45

float(n)

3).日期型数据

DATE

TIMESTAMP

4).其他

BLOB   4GB字节 二进制储存

CLOB   4GB字节字符串储存

删除表

清空表

truncate table tablename;

删除表内容,表结构不删除

drop table tablename

删除表内容和结构

创建表附带默认时间

重学编程之oracle的表内容

创建表的时候复制其他的表

重学编程之oracle的表内容

当然,不使用*会获取固定的字段到新表

插入时也可以

insert into table_new [(column1,column2,.....)]  select column1,column2.... from table_old

约束

将字段的not null 改为 null

alter table  tablename  modify column varcahr(n) null
主键约束 (创建表时)

create table table_name(

column_name data type primary key,..)

后面单独设置约束,写在create里面

constraint constraint_name primary key (column1,column2,...)

查询约束,(约束的字典)

重学编程之oracle的表内容

添加主键

alter table  tablename add constraint constraint_name primary key  (column1,colum2,...)

修改主键

alter table tablename rename constraint old_name to new_name

禁用和启用主键约束

alter  table  tablename  disable|enable  constraint  constraint_name

删除主键约束

alter table tablename drop constraint constraint_name

alter table tablename drop primary key [cascade]   后面的可选参数时删除级联的外键

sqlplus 设置查询结果显示列名

column/col column_name heading new_name

重学编程之oracle的表内容

sqlplus设置显示结果长度

column/col column_name format new_name datatype

sqlplus设置显示清除

column/col column_name clean

decode函数

重学编程之oracle的表内容

外键约束

创建的时候将相关表的字段 添加reference tablename(column),关联到其他表的主键

或者在create底部添加contraint fk_name foreign key(thiskeyname)  references tablename(columnname)  [on delete cascade]

后面选填部分是级联删除

还有创建之后的新增外键 alter table add contraint fk_name foreign key(thiskeyname)  references tablename(columnname)  [on delete cascade]

唯一约束 unique

检查约束check