SQL常用語句,新增約束 字段說明 自定義排序規則

2021-07-15 13:43:02 字數 2860 閱讀 4111

養成使用sql語句的好習慣

1. 向表中新增新的字段

alter table 表名 add 列名 型別 not null

2. 刪除表中的乙個字段

alert table 表名 drop column 列名

3. 修改表中的乙個欄位名

alter table 表名 rename column 舊列名 to 新列名

4. 新增主鍵約束

alter table 表名 add constraint 約束名 primary key (列名)

5. 新增唯一約束

alter table 表名 add constraint 約束名 unique (列名)

6. 新增預設約束

alter table 表名 add constraint 約束名 default(內容) for 列名

7. 新增check約束

alter table 表名 add constraint 約束名 check(內容)

新增外來鍵約束

alter table 表名 add constraint 約束名 foreign key(列名) references 另一表名(列名)

9. 刪除約束

alter table 表名 drop constraint 約束名

10. 修改字段屬性

alter table 表名 alter column 列名 varchar(200) not null;

11. 修改預設值

alter table 表名 drop constraint 約束名

alter table表名 add constraint df default(『預設值』) for列名(df是該錶該列預設值的名字,不能重複)

12.刪除新增主鍵

alter table [表名] drop constraint pk_table1(主鍵名稱)

alter table [表名] alter column [列名] varchar(20)

alter table [表名] add constraint pk_table1(主鍵名稱) primary key ( [列名])

13. 對表列中描述操作,新增、修改、刪除

–新增描述屬性:

exec sys.sp_addextendedproperty

@name=n』ms_description』,

@value=n』描述內容』 ,

@level0type=n』schema』,

@level0name=n』dbo』,

@level1type=n』table』,

@level1name=n』表名稱』,

@level2type=n』column』,

@level2name=n』列名稱』

–更新表描述屬性:

exec sys.sp_updateextendedproperty @name=『ms_description』,

@value=『描述內容』,

@level0type=『schema』,

@level0name=『dbo』,

@level1type=『table』,

@level1name=『表名』,

@level2type=『column』,

@level2name=『列名』

–刪除表描述屬性(省略變數):

exec sys.sp_dropextendedproperty』ms_description』,『schema』,dbo,『table』,『表名』,『column』,『列名』

14. 生成唯一識別符號,根據計算機硬體資訊和當前時間生成的唯一標識(應該是全球唯一標示)

select newid()

15.安全建立臨時表

if object_id(『tempdb…#a』) is not null

begin

drop table #a

endcreate table #a( id int identity(1,1) primary key, content varchar(100))

16.資料庫索引操作(沒有修改操作)

資料庫索引建立

create nonclustered index [索引名稱] on [dbo].[表]

([列1] asc,

[列2] desc

)索引刪除

drop index [索引名稱] on [dbo].[表]

17.sql自定義排序(資料量大的專案不建議使用這兩種方法,效率太低,建議新建自定義排序關聯表)

方法一:

由低(一乙)到高(三甲)排序:

select * from #temp

order by patindex(』%』+substring(name,2,1)+』%』,『乙甲』),

patindex(』%』+substring(name,1,1)+』%』,『一二三四五六七**十』)

方法二:

按(二一五四三)的自定義順序排列

order by (case name when 『二』 then 1 when 『一』 then 2 when '五 』 then 3 when 『四』 then 4 when 『三』 then 5 else 『』 end)

sql常用語句

use myoa select from delete from department where departmentid 1 insert department departmentid,departmentname values 1,技術部 update department set depa...

sql常用語句

在sqlserver,簡單的組合sp spaceused和sp msforeachtable這兩個儲存過程,可以方便的統計出使用者 資料表的大小,包括記錄總數和空間占用情況,非常實用,在sqlserver2k和sqlserver2005中都測試通過。1.exec sp spaceused 表名 sq...

sql常用語句

第一種 行列互換思想,外層group by,使用case when then 我有乙個表,有兩個字段 收費專案 唯一值 收費金額。我想用sql按收費專案不同生成不同的字段,對應值是金額。如 房租 100 水電費 50 雜費 50 生成後的格式是 房租 水電費 雜費 100 50 50 請問,如何寫這...