--定義模式
--如果沒有指定《模式名》,那麼《模式名》隱含為《使用者名稱》
create
schema
《模式名》aothorization《使用者名稱》
--example-- 為使用者 wang 定義乙個學生-課程模式s-t
create
schema
authorization wang
1.定義基本表--刪除模式
drop
schema
《模式名》
<
cascade
|restrict
>
--其中 cascade 和 restrict 兩者必選其一。
--cascade(級聯),表示刪除模式的同時把該模式下的所有資料庫物件全部刪除
--restrict(限制),表示如果該模式中已經定義了下屬的資料庫物件(如表,檢視等),則拒絕該刪除語句的執行
建立了乙個模式就建立了乙個資料庫的命名空間,乙個框架。在這個空間中首先要定義的就是該模式包含的資料庫基本表。
完整性約束條件被存在系統的資料字典中,當使用者操作表中資料時由關聯式資料庫管理系統自動檢查該操作是否違背這些完整性約束條件。create
table
《表名》
( 《列名》
《資料型別》
[列級完整性約束條件][,
《列名》
《資料型別》
[列級完整性約束條件]].
..[,
《表級完整性約束條件》
])
如果完整性約束條件涉及該錶的多個屬性列,則必須定義在表級上,否則即可以定義在表級也可以定義在列級。
2.資料型別--建表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)
)
資料型別
含義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.模式與表
每乙個基本表都屬於乙個模式,乙個模式包含多個基本表。定義基本表時,有三種方法定義它所屬的模式。
在表名中明顯的給出模式名。
2.在建立模式語句中同時建立表。--student 表和 course 表所屬的模式都是 s-t
create
table
"s-t"
.student(..
.)create
table
"s-t"
.course(..
.)
3.設定所屬的模式,這樣在建立表時不必給出模式名。--為使用者 zhang 建立乙個模式 test ,並在其中定義了乙個表 tab1
create
schema test authorization zhang
create
table tab1(..
.)
4.修改基本表show search_path
set search_path to
"s-t"
,public
create
table student(..
.)
5.刪除基本表alter
table
《表名》
--修改的基本表
[add
[column
]《新列名》
《資料型別》
[列級完整性約束條件]
]--增加新列,列的完整性約束條件
[add
《表級完整性約束條件》
]--增加表級完整性約束條件
[drop
[column
]《列名》
[cascade
|restrict]]
--刪除該列,級聯/拒絕,預設restrict
[drop
constraint
《完整性約束名》
[cascade
|restrict]]
--刪除表的該名稱的約束條件,級聯/拒絕
[alter
column
《列名》
《資料型別》
]--修改原有的列定義
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,然而這並沒有...