1.创建表

CREATE TABLE ORDERINFO
(
ORDERID NUMBER(*, 0) NOT NULL
, ORDERCODE VARCHAR2(20 BYTE) NOT NULL
, USERID NUMBER(*, 0) NOT NULL
, MOBILEPHONE VARCHAR2(20 BYTE) NOT NULL
, ADDRESS VARCHAR2(128 BYTE) NOT NULL
, PRODUCTNUMERIC NUMBER(*, 0) DEFAULT (0) NOT NULL
, AMOUNT NUMBER(9, 2) DEFAULT (0) NOT NULL
, ORDERTIME DATE DEFAULT (sysdate) NOT NULL
, CONSTRAINT SYS_C0011057 PRIMARY KEY
(
ORDERID
)
ENABLE
)

LOGGING
TABLESPACE "USERS"
PCTFREE 10
INITRANS 1
STORAGE
(
BUFFER_POOL DEFAULT
);

varchar2(20 byte),表示可以存储20个字节(20个字母或数字,10个汉字, 1个汉字占两个字节),varchar2(20 char)表示可以存储20个字符(20个字母或数字或汉字)

2.修改表中的字段

ALTER TABLE ORDERINFO
MODIFY (MOBILEPHONE VARCHAR2(30 char) );

3.创建索引

CREATE UNIQUE INDEX ORDERINFO_INDEX1 ON ORDERINFO (ORDERCODE ASC)
LOGGING
TABLESPACE "USERS"
PCTFREE 10
INITRANS 2
STORAGE
(
BUFFER_POOL DEFAULT
);

4.修改索引表空间

ALTER INDEX ORDERINFO_INDEX1 REBUILD
TABLESPACE "EXAMPLE";

4.删除索引

drop index ORDERINFO_INDEX1

5.创建惟一约束

ALTER TABLE ORDERINFO
ADD CONSTRAINT ORDERINFO_UK1 UNIQUE
(
MOBILEPHONE
)
ENABLE;

6.创建外键关系

ALTER TABLE ORDERINFO
ADD CONSTRAINT ORDERINFO_USERINFO_FK1 FOREIGN KEY
(
USERID
)
REFERENCES USERINFO
(
USERID
)
ENABLE;

7.创建约束检查条件

ALTER TABLE ORDERINFO
ADD CONSTRAINT ORDERINFO_CHK1 CHECK
(USERID > 0)
ENABLE;

8.创建序列

oracle没有自增长列,可以通过序列的方式给字段添加自增长的值

CREATE SEQUENCE OrderInfo_SEQ INCREMENT BY 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 CACHE 20;

insert into orderinfo (orderid,...)values(orderinfo_seq.nextval, ...)

通过orderinfo_seq.nextval获取自增长数据

select orderinfo_seq.nextval from dual可以获取自增长的数据

dual是一个伪表可以设置和查看序列。

 

 

posted on 2014-01-25 21:20  gejianhua  阅读(463)  评论(0编辑  收藏  举报