sql常用語句集合 工作總結

2022-02-26 18:58:38 字數 4425 閱讀 2296

因為工作需要,所以對資料庫的操作都要用sql語句,所以我會陸續把一些常用的sql語句總結下來,方便以後使用,正好也複習一下基礎知識

1.   增,刪,改欄位

增加字段

alter table 表名 add 欄位名 字段型別 是否可為空

示例: alter table student add sid int not null

更新字段

alter table 表名 alter column 欄位名 字段型別 是否為空

示例: alter table student alter column sid varchar(20) null

刪除字段

alter table 表名 drop column 欄位名

示例: alter table student drop column sid

2. 判斷是否有某個表或儲存過程或字段,然後刪除之

表:if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[表名]') and objectproperty(id, n'isusertable') = 1)

drop table [dbo].[表名]

儲存過程:

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[儲存過程名]') and objectproperty(id, n'isprocedure') = 1)

drop procedure [dbo].[儲存過程名]

字段:if exists(select * from syscolumns where id=object_id('表名') and name='欄位名')

alter table 表名 drop column 欄位名

3.  多條件語句,類似swich語句

示例:declare @sumdays [int]

declare @grade [int]

select @grade =

case

when @sumdays=40 then 1

when @sumdays>40 then 2

end4. 備份還原語句

下面倆個例子,分別說明了備份和還原

備份:backup database [qpshopdb] to  disk = n'd:\資料庫備份\100209\qpshopdb.bak' with noformat, noinit,  name = n'qpshopdb-完整 資料庫 備份', skip, norewind, nounload,  stats = 10

還原:restore database [news] from  disk = n'd:\資料庫備份\100209\qpshopdb.bak' with  file = 1,  nounload,  stats = 10 

,replace,move 'test' to 'd:\database\test.mdf',move 'test_log' to 'd:\database\test.ldf'

5. 給表建立索引

如下:給errreport表的version列建立version_indexf索引:

create nonclustered index [version_index] on [dbo].[errreport] ([version] asc )

如果是聚集索引將nonclustered改成clustered即可

6. sql建立資料夾--通過呼叫doc來建立,這個命令涉及到安全問題,用完一定要關閉

exec sp_configure 'show advanced options', 1

goreconfigure

goexec sp_configure 'xp_cmdshell', 1  --開啟cmdshell

reconfigure

goset @path = 'mkdir d:\資料庫備份\'+@datetime

exec xp_cmdshell @path,no_output

exec sp_configure 'xp_cmdshell',0  --關閉cmdshell

7. 遇到 關於sql server **(已禁用**xp)

打上下面幾段sql搞定

sp_configure 'show advanced options', 1;  

go  

reconfigure with override;   --加上with override  

go  

sp_configure 'agent xps', 1;  

go  

reconfigure with override     --加上with override  

go8. 掛起操作

在安裝sql或sp補丁的時候系統提示之前有掛起的安裝操作,要求重啟,這裡往往重啟無用,解決辦法: 

到hkey_local_machine\system\currentcontrolset\control\session manager 

刪除pendingfilerenameoperations 

9. 收縮資料庫

--重建索引 

dbcc reindex 

dbcc indexdefrag 

--收縮資料和日誌 

dbcc shrinkdb 

dbcc shrinkfile 

10. 壓縮資料庫

dbcc shrinkdatabase(dbname) 

11. 轉移資料庫給新使用者以已存在使用者許可權

exec sp_change_users_login 'update_one','newname','oldname' 

go12. 檢查備份集

restore verifyonly from disk='e:\dvbbs.bak' 

13. 修復資料庫

alter database [dvbbs] set single_user 

go dbcc checkdb('dvbbs',repair_allow_data_loss) with tablock 

go alter database [dvbbs] set multi_user 

go14. 查詢最大連線數

1、獲取sql server允許同時使用者連線的最大數

select @@max_connections

2、獲取當前指定資料庫的連線資訊

select * from master.dbo.sysprocesses where dbid in (   select dbid from master.dbo.sysdatabases   where name='yourdatabasename')--根據需要更改yourdatabasename

select * from master.dbo.sysprocesses where db_name(dbid) = 'yourdatabasename'

3、獲取當前sql伺服器所有的連線詳細資訊

select * from sysprocesses

以上查詢結果包含了:系統程序和使用者程序。

如果只是想查使用者程序的話則需採用下面的方法

4、獲取自上次啟動sql server服務 以來連線或試圖連線的次數

select @@connections

這個剛開始會有點誤解,認為是當前sql server伺服器當前所有的sql server連線數。需要重點注意。

15.設定資料庫為多使用者模式或單使用者模式

alterdatabase [dbname] set single_user

alterdatabase [dbname] set multi_user

16.獲取當前時間的小時或分鐘或秒鐘部分

datepart(datepart,date)
datepart縮寫年

yy, yyyy

季度qq, q

月mm, m

年中的日

dy, y

日dd, d

周wk, ww

星期dw, w

小時hh

分鐘mi, n

秒ss, s

毫秒ms

微妙mcs

納秒ns

Sql常用語句總結

sql對大小寫不敏感,分為資料操作語言 dml 和資料定義語言 ddl sql 使用單引號來環繞 文字值 大部分資料庫系統也接受雙引號 如果是 數值,請不要使用引號 select 從資料庫表中獲取資料 update 更新資料庫表中的資料 delete 從資料庫表中刪除資料 insert into 向...

SQL常用語句總結

要點 1.語法 4.索引 2.表 建立表,針對表的增刪改查。5.儲存過程 3.資料 增刪改查。6.觸發器及鎖.一 sql語言 1.主要操作語句 1.對資料庫操作 show use alert 2.對錶的操作 show desc drop alter 3.對資料的操作 insert delete up...

sql常用語句

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