SQL 資料定義

2021-09-28 21:35:25 字數 3013 閱讀 7016

--定義模式

--如果沒有指定《模式名》,那麼《模式名》隱含為《使用者名稱》

create

schema

《模式名》aothorization《使用者名稱》

--example-- 為使用者 wang 定義乙個學生-課程模式s-t

create

schema

authorization wang

--刪除模式

drop

schema

《模式名》

<

cascade

|restrict

>

--其中 cascade 和 restrict 兩者必選其一。

--cascade(級聯),表示刪除模式的同時把該模式下的所有資料庫物件全部刪除

--restrict(限制),表示如果該模式中已經定義了下屬的資料庫物件(如表,檢視等),則拒絕該刪除語句的執行

1.定義基本表

建立了乙個模式就建立了乙個資料庫的命名空間,乙個框架。在這個空間中首先要定義的就是該模式包含的資料庫基本表。

create

table

《表名》

( 《列名》

《資料型別》

[列級完整性約束條件][,

《列名》

《資料型別》

[列級完整性約束條件]].

..[,

《表級完整性約束條件》

])

完整性約束條件被存在系統的資料字典中,當使用者操作表中資料時由關聯式資料庫管理系統自動檢查該操作是否違背這些完整性約束條件。

如果完整性約束條件涉及該錶的多個屬性列,則必須定義在表級上,否則即可以定義在表級也可以定義在列級。

--建表sql

create

table sc

( sno varchar(9

),cno varchar(4

),grade smallint

,primary

key(sno,cno)

,--主碼由兩個屬性構成,必須作為表級完整性進行定義

foreign

key(sno)

references student(sno)

,--表級完整性約束,sno是外碼,被參照表是student

foreign

key(cno)

references course(cno)

)

2.資料型別

資料型別

含義char(n),varchar(n)

長度為n的定長/變長字串

clob

字串大物件

blob

二進位製大物件

int,integer

-2147483648 ~ +2147483647 (4 bytes)

smallint

-32767 ~ + 32768 (2 bytes)

bigint

-9223372036854775808 ~ +9223372036854775807 (8 bytes)

decimal(p,d)

定點數(共p位數字,小數點後d位)

boolean

邏輯布林量

date

日期,包含年-月-日,yyyy-mm-dd

time

時間,包含時:分:秒,hh:mm:ss

3.模式與表

每乙個基本表都屬於乙個模式,乙個模式包含多個基本表。定義基本表時,有三種方法定義它所屬的模式。

在表名中明顯的給出模式名。

--student 表和 course 表所屬的模式都是 s-t

create

table

"s-t"

.student(..

.)create

table

"s-t"

.course(..

.)

2.在建立模式語句中同時建立表。

--為使用者 zhang 建立乙個模式 test ,並在其中定義了乙個表 tab1

create

schema test authorization zhang

create

table tab1(..

.)

3.設定所屬的模式,這樣在建立表時不必給出模式名。

show search_path

set search_path to

"s-t"

,public

create

table student(..

.)

4.修改基本表
alter

table

《表名》

--修改的基本表

[add

[column

]《新列名》

《資料型別》

[列級完整性約束條件]

]--增加新列,列的完整性約束條件

[add

《表級完整性約束條件》

]--增加表級完整性約束條件

[drop

[column

]《列名》

[cascade

|restrict]]

--刪除該列,級聯/拒絕,預設restrict

[drop

constraint

《完整性約束名》

[cascade

|restrict]]

--刪除表的該名稱的約束條件,級聯/拒絕

[alter

column

《列名》

《資料型別》

]--修改原有的列定義

5.刪除基本表
drop

table

《表名》

[cascade

/restrict

]--刪除該錶,級聯/拒絕,預設restrict

SQL資料定義

定義模式create schema test autorization zhang create table tab1 col1 smallint,col2 int,col3 char 20 col4 numeric 10,3 col5 decimal 5,2 刪除模式drop schema 模式名...

SQL之資料定義

sql是關聯式資料庫標準語言,主要功能有資料定義 資料查詢 資料操縱和資料控制。其特點是高度非過程化 綜合統 一 物件導向操作 對應資料系統結構的 模式結構,其包含的檢視和部分基本表與外模式相對應 基本表與模式相對應 索引與內模式相對應。sql 有一些語法約定符號,如下 方括號 中的內容為任選項,根...

SQL之定義資料

sql 2012使用 2020.3.26 今天開始學習sql的打碼,主要學習了資料定義中的定義資料庫,定義基本表 約束條件 修改基本表 刪除 定義索引的操作。首先,由於使用的教材中的例題基本上全是大寫字母,所以我打碼的時候要左手一直按著shift鍵 好累 後來直接開了caps lock,然而這並沒有...