当前位置: 数据库>oracle
oracle学习笔记(三)
来源: 互联网 发布时间:2014-09-07
本文导语: 一、创建和管理表 1、创建表语法 create table 表名(column datatype [default expr][,column ...]) default 约束 说明略 2、利用子查询创建表 create table 表名 as select * from u表 二、修改表 1、添加一个新列 oracle:alter table table_name add(column datatype [...
一、创建和管理表
1、创建表语法
create table 表名(column datatype [default expr][,column ...])
default 约束 说明略
2、利用子查询创建表
create table 表名
as
select * from u表
二、修改表
1、添加一个新列
oracle:alter table table_name
add(column datatype [default expr][,column datatype]...);
2、修改现有的列(修改类型,大小,默认值)
oracle:alter table table_name
modify(column datatype [defaullt expr][,column datatype]...)
3、删除列
alter table table_name drop column(关键字) 列1
集中删除列
alter table table_name set unused column 列1
alter table table_name drop unused columns;
三、删除表
drop table 表名;删除表后自动提交,不能rollback回来。
重名表:rename 表名 to 新表名
高效清空一张表,用truncate 删除时不做日志记录也就是不能用rollback回滚回来。
truncate table 表名
用delete删除后,可以后悔,回滚回来。
给一张表做注释
comment on table tb_u_1 is '用户表用来存放用户信息....'
四,添加约束
create table table_name
(id int not null,
lname varchar(20),
fname varchar(20),
constraint un_key_1 unique(lname,fname)
)
alter table 表名 add constraint ch_1 check(column1 like 'k%');
在添加数据时如果column1的数据中没有k则添加失败
添加主键约束
oracle/sql:aleter table 表名1 add constraint pk_1 primary key(column1);
添加外键
oracle/sql:aleter table 表名2 add constraint fk_1 foreign key(column1) references 表名1(column1);
删除主键约束
oracle/sql:alter table tb_name drop constraint p1
alter table 表名2 drop constraint fk_1 cascade;
sql:查询主键是否存在p1
if exists(select * from sysobjects where name='p1')
select * from user_constraint
select constraint_name,column_name from user_cons_columns where table_name=''
五、创建视图Create View
create [or replace] [force|noforce] view view_name
[]
as subquery
[with check option [constraint 11]]
[with read only [constraint 22]]
创建一个视图或重定义一个视图
create or replace view view_name as subquery
如果表table_1不存在,则使用force 创建视图会成功,否则会报表不存在错误。
create force view v_name as select * from table_1
使用视图修改数据
create view view_001
as
select * from table_001 where id
1、创建表语法
create table 表名(column datatype [default expr][,column ...])
default 约束 说明略
2、利用子查询创建表
create table 表名
as
select * from u表
二、修改表
1、添加一个新列
oracle:alter table table_name
add(column datatype [default expr][,column datatype]...);
2、修改现有的列(修改类型,大小,默认值)
oracle:alter table table_name
modify(column datatype [defaullt expr][,column datatype]...)
3、删除列
alter table table_name drop column(关键字) 列1
集中删除列
alter table table_name set unused column 列1
alter table table_name drop unused columns;
三、删除表
drop table 表名;删除表后自动提交,不能rollback回来。
重名表:rename 表名 to 新表名
高效清空一张表,用truncate 删除时不做日志记录也就是不能用rollback回滚回来。
truncate table 表名
用delete删除后,可以后悔,回滚回来。
给一张表做注释
comment on table tb_u_1 is '用户表用来存放用户信息....'
四,添加约束
create table table_name
(id int not null,
lname varchar(20),
fname varchar(20),
constraint un_key_1 unique(lname,fname)
)
alter table 表名 add constraint ch_1 check(column1 like 'k%');
在添加数据时如果column1的数据中没有k则添加失败
添加主键约束
oracle/sql:aleter table 表名1 add constraint pk_1 primary key(column1);
添加外键
oracle/sql:aleter table 表名2 add constraint fk_1 foreign key(column1) references 表名1(column1);
删除主键约束
oracle/sql:alter table tb_name drop constraint p1
alter table 表名2 drop constraint fk_1 cascade;
sql:查询主键是否存在p1
if exists(select * from sysobjects where name='p1')
select * from user_constraint
select constraint_name,column_name from user_cons_columns where table_name=''
五、创建视图Create View
create [or replace] [force|noforce] view view_name
[]
as subquery
[with check option [constraint 11]]
[with read only [constraint 22]]
创建一个视图或重定义一个视图
create or replace view view_name as subquery
如果表table_1不存在,则使用force 创建视图会成功,否则会报表不存在错误。
create force view v_name as select * from table_1
使用视图修改数据
create view view_001
as
select * from table_001 where id