数据库基本操作:增删改查及联表操作

所用软件: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;

猜你喜欢

转载自blog.csdn.net/weixin_44003632/article/details/86637107