天天看點

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

所用軟體:SQL Server Management Studio

首先第一步,建立一個表。在這裡命名為T1。并在裡面填入幾條資料。如圖:

T1

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

一.查詢

查詢所有:

select  * from T1;      

按條件查詢:

select * from T1 where name = ’老黃’;      

此處是查詢名字叫老黃的人。

查詢某列:select name from T1;

此處表示查詢此表中的name列。

二.新增

新增一行資料:

insert into T1(ID,name,phone,userid) values (‘6’,’老李’,’708’,’8’);      

此處表示新增了一條ID=6,name=老李,phone=708,userid=8的資料。

三.删除

删除整行語句:

delete from T1 where ID=1;      

此處表示删除ID為1的整行語句

做批量删除:delete from T1 where ID >3;

此處表示删除ID大于3的所有資料

四.修改

修改表中想修改的值:

update T1  set  name=’老花’ where ID=1;      

此處表示将ID為1的語句中name老黃改成老花。如果還要繼續更改語句可以在老花後面繼續加入set +要改的列名和值。

五.聯表查詢

首先,我們先建立兩個表T1,T2.

T1

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

T2

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

注意T1表的userid和T2表的ID不同

1.外查詢

左查詢:

select * from T1 left join T2 on T1.userid=T2.ID      

效果如下:

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

右查詢:

select * from T1 right join T2 on T1.userid=T2.ID      
#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

完全查詢:

select * from T1 full join T2 on T1.userid=T2.ID      
#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

2.内查詢

隻查詢兩表相比對的資料:

select * from T1 inner join T2 on T1.userid=T2.ID      
#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

六.進階查詢

T1

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

T2

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

我在這裡建立了兩個表,一個是T1表一個是T2表。現在要求查詢時把T1表中加一行資料。是T2表中的性别(UserSex),怎麼做?

來看看語句:

select * ,(select UserSex from T2 where T1.ID=T2.ID)as 'Sex' from T1;      

效果如下:

#yyds幹貨盤點# 資料庫基本操作:增删改查及聯表操作

六.擷取ID

public int AddDetailList(MODEL.DetailList Mymodel)      
{      
if (Mymodel != null)      
{      
object i=DBHelper.ExecuteScalar(@"set NOCOUNT ON; insert into DetailList (VoucherID,ActivityID,CardNum,IsExchange,IsUse,Flag,IsDuiHuan) values ('" + Mymodel.VoucherID + "','" + Mymodel.ActivityID + "','" + Mymodel.CardNum + "','0201','0501','0','0901') ;SELECT SCOPE_IDENTITY() AS id FROM DetailList; SET NOCOUNT OFF;");      
if (i != null && i.ToString() != "" && i.ToString() != "0")      
{      
return Convert.ToInt32(i.ToString());      
}      
else      
{      
return 0;      
}      
}      
else      
{      
return 0;      
}      
}      

擷取ID的表結構如下:

SET NOCOUNT ON ;      
INSERT INTO MyGift (Gift,EndTime,Score,Picture,Flag) VALUES ('LIP','2018-09-09 00:12:00',20,'IMGURL','0');      
SELECT TOP 1 ID FROM (SELECT  SCOPE_IDENTITY() AS ID FROM MyGift) A;      
SET NOCOUNT OFF;