1. 程式人生 > >使用T-SQL語句插入、更新、刪除數據表

使用T-SQL語句插入、更新、刪除數據表

數據庫 sql server sql語言 楊書凡 t-sql語句

在對數據進行管理時,使用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常用此語句,但在執行前要確保數據可以刪除,否則無法恢復




本文出自 “楊書凡” 博客,請務必保留此出處http://yangshufan.blog.51cto.com/13004230/1983937

使用T-SQL語句插入、更新、刪除數據表