Transact-SQL系列: 單表的CRUD操作

iSQlServer發表於2009-01-16
CRUD是在運算元據時幾種操作的縮寫,分別為:Create[新建], Retrieve[檢索], Update[更新], Delete[刪除]。依次對應於MSSQL操作的Transact-SQL裡的Insert[插入], Select[選擇], Update[更新], Delete[刪除]。很奇怪,為什麼不直接稱為ISUD呢,呵呵。

簡單的Insert語句

大概如下兩種了:

一是用values羅列出各個值來提供插入。因為ClassID是設為自動增長的,所以明著插入,也不能直接明著就插入,需要開關的哦

insert Classes(Name,Grade) 
values('一班',1)

* 用insert 和 insert into 都可以。

二是用select將查出一條或者多條記錄來提供插入

insert into Classes(name, grade)
select '二班',1

這裡簡單的只以插入一條記錄的為例。

這裡的欄位和值都是要按順序一一對應的。

 

簡單的Select語句

大概有以下幾種:

直接查的,沒設定條件

select * from Classes
select ClassID, Name, Grade from Classes
select ClassID,Name from Classes

欄位值比較條件,要用等號"=",">"等設定值比較,

select * from Classes where ClassID = 1
select ClassID,Name from Classes where Grade=1

還可以用between 值1 and 值2, 注意:值1必須小於等於值2,否則,條件永遠不成立。

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt--如下列為:找出年級為1到3的所有班級
select * from Classes where grade between 1 and 3

模糊條件,

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt--使用下劃線"_",一個"_"表示一個字(單雙位元組的字),這個符號可以放在字串裡的任何位置。
--
如下列為:找出姓張的,名字只有一個字的同學
Select * from students where fullname like '張_'
--如下列為:找出姓張的,名字有兩個字的同學
Select * from students where fullname like '張__'

--使用百分號"%",一個"%"表示任意個字(單雙位元組的字),0到N個都可以
--
如下列為:找出姓張的所有同學
Select * from students where fullname like '張%'

表使用別名,主要用在多表關聯操作的時候,寫整個表的名稱太長繁瑣,使用別名會顯得方便,簡約,清晰。

--表使用別名可以用as關鍵字,也可以簡單的用空格隔開就可以了
select C.* from Classes as C where C.ClassID = 2

--Name欄位設定了歸屬關係,對於欄位沒和別人衝突的話,可以不用限制歸屬的別名 如ClassID
select ClassID, C.Name from Classes C where C.Grade=1

欄位使用別名,主要用在存在同名欄位的操作,和欄位名字不宜、不易於使用的時候。

--給Name 使用了別名 ClassName
select ClassID ID, C.Name as ClassName from Classes C where C.Grade=1

 

簡單的更新語句

直接Update了,呵呵,注意:更新的前要限制到條件哦,否則更新掉不該更新的,你可有的麻煩了。

--更新一個欄位 Name
Update Classes set Name='三班' Where ClassID = 1
--更新兩個欄位 Name 和Grade
Update Classes set Name='四班', Grade=2 Where ClassID = 2

 

簡單的刪除語句

也是直接刪除了,刪除的前要注意限制好條件

--使用delete from 和 delete是一樣的
delete from Classes where ClassID=1
delete Classes where Grade=1
 

簡單的SQL就這樣簡單了,不會的人熟記就好了。會的人就不要看了,這篇裡沒你需要的,呵呵,等後面的吧!

連結下載一個Sql壓縮包initialization.rar,裡邊只有新建一個資料庫和建立兩個表,不要誤以為是寶箱哦。呵呵

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-539849/,如需轉載,請註明出處,否則將追究法律責任。

相關文章