所用软件:SQL Server Management Studio
首先第一步,建立一个表。在这里命名为T1。并在里面填入几条数据。如图:
T1
一.查询
查询所有: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
T2
注意T1表的userid和T2表的ID不同
1.外查询
左查询:
select * from T1 left join T2 on T1.userid=T2.ID
效果如下:
右查询:
select * from T1 right join T2 on T1.userid=T2.ID
完全查询:
select * from T1 full join T2 on T1.userid=T2.ID
2.内查询
只查询两表相匹配的数据:
select * from T1 inner join T2 on T1.userid=T2.ID
六.高级查询
T1
T2
我在这里建立了两个表,一个是T1表一个是T2表。现在要求查询时把T1表中加一行数据。是T2表中的性别(UserSex),怎么做?
来看看语句:
select * ,(select UserSex from T2 where T1.ID=T2.ID)as 'Sex' from T1;
效果如下:
六.获取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的表结构如下:
然后插入数据并获得该数据的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;