您好,登錄后才能下訂單哦!
在對數據進行管理時,使用SSMS進行數據維護有可視化、方便的優點,但是在批量維護或重復維護時,使用SSMS就不方便了,還容易出錯,這就需要編寫SQL語句對數據庫進行維護
SQL和T-SQL
SQL是Structured Query Language的縮寫,即結構化查詢語言,是關系數據庫的標準語言。如今Oracle、Sybase、Informix、SQL Server這些大型數據庫管理系統都支持SQL作為查詢語言
T-SQL是SQL的加強版,除了標準的SQL命令外,還支持類似于程序語言的基本功能,如流量控制、變量說明、功能函數等
T-SQL語言主要由以下幾部分組成:
DML(Data Manipulation Language,數據操縱語言):用來查詢、插入、刪除、修改數據庫中的數據,如select、insert、update、delete
DDL(Data Definition Language,數據定義語言):用來建立數據庫、數據庫對象和定義其列,大部分命令以create開頭的命令,如create、alter、drop
DCL(Data Control Language,數據控制語言):用來控制數據庫組件的存取許可、存取權限等,如grant、revoke
插入數據(INSERT)
使用INSERT語句將數據庫插入到表中,語法格式如下:
insert [into] 表名 [列名] values 值列表
其中
* into是可選的,可省略
* 表名是必須的,而表的列名是可選的,如省略,值列表的順序與數據表中字段順序保持一致
* 多個列名和值列表用逗號分隔
例如:向學生成績表中插入一行數據,可以使用如下T-SQL語句
SQL語句的執行一般在查詢窗口中進行,單擊“新建查詢”按鈕,選擇數據庫,輸入SQL語句,如下圖所示:
在SSMS中單擊“√”,系統會檢查輸入的T-SQL語句是否有語法錯誤,之后會顯示分析結果,如果無誤,單擊執行,可以執行T-SQL語句,然后顯示執行結果,如下圖所示:
在插入數據時,需要注意以下事項:
(1)每次插入一整行數據,不可能只插入半行或者幾列數據
(2)數據值的數目必須與列數相同,每個值的數據類型、精度、小數位也不需與相應的列匹配
(3)對于字符類型的列,必須使用單引號
(4)插入的數據項要求符合CHECK約束的要求
更新數據(UPDATE)
使用UPDATE語句更新表中的數據,語法格式如下:
update 表名 set 列名=更新值 [where 更新條件]
其中
* set后面可以緊隨多個數據列的更新值,不限一個
* where是可選的,用來限制條件,如果不限制,整個表所有數據行都將被更新
例如:更改學生成績表中學生楊凡的CNT為95,SQL為77,可以使用如下T-SQL語句,如下圖所示
刪除數據
(1)使用DELETE語句刪除表中的數據
delete語法格式如下
delete from 表名 [where 刪除條件]
* 如果不用where,將刪除表中所有數據
例如:刪除學生成績表中學生張三的記錄,可以使用如下T-SQL語句
注意:delete語句用于刪除整條記錄,不會只刪除單個字段,所以在delete后面不能出現字段名
(2)使用Truncate table語句刪除表中的數據
Truncate table語句用來刪除表中所有行,功能上類似于,沒有where子句的delete語句, Truncate table語法格式如下:
truncate table 表名
Truncate table語句與DELETE語句的區別如下:
① Truncate table語句不帶where,只能將整個表數據清空,而DELETE語句可以按照條件刪除某些記錄
② Truncate table語句不記錄事務日志,刪除后無法通過事務日志恢復;而DELETE語句每刪除一行記錄,都會記錄一條事務日志。
③ Truncate table語句不能用于有外鍵約束引用的表,這種情況下,需要使用DELETE語句
綜上所述,Truncate table語句執行速度更快,在情況大量數據表作業時,DBA常用此語句,但在執行前要確保數據可以刪除,否則無法恢復
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。