今天,學習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