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是一个伪表可以设置和查看序列。