工作經常使用的SQL整理,實戰篇,位址一覽:
目錄概覽:
1.資料庫
2.表
3.臨時表
4.索引和限制
5.範式
6.增删改查
7.連接配接
8.分組和排序
9.通配符
10.視圖
11.存儲過程和事務
12.遊标
13.觸發器
14.作業
自己親手編寫的一些常用的SQL,希望對大家有用喔,廢話不多說了,直接入正題~
建立資料庫
删除資料庫
建立表
删除表
清空表
truncate table Tse_User 清除表中所有資料,下次插入編号從1開始
delete from Tse_User 清除表中所有資料,但下次插入編号從原有編号+1開始
生成臨時表,插入資料,将員工姓名全部列印出來
檢視表結構及表附加屬性
SP_HELP Tse_User
聚集索引确定表中資料的實體順序。聚集索引類似于電話簿,後者按姓氏排列資料。由于聚集索引規定資料在表中的實體存儲順序,是以一個表隻能包含一個聚集索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。
非聚集索引,該索引中索引的邏輯順序與磁盤上行的實體存儲順序不同。一個表可以建立多個非聚集索引。
建立聚集索引
CREATE UNIQUE CLUSTERED INDEX [PK_Tse_ID] ON [dbo].[Tse_User]
( --唯一聚集索引
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF,
ONLINE = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
建立非聚集索引
CREATE UNIQUE NONCLUSTERED INDEX [IX_Tse_UserID] ON [dbo].[Tse_User]
( --唯一非聚集索引
[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF,
ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
限制
alter table Tse_User
add constraint CS_UserName check (len(Username) > 3),
constraint CS_Email check (charindex('@', Email) > 0)
第一範式1NF
第一範式需滿足兩個條件:
1)每個資料行必須包含具有原子性(即不可再分)的值;
2)每個資料行必須包含一個獨一無二的值,即主鍵。
舉例:假如客戶表中存在位址列,如果經常需要按城市歸類,那麼,應該位址列拆分為省份,城市,縣,街道位址等列。
第二範式2NF
第二範式需要確定資料庫表中的每一列都和主鍵相關,而不能隻與主鍵的某一部分相關(主要針對聯合主鍵而言)。也就是說在一個資料庫表中,一個表中隻能儲存一種 資料,不可以把多種資料儲存在同一張資料庫表中。
舉例:比如常用的選課表中,以學号和課程号為聯合主鍵,不能将課程名,學分等課程相關資訊寫入選課表,因為他們隻與主鍵的一部分(課程号)相關。
第三範式3NF
第三範式需要確定資料表中的每一列資料都和主鍵直接相關,而不能間接相關。
舉例:訂單表中以訂單号為主鍵,使用者真實姓名和郵箱等資訊與使用者有關,與訂單沒有直接關系,是以,使用者真實姓名和郵箱等不能放到訂單表中。
如果您有什麼問題,歡迎在下面評論,我們一起讨論,謝謝~
如果您覺得還不錯,不妨點下右下方的推薦,有您的鼓勵我會繼續努力的~