oracle DDL(數據定義語言)基本語句


--創建表格

create table  production(

ProductIdvarchar2(10),

ProductNamevarchar2(20),

ProductPricenumber(8,2),

Quantitynumber(10),

Categoryvarchar2(10),

Desperationvarchar2(1000),

Originvarchar2(10)

)

--添加一列

alter table production

add remark varchar2(200);

select * from production

--修改列類型

alter table production

modify remark number(2,2)

--刪除一列

alter table production

drop column remark 

create table categoryinfo(

CategotyIdvarchar2(10),

CategoryNamevarchar2(30)

);

alter table categoryInfo

DROP COLUMN CategotyId;

alter table categoryinfo

ADD CategoryIdvarchar2(10);

--添加主鍵約束

alter table  production

ADD CONSTRAINTpk_Productionprimary key(ProductId);

alter table  categoryinfo

ADD CONSTRAINT pk_CategoryInfo primary key(CategoryId);

--刪除主鍵約束

alter table categoryinfo 

DROP CONSTRAINT pk_CategoryInfo;

--完整練習

create table productioninfo (

Prod uctIdvarchar2(10),

ProductNamevarchar2(20),

ProductPricenumber(8,2),

Quantitynumber(10),

Categoryvarchar2(10),

Desperationvarchar2(1000),

Originvarchar2(10),

primary key(ProductId),

--添加外鍵

CONSTRAINT fk_pro FOREIGN KEY(Category) REFERENCES categoryinfo(CategoryId) ON DELETE CASCADE

);

alter table productioninfo

DROP CONSTRAINT fk_pro;

--修改添加外鍵約束

alter table productioninfo

ADD CONSTRAINT fk_pro FOREIGN KEY (Category) REFERENCES categoryinfo(CategoryId)

ON DELETE CASCADE;

select * from categoryinfo;

select * from production;

alter table production

--創建帶有check條件的消費者表

create table custominfo(

CustomIdvarchar2(10),

CustomNamevarchar2(20),

CustomAgenumber(2),

Gendervarchar2(2),

Telvarchar2(11),

Addressvarchar2(100),

CONSTRAINT CHK_AGE

CHECK(CustomAge>=18 and CustomAge<=50)

);

--修改時添加check條件

alter table custominfo

ADD CONSTRAINTS chk_gender CHECK(Gender = '男' or Gender = '女');

--刪除約束條件

alter table custominfo

DROP CONSTRAINS chk_gender;

--unique約束唯一約束

--訂單信息表

create table orderinfo(

OrderIdvarchar2(10),

CustomIdvarchar2(10),

ProductIdvarchar2(10),

OrderDatevarchar2(10),

OrderQuantitynumber(10),

SendDatevarchar2(10),

CONSTRAINTS UNQ_ORDERID UNIQUE(OrderId)

);

--NOT NULL約束

--管理員信息表

create table managerinfo(

ManagerIdvarchar2(10),

LoginNamevarchar2(10) NOT NULL,

Passwordvarchar2(10) NOT NULL,

Namevarchar2(10),

Telnumber(11)

);

--修改notnull約束

alter table managerinfo

MODIFY LoginName Null;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM