1. 程式人生 > >金典 SQL筆記(6)

金典 SQL筆記(6)

test 出身 信息 這樣的 n) 需求 ima 都是 鏈接

page223-索引 --利用SQL 語句創建索引 --CREATE INDEX 索引名稱on 表名(字段 ,字段, 字段字段n) --索引名稱必須為唯一的,字段 ,字段, 同意一個到多個 --範例為T_person 表中給FName創建索引索引名為 idx_person_name CREATE INDEX idx_person_name ON T_Person (FName)
--刪除索引 --drop index 表名索引名 DROP INDEX T_person.idx_person_name
--非空約束 --在定義數據庫的時候 ,
默認情況下全部字段都是同意為空值的 , --假設須要在創建表的時候顯示指定禁止一個字段為空的方式就是 --在字段定義後添加 not null, 範比例如以下 --CREATE TABLE T_notNull(Fnumber VARCHAR(20) NOT NULL,FName VARCHAR(20),FAge INT)
--唯一約束 --唯一約束又稱為unique約束 ,它用於防止一個特定的列中倆個記錄具有相同的值 --設置方式就是在字段定義後添加 unique --CREATE TABLE T_UniqueTest(Fnumber VARCHAR(20) UNIQUE,FName VARCHAR(20),Fage INT)

--check約束 --check約束會檢查輸入到記錄中的值是否滿足一個條件 ,假設不滿足這個條件則 --對數據庫的改動不會成功 --比方一個人年齡不可能是負數 ,一個人的入學日期不可能早於出身日期 ,出廠月份 --不可能大於月能夠在check條件中使用隨意有效的 SQL表達式,check 約束對於插入 , --更新等隨意對數據改動的操作都進行檢查 --詳細需求的check約束 ,依據需求百度,我開發至今都不怎麽去使用 check,一方面客戶 --不停的變更會不停的挑戰 check,導致改動頻繁,不有用測試數據插入變得麻煩 --check約束範例 CREATE
TABLE CHECKTABLE(Fid INT,Fname VARCHAR(20 ), Fage VARCHAR( 20) CHECK(Fage >0), FWorkYear INT CHECK ( FWorkYear>0 ))
--主鍵約束 --因為每張表都要有主鍵,因此主鍵約束是很重要的 ,並且主鍵約束是外鍵關聯的基礎 --主鍵約束為表之間的關聯提供了鏈接點 --主鍵必須可以唯一標識一條記錄 ,也就是主鍵字段中的值必須是唯一的 ,並且不能包括 --NULL值從這樣的意義來說,主鍵約束是 unique約束和非空約束的組合盡管一張表中能夠 --有多個unique 約束和非空約束可是每一個表卻僅僅能有一個主鍵約束 --字段後面添加primary key --主鍵約束範例: CREATE TABLE PrimaryTable(Fid INT PRIMARY KEY, Fname VARCHAR( 20))
--外鍵約束 --當一些信息在表中反復出現的時候 ,我們就要考慮將他們提取到另外一張表中 , --然後在源表中引用新創建的表中的數據比方非常多作者都有不止一本著作 ,所以 --在保存書籍信息的時候,應該把作者信息放到單獨的一張表 (然後把作者ID放到書籍表中 ) --範例格式: foreign key 外鍵字段references 外鍵表名 (外鍵表的主鍵字段) --比方以下的SQL語句就是加入了外鍵約束 T_Author 表和T_Book 表的創建語句 CREATE TABLE T_AUTHOR(Fid VARCHAR(20 ) PRIMARY KEY, FName VARCHAR( 100) ,Fage INT ,FEmail VARCHAR (20)); CREATE TABLE T_BOOK(Fid VARCHAR(20 ) PRIMARY KEY, FName VARCHAR( 20) ,FPageCount INT ,FAuthorId VARCHAR (20) ,FOREIGN KEY ( FAuthorId) REFERENCES T_AUTHOR( Fid))

金典 SQL筆記(6)