您的位置:首页 > 数据库 > Oracle

oracle数据库的表的操作

2016-05-10 20:31 302 查看
今天,学习oracle数据库中数据库的创建和表的创建删除修改等等操作。开始的时候,数据库一直连接不上,后来知道原来是几个服务没有开启:OracleXETNSListener,OracleXEClrAgent,OracleServiceXE。参考网址:http://jingyan.baidu.com/article/3d69c5518f2de2f0ce02d747.html

我发现有些大学时候学习sql语句,有的并不适用oracle数据库。下面是我实践中用到的:

--创建外键1
CREATE TABLE T_INVOICE
(ID NUMBER(10) NOT NULL,
INVOICE_NO VARCHAR2(30) NOT NULL,
CONSTRAINT PK_INVOICE_ID PRIMARY KEY(ID));

--创建外键2
CREATE TABLE T_INVOICE_DETAIL
(ID NUMBER(10) NOT NULL,
AMOUNT NUMBER(10,3),
PIECE NUMBER(10),
INVOICE_ID NUMBER(10),
CONSTRAINT PK_DETAIL_ID PRIMARY KEY(ID));
ALTER TABLE T_INVOICE_DETAIL
ADD CONSTRAINT FK_INVOICE_ID
FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID);

CREATE TABLE T_INVOICE_DETAIL
(ID NUMBER(10) NOT NULL,
AMOUNT NUMBER(10,3),
PIECE NUMBER(10),
INVOICE_ID NUMBER(10),
PRIMARY KEY(ID));
ALTER TABLE T_INVOICE_DETAIL
ADD FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID);

--创建外键
create table sc
(sno char(6) not null,
cno char(6) not null,
score numeric(3),
primary key(sno,cno),
FOREIGN KEY (sno) REFERENCES S(SNO),
FOREIGN KEY (cno) REFERENCES C(CNO))

--表中添加列,需要将add后面用“(列名)”括起来
alter table s
add (class_no char(6),address char(40))

--修改某列,增加或者减少宽度
alter table s modify sn char(20)

--修改表名
ALTER TABLE s RENAME TO xx

--修改表列名
ALTER TABLE s RENAME COLUMN xx TO xx1

--修改字段类型
ALTER TABLE s MODIFY xx NUMBER(20)

--添加表列
ALTER TABLE s ADD (xx VARCHAR2(40) [,xx VARCHAR2(40)...])

--删除列(单列或者多列)
ALTER   TABLE   table_name   DROP   {COLUMN   column_names   |   (column_names)}   [CASCADE   CONSTRAINS]

ALTER TABLE s DROP column address



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: