重学编程之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
删除表内容和结构
创建表附带默认时间
创建表的时候复制其他的表
当然,不使用*会获取固定的字段到新表
插入时也可以
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,...)
查询约束,(约束的字典)
添加主键
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
sqlplus设置显示结果长度
column/col column_name format new_name datatype
sqlplus设置显示清除
column/col column_name clean
decode函数
外键约束
创建的时候将相关表的字段 添加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