----------------------------------------创建表
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博客 ” ,链接:https://blog.itpub.net/15810196/viewspace-1079722/
,如需转载,请注明出处,否则将追究法律责任。