1 數(shù)據(jù)庫的基本操作(增 刪 改 查)
1.1增
//1.1.1
// 表名:table1
//列名:column1 column2 column3
//列值:values 后在括號中填充列值 ps:列值為數(shù)字時直接填寫數(shù)字稿存,為字符串時需要用單引號括起來
insert into table1 (column1,column2半抱,column3)values(1胯杭,2驯杜,'zifuchuan' )
// 1.1.2
// 表名:table1 table2
// 列名:table1 中要插入的列名:colt1,colt2做个,colt3 table2 中查詢的列名:colt2 ,colt2,colt3
// ps:該方法會從table2 中搜索colt2 ,colt2,colt3 三列的列值鸽心,作為table1 的colt1,colt2叁温,colt3的列值插入table1 中
insert into table1 (colt1再悼,colt2,colt3)select colt2 ,colt2,colt3 from table2
1.2 刪
// 該方法用于刪除table1 中所有的內(nèi)容如需根據(jù)特定的條件刪除需要在該語句后面添加where + 搜索條件
delete from table1
1.3 修
update table1 set colum1 = 'newvalue' // 將colum1 的列值全部設(shè)置為newvalue
update table1 set colum1 = colum2 , colum2 = colum1 // 將table1 中colum1 和colum2 的列值進行替換
update table1 set name = REPLACE(name ,'小','大') // 字符串替換膝但,將table1中name 列值中的“小”字替換為“大”字冲九。
1.4 查詢語句
查詢語句主要包括三部分:select關(guān)鍵字表示該語句為搜索語句 ,where 后面添加搜索的條件約束跟束,order by 會將搜索的數(shù)據(jù)按約定的條件進行排序莺奸。
select * from table1 where name = '小明' order by id desc // 搜索出table1 中name列值為小明的數(shù)據(jù),并根據(jù)id降序排列
select name,id from table1 where name like '%明%' order by id asc // 找出table1 中name 中包含“明”字的數(shù)據(jù)冀宴,并根據(jù)id升序排列灭贷。
select * from person where charindex (name,'小明,小劉,小張')> 0 order by id asc // 搜索person表中name 為小明,小劉略贮,或小張的所有數(shù)據(jù)甚疟。
2.1 用sql實現(xiàn)一個循環(huán)
DECLARE @name VARCHAR(50)
--聲明一個長度為50的字符串變量PAYID
DECLARE C1 CURSOR FOR
--聲明一個數(shù)據(jù)容器 C1 搜索后將搜索到的數(shù)據(jù)存入 C1 中
select UserName from person where name like '%曉%'
OPEN C1
FETCH NEXT FROM C1 INTO @name
--循環(huán)遍歷獲取C1 中存儲的數(shù)據(jù)存入變量PAYID中
WHILE @@FETCH_STATUS = 0
-- 檢測獲取狀態(tài) 獲取成功時進行一下操作
begin
update person set UserName = @name+'二年級一班' where UserName = @name
FETCH NEXT FROM c1 INTO @name
end
CLOSE c1
DEALLOCATE c1
2.2 搜索中常用的關(guān)鍵詞
2.2.1 top 1 :獲取搜索到的所有數(shù)據(jù)中的第一條數(shù)據(jù)
select top 1 name from person // 搜索person表中第一個名字(name)
2.2.2 MAX 函數(shù) 搜索每列的最大值
select MAX(age) from person // 搜索person 表中最大的年齡(age)
2.2.3 ISNULL(列名,‘字段為null值時替代的字符串’) 函數(shù)
select ISNULL(age,'1') from person // 搜索person 表中所有的年齡信息逃延,如果該字段為null值用1填充
2.2.4 LEFT(,) RIGHT(,) 用于對某個字段進行截取
select right(name,1) as name from person // 搜索person 表中name 字段的最后一個字符