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的表级约束方式,可以用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 约束
联系客服