Oracle用户与空间
笔记时间:2016年10月31日
Oracle内事问百度外事问谷歌
表操作
创建表: create table table_name(表名)( name varcha2(30), //default sysdate 为时间字段添加默认值 //获取当前日期的函数:sysdate regdate date default sysdate ..... );修改表结构: 添加字段: alter table table_name(表名) add column_name(字段名称) datatype(数据类型); 修改字段数据类型(长度或直接更换数据类型): alter table table_name(表名) modify column_name(字段名称) datatype(数据类型); 删除字段: alter table table_name(表名) drop column column_name(字段名称); 修改字段名: alter table table_name(表名) rename column column_name(原字段名) to new_column_name(新字段名) 修改表名: rename table_name(原表名) to new_table_name(新表名)删除表: 删除表内全部数据不删除表(截断表): truncate table table_name(表名) 删除表: drop table table_name表内数据操作: 添加数据: insert into table(表名) (column1(字段名1),column2(字段名2))(不写默认所有) values (value1(对应字段名1的值),value2(对应字段名2的值)) 复制表数据: 在创建时复制: create table table_new(表名) as select *|(某些字段) from table_name(表名); 在添加时复制: insert info table_new(表名) (字段)|(默认不写全部) select (字段)|* from table_name(表名); 修改数据: 修改全部: update table_name set column(字段)=value(值); 以条件修改: update table_name set column(字段)=value(值) where column = value; 删除数据: 删除表的全部数据: delete from table_name(表名); 条件删除数据: delete from table_name(表名) where column(字段)=value(值)约束: 约束定义规则、确保完整性。 非空约束: 创建表时设置非空约束: create table table_name(表名) ( //datetype 后添加约束 name varcha2(20) not null, .... ) 修改表时添加非空约束: alter table table_name(表名) modiby column(字段) datetype(数据类型) not null; 修改表时取出非空约束: alter table table_name(表名) modiby column(字段) datetype(数据类型) null; 主键约束:primary key 主键约束是唯一的并且不可为空. 一张表只可以设计一个主键约束. 主键约束可以由多个字段构成(联合主键或符合主键) 创建表时设置主键约束: create table table_name(表名)( id number primary key, ... ); 创建表时设置多个字段的主键约束(表级约束) create table table_name(表名)( id number, name varcha2(10), .... constraint constraint_name(约束的名字:一般以pk开头_其他字段) primary key (column1(字段),column2(字段)) ); 修改表时设置主键约束(可以多个可以单个): later table table_name(表名) add constraint constraint_name(约束名) primary key (column_name1(字段1),column_name2(字段2)); 删除主键约束: //禁用约束 alter table table_name(表名) disable constraint constraint_name(约束名); //启动约束 alter table table_name(表名) enable constraint constraint_name(约束名); //删除约束1 alter table table_name(表名) drop constaint constraint_name(约束名); //删除约束2 alter table table_name(表名) drop primary key;(cascade可以级联删除,关联外键) 外键约束:foreign key //外键约束字段类型必须与主表的类型一致 创建表时设置外键约束: create table table_name1(从表名1) ( column1(字段) datetype(数据类型) references table_name2(主表名2) (字段), ... ); 创建表尾部时设置外键约束: create table table_name1(从表名1)( column1(字段) datetype(数据类型) primary key, column2(关联主表字段) datetype(数据类型), constraint fk_(约束名_字段名) foreign key (column2(从表字段名)) references table_name2(主表名2) (column2(主表关联字段)) //可加级联删除 no delete cascade ); 修改表时设置外键约束: later table table_name1(从表名1) add constraint fk_(约束名_字段名) foreign key (column2(从表字段名)) references table_name2(主表名2) (column2(主表关联字段)) //可加级联删除 no delete cascade 删除外键约束: //禁用约束 alter table table_name(表名) disable constraint constraint_name(约束名); //启动约束 alter table table_name(表名) enable constraint constraint_name(约束名); //删除约束1 alter table table_name(表名) drop constaint constraint_name(约束名); 唯一约束:unique 唯一约束允许有一个空值 唯一约束可以在每张表中有多个 创建表时设置唯一约束: create table table_name(表名)( column1(字段名) datetype(数据类型) unique, .... ); 创建表时设置唯一约束:表级约束 create table table_name(表名)( column1(字段名) datetype(数据类型) , ...., constraint constraint_name(约束名) unique(column(字段名)) ); 修改表时设置唯一约束: alter table table_name(表名) add constraint constraint_name(约束名) unique(column(字段名)); 删除唯一约束: //禁用约束 alter table table_name(表名) disable constraint constraint_name(约束名); //启动约束 alter table table_name(表名) enable constraint constraint_name(约束名); //删除约束 alter table table_name(表名) drop constaint constraint_name(约束名); 检查约束:check 检查约束会使表中的值更具有实际意义 使赋予的值满足一定条件更有实际意义 创建表时设置检查约束: create table table_name(表名)( column_id(字段名) datetype(数据类型), column(字段名) datetype(数据类型) check(column > 0) ); 创建表时设置表级检查约束: create table table_name(表名)( column_id(字段名) datetype(数据类型), column(字段名) datetype(数据类型) , constraint constraint_name check(column > 0) ); 修改表时设置检查约束: alter table table_name(表名) add constrint constrint_name(约束名) check(column > 0); 删除检查约束: //禁用约束 alter table table_name(表名) disable constraint constraint_name(约束名); //启动约束 alter table table_name(表名) enable constraint constraint_name(约束名); //删除约束1 alter table table_name(表名) drop constaint constraint_name(约束名); 约束总结: 一张表只能有一个主键约束,主键约束可以由多个字段组成。 外键约束是涉及到多表关联. 非空约束只能设置列级,不能设置表级. 数据字典查找约束名字: desc user_constraint select constraint_name,constraint_type,table_name from user_constrint where table_name = '表名' 更改约束名称: alter table table_name(表名) rename constraint old_name(原约束名) to new_name(新约束名)