新手oracle学习笔记2:创建修改表

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

新手oracle学习笔记2:创建修改表

上一篇:设计模式(5):JAVA(5):软件设计原则(5)迪米特法则(最少知道原则):封装,只和朋友通信


下一篇:新手学习oracle笔记1:windows下oracle数据库安装及.net调用oracle数据库