首页 > 开发 > Oracle > 正文

Oracle基础应用知识总结

2016-07-25 21:38:39  来源:慕课网
  ---查看数据字典
  desc user_tablespaces 用户表空间
  desc user_users 用户信息
  desc user_constraints 主键信息
  desc user_tables 用户所有表
  --添加dbf文件
  alter tablespace tablespace_name add datefiletempfile 'xxx.dbf' size xxm [reuse--是否覆盖];
  ---添加主键约束
  create table TestTable(id int primary key )
  add constraint constraint_name primary key(column_name1,....)
  ---组合键约束
  create table Test1(id number(6,0),
username nvarchar2(20),
passwd nvarchar2(20),
constraint pk_id_username primary key(id ,username)
)
  --修改表主键
  alter table tablename add constraint key_name primary key (columnname);
  --修改约束的名称
  alter table tablename rename constraint key_name to new_key_name;
  --开启约束
  alter table name disableenable constraint key_name;
  --删除约束
  alter table table_name drop contraint key_name;
  drop primary key [cascade]
  --外键约束
  create table table_name (column1_name type references table2_name(column_name),.....)
  create table table1_name (id type , constraint constraint_name foreign key (id) references table_name(column_name) on delete cascade);
  alter table table_name add constraint constraint_name foreign key(column1_name) references table2_name(column_name) on delte cascade;
  --禁用外键约束
  alter table table_name disableenable constraint key_name
  --w唯一约束
create table table_name (id int unique)
  create table table_name(id number(6,0),constraint id unique)
  --检查约束
  Create table table_name(column_name datetype check(condition),....)
  add constraint constraint_name check(condition)
  alter table table_name drop constraint constraint_name ;
  --小结
1.非空约束只能在列级约束,其他约束可以在表级也可以在列级
2.在修改表的时添加约束,非空约束使用modify进行更改
3.数据字典,user_constraints.灵活使用
4.修改constraint_name :alter table tabl_name rename constraint_name to new constraint
5.关闭约束: alter table table_name disableenable constraint constraint_name
  ---在sql*plus中的显示
  col username heading 用户名; 设置默认列名
  col username format a10;
  col username format $9999.9 设置数值长度
  --逻辑运算符
  !>and > or
  --范围运算符
  select * from user_table where column_name (not) between 800 and 2000;
  --case when 使用
  --1. CASE column_name when value1 then result1 when ....[else] end
--2. case when column=value1then result1 ,when .....,else vluesN end as columnNew
  select case username when aaa then '市场部' when 'bbbb' then '计算机部门' else '其他部门' end as 部门列表 from users;
  select case username,case when username='aaa' then '计算机' when nusername='bbb' when '市场部' else as '其他部门' end as '其他部门' from users;
  --decode函数使用
  select username,decode(username,'aaaa','计算机部门','bbbb','市场部','其他部门')as 部门 from users