打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
建表与alter表以及建表的约束性
userphoto

2014.10.30

关注

1、create table t(id int) tablespace users; 表明t放在users表空间中


2、 alter table table_name modify id varchar2(10);  --修改列名类型

alter table table_name add column_name varchar2(10);--增加列

alter table table_name drop column_name varchar2(10);--删除列

ALTER TABLE test RENAME COLUMN id TO idd; -- 改列名

ALTER TABLE test RENAME TO test2;  --改表名


ALTER TABLE table_name READ ONLY; 表只读

ALTER TABLE table_name READ WRITE ; 表读写


ALTER TABLE t SET UNUSED COLUMN b;--设置列不可用 (注意,该操作只听说要修改回可用状态需要去修改数据字典dict。而有说法是说不可逆的。这待证明)


1、查看表结构

Desc tablename

SELECT DBMS_METADATA.GET_DDL('TABLE','tablename') FROM DUAL;

Eg:SELECT DBMS_METADATA.GET_DDL('TABLE','T') FROM DUAL;

 
 

表注释、列注释:

user_tab_comments查找

 Eg:select * from user_tab_comments where table_name='T' AND comments is not null;


4、约束:

NOT NULL           不能为空
UNIQUE    唯一
PRIMARY KEY    主键
FOREIGN KEY    外键
CHECK     检查


--UNIQUE 该列的值可以为空

(在此注意,null与null是不相等的,故可以无限添加该列为空的unique列)


除了not null是行级约束外,其他四种都具有行级约束跟表级约束。

行级约束只能针对一列;表级约束,可针对多列


-- not null的表级约束方式,可以用check来实现 

create table t_null(
id number(10),
name varchar2(10),
check(id is not null) 
); 


行级约束:

create table t_unique(
  id number(10) constraint t_uk unique,  --写在行上,表示行级约束
name varchar2(10)); 


表级约束:

create table t_unique(
  id number(10),
name varchar2(10),
unique(id) --表级约束
); 


组合约束:

create table t_unique(
  id number(10),
name varchar2(10),
unique(id,name)--这个类似外键约束(组合约束)
); 


-- 主键约束:primary key

主键,一张表只能有一个

主键约束 = 唯一约束 + not null 约束 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQL UNIQUE 约束
MySQL: (二) 约束那点事儿
SQL语句---创建表(约束的用法)
mysql 唯一约束
SQL语句的多表查询方式
MySQL 学习笔记 一
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服