今天,学习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