当前位置: 代码迷 >> SQL >> oracle表的操作篇(sql话语)
  详细解决方案

oracle表的操作篇(sql话语)

热度:67   发布时间:2016-05-05 15:09:55.0
oracle表的操作篇(sql语句)

这篇文章的内容包括:表的増删改查,字段的増删改查,主键、外键、唯一、非空、默认约束的増删改


查看自己用户的所有表:
select * from user_tab_comments;

?

创建表:
??? create table cqytest(
??? ?? id number(1),
??? ?? username varchar2(11),
??? ?? password varchar2(11)--最后一个字段后面必须没有逗号
??? )tablespace cqyspace;
复制表:
??? create table test1 as select * from cqy.cqytest;? --复制cqy用户的cqytest表
删除表:
??? drop table test1 cascade constraints;
给表添加注释:
??? comment on table cqytest is '我的测试表';

给字段添加注释:
??? comment on column cqyt1.id is '主键';


修改字段名:
??? alter table cqytest rename column id to userid;
添加字段:
??? alter table cqytest add email varchar2(11);
删除字段:
??? alter table cqytest drop column email;
修改字段类型:
??? alter table cqytest modify email varchar2(20);

?

查询所有约束:

??? select constraint_name from user_cons_columns;

建表时添加默认值、主键、外键,非空约束
??? create table cqyt1(
??? ?? id number(11) not null primary key,--非空,主键,唯一(unique),foreign key id references cqytable
??? ?? groupid number(11) check(groupid>22 and groupid<33),--条件约束
??? ?? username varchar2(20),
??? ?? password varchar2(20)
??? )tablespace cqyspace;

??? create table cqyt2(
??? ?? id number(11),foreign key (id) references cqyt1(id),--建表时添加外键
??? ?? username varchar2(20),
??? ?? password varchar2(20)
??? )tablespace cqyspace;

建表后添加主键
??? alter table cqyt2 modify (id primary key); --不带约束名
??? alter table cqyt add constraint cqyt_pk_id primary key(id);--cqyt_pk为约束名
建表后添加外键
??? alter table cqyt4 add constraint cqyt4_fk_cqyt1_id foreign key (id) references cqyt1(id);
建表后添加非空约束
??? alter table cqyt2 modify (username not null);
建表后添加唯一性约束
??? alter table cqyt2 modify (username unique);
建表后添加默认值
??? alter table cqyt2 modify username default 'uu';
建表后添加条件约束
??? alter table cqyt2 add constraints cqyt2_ck_id check (id>11 and id<20);
删除约束
??? alter table cqyt4 drop constraint cqyt4_pk;

?

以上内容包括“表的増删改查”,“字段的増删改查”,“主键、外键、唯一、非空、默认约束的増删改”
练习时自然是安装以上内容的顺序不看文章自己手动敲出来

  相关解决方案