oracle創(chuàng)建表的方法和一些常用命令
1、主鍵和外鍵
主鍵:關(guān)系型數(shù)據(jù)庫(kù)中的一條記錄中有若干個(gè)屬性,若其中的某一個(gè)屬性組(注意是組,可以是一個(gè),也可以是多個(gè))能唯一標(biāo)識(shí)一條記錄,那么該屬性組就是主鍵
外鍵:關(guān)系型數(shù)據(jù)庫(kù)表中的一列或者某幾列的組合,它的值與另外一張表的某一列或者某幾列相匹配,且為另一張表的主鍵(即這張表的某一列或某幾列是另外一張表的主鍵,稱這一列或幾列為另外一張表的外鍵)
注1:一張表主鍵只能有一個(gè),可以有多個(gè)外鍵以及唯一索引
注2:Oracle數(shù)據(jù)庫(kù)共有5個(gè)約束:主鍵、外鍵、非空、唯一、條件
非空:這個(gè)列的值不能為空(NOT NULL)
唯一:這個(gè)列的值在表中是唯一存在的,不能重復(fù),但可以為空值(NULL)
條件:可以對(duì)列的值設(shè)定在某個(gè)范圍內(nèi),如人的年齡就不能為負(fù)數(shù)等。
注3:主鍵和唯一約束的區(qū)別
表的主鍵是列的值為表中的唯一標(biāo)識(shí),不能為空值(NULL),而表的唯一約束是列的值在表中唯一存在,可以為空值(NULL)
2、表的創(chuàng)建及刪除
無(wú)約束創(chuàng)建:
create table Items(ItemNO number(2),ItemName varchar2(20));
刪除:
drop table Items;
有主鍵約束創(chuàng)建:
create table Items(ItemNO number(2) constraint PK_Items primary key,ItemName varchar2(20) not null);
有外鍵約束創(chuàng)建:
[code]
create table Business(BusiNo number(2) constraint PK_Business primary key,
BusiName varchar2(32) not null,ItemNO number(2),constraint FK_Business
foreign key(ItemNO) references Items(ItemNO),StartTime date);
注:constraint:定義表中約束所必須的關(guān)鍵字
primary key:主鍵約束關(guān)鍵字
foreign key...references...:創(chuàng)建表的外鍵關(guān)鍵字
3、to_date:Oracle的一個(gè)內(nèi)部函數(shù),可以把字符串變成時(shí)間
insert into Business(Busino,Businame,Itemno,Starttime)
values(4,'SuperMarket',2,to_date('2008-08-08','YYYY-MM-DD'));
4、創(chuàng)建有“唯一”和“條件”約束的表
create table Computers(
CompNo number(4) constraint PK_Comp primary key,
CompModel varchar2(64) unique,
BuyTime date,
Price number(7,2) constraint ch_price check(price>0 and price<=30000),
Owner varchar2(32));
注:unique:為唯一約束關(guān)鍵字
constraint...check...:為條件約束的關(guān)鍵字
5、創(chuàng)建新表business_copy,并復(fù)制business表的數(shù)據(jù)
create table business_copy as select * from business;
注:create table:創(chuàng)建表的關(guān)鍵字
as select * from business:把business中的數(shù)據(jù)全部復(fù)制到business_copy中(不復(fù)制表的約束)
6、把備份表中的數(shù)據(jù)導(dǎo)入新表
insert into business(busino,businame,itemno,starttime) select * from business_copy;
7、常用的字段數(shù)據(jù)類型
Number(p,s):數(shù)值類型,其中p最小值為1,最大值為38,s最小值為-84,最大值為124
Date:日期類型,用于記錄時(shí)間
Char(size):定長(zhǎng)字符串類型,知道規(guī)定的長(zhǎng)度,可以節(jié)省很大空間,比如性別,F(xiàn)表示女,M表示男
varchar(size):可變長(zhǎng)字符串類型
Blob(二進(jìn)制大對(duì)象類型):用于存儲(chǔ)二進(jìn)制對(duì)象,比如照片、文檔資料等
Clob(字符大對(duì)象類型):用于存儲(chǔ)字節(jié)的大對(duì)象數(shù)據(jù),比如簡(jiǎn)歷之類
Bfile(二進(jìn)制文件):存儲(chǔ)大對(duì)象,比如電影膠片等
8、修改表結(jié)構(gòu)
增加一個(gè)表字段
alter table items add(manager VARCHAR2(6));
注:alter,這是Oracle數(shù)據(jù)庫(kù)中更改數(shù)據(jù)庫(kù)參數(shù)、表結(jié)構(gòu)等均會(huì)使用到
add:這里是增加一個(gè)列的關(guān)鍵字
修改表的字段最大值
alter table items modify(manager varchar2(8));
刪除表的某一列
[code]
alter table items drop column manager;
相關(guān)文章
oracle中使用group by優(yōu)化distinct
這篇文章主要介紹了oracle中使用group by優(yōu)化distinct的相關(guān)資料,需要的朋友可以參考下2015-11-11在window操作系統(tǒng)上安裝Oracle10g圖文教程
Oracle10g是Oracle公司出的一個(gè)比較輕量版的數(shù)據(jù)庫(kù),在window系統(tǒng)上安裝比較方便,這篇文章主要介紹了在window操作系統(tǒng)上安裝Oracle10g圖文教程,需要的朋友可以參考下2017-02-02oracle在導(dǎo)入數(shù)據(jù)時(shí)報(bào)600錯(cuò)誤的解決方法
最近在工作中進(jìn)行oracle數(shù)據(jù)庫(kù)導(dǎo)入的時(shí)候遇到了600錯(cuò)誤,通過查找相關(guān)的資料,最終終于解決了,下面這篇文章主要給大家介紹了關(guān)于oracle在導(dǎo)入數(shù)據(jù)時(shí)報(bào)600錯(cuò)誤的解決方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09Oracle關(guān)于重建索引爭(zhēng)論的總結(jié)
這篇文章主要介紹了Oracle關(guān)于重建索引爭(zhēng)論的總結(jié),本文總結(jié)了重建索引的理由、重建索引的本質(zhì)、反對(duì)重建索引的理由等內(nèi)容,需要的朋友可以參考下2014-09-09Oracle監(jiān)控?cái)?shù)據(jù)庫(kù)性能的方法步驟
監(jiān)控?cái)?shù)據(jù)庫(kù)性能是確保數(shù)據(jù)庫(kù)系統(tǒng)高效運(yùn)行并快速響應(yīng)用戶請(qǐng)求的關(guān)鍵步驟,有效的數(shù)據(jù)庫(kù)性能監(jiān)控可以幫助識(shí)別和解決性能瓶頸,預(yù)測(cè)潛在問題,并優(yōu)化資源使用,以下是詳細(xì)的步驟和代碼示例,指導(dǎo)你如何監(jiān)控?cái)?shù)據(jù)庫(kù)性能,需要的朋友可以參考下2024-08-08Win7 64位下PowerDesigner連接64位Oracle11g數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了Win7 64位下PowerDesigner連接64位Oracle11g數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Oracle遞歸查詢樹形數(shù)據(jù)實(shí)例代碼
Oracle數(shù)據(jù)庫(kù)中常要處理一些父子關(guān)系的記錄,在OLTP中要用得多一些,oracle提供了遞歸查詢可以很容易的滿足這個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于Oracle遞歸查詢樹形數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-11-11