ITPub博客

首页 > 数据库 > Oracle > 2.表和约束

2.表和约束

原创 Oracle 作者:zuiai510416 时间:2014-02-11 19:13:46 0 删除 编辑
----------------------------------------创建表
schema:一个用户的所有对象的集合
CREATE TABLE work_schedule
(work_schedule_id NUMBER,
start_date DATE,
status VARCHAR2(5) DEFAULT 'DOCK',  --设置缺省值
CONSTRAINT cruise_pk PRIMARY KEY (cruise_id) );
常用的数据类型:char;varchar;varchar2;date;
查看表结构:describe  work_schedule;
命名规则:1-30字符;不能使用关键字;
技巧:在给一个应用的对象命名时,可以加统一的前缀,这样即不容易冲突,又容易查询。
敏感: 创建表时,默认不论表名大小写,存储都转换成大写,表名用""括上时,表示大小写敏感,存储时不会被转换;
namespace-命名空间:相同的命名空间下,名字不能相同。
select * from dba_objects;
select * from dba_tables where table_name in ('T','TT');
select * from dba_tab_columns where table_name in ('T','TT');




Create Table t1(Id Int,a Char,b Char(10),v Varchar2(10));
Desc t1;
Insert Into t1 Values('1','a','a','a');
Select * From t1;
Select t1.*,length(a),length(b),length(v) From t1;  --length查看长度
Select t1.*,Dump(a),Dump(b),Dump(v) From t1;  --dump查看在oracle中如何存储的
Select ascii('a'),ascii(' ') From dual;        --a字符的ascii码为97,空格为32
------number类型
Alter Table t1 Add id1 Number(2);
Update t1 Set id1 = 4.56;  --number(2),表示整数占2位,没有小数位,小数位被四舍五入;
                           --number(5,2),表示小数部分占2位,整数部分占3位,四舍五入到小数后2位,
                           --number(5,-2),表示整数5位,没有小数位,四舍五入到整数第三位
Alter Table t1 Drop(id1);  --删除id1列
Alter Table t1 Add id1 Number(5,-2);
Update t1 Set id1 = 1044.56;  --id1四舍五入成1000
Update t1 Set id1 = 1054.56;  --id1四舍五入成1100
------date类型
Select systimestamp From dual;                   --系统时间戳
----------LOBs 大对象
--最初long,long raw   一个只能有1列,最大2G,
--CLOB取代long,保存文本文件,最大4G   --BLOB取代long raw,保存media文件,最大4G   都没有限制列数


----------约束
CREATE TABLE positions
( position_id NUMBER
, position VARCHAR2(20)
, exempt CHAR(1)
, CONSTRAINT positions_pk PRIMARY KEY (position_id)
);           --创建带约束主键的表


CREATE TABLE PORTS
(PORT_ID NUMBER PRIMARY KEY,      --直接将列定义为主键
PORT_NAME VARCHAR2(20));    


CREATE TABLE PORTS
(PORT_ID NUMBER,
PORT_NAME VARCHAR2(20));
ALTER TABLE PORTS
MODIFY PORT_ID PRIMARY KEY;                            --建表后增加主键
ALTER TABLE PORTS
MODIFY PORT_ID PRIMARY KEY;                           --建表后更改表结构增加主键
ALTER TABLE PORTS
ADD CONSTRAINT PORT_ID_PK PRIMARY KEY (PORT_ID);       --建表后更改表结构增加约束主键,并给约束命名


----------NOT NULL
Create Table t3(id Number Not Null);                  --设置id不为空;
Create Table t4 (Id Number Default 100 Not Null);      --设置id缺省值为100,不为空

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1079722/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 1.数据库安装
下一篇: 3.约束
请登录后发表评论 登录
全部评论

注册时间:2011-07-19

  • 博文量
    53
  • 访问量
    131745