zoukankan      html  css  js  c++  java
  • SQL Server 2012

    SELECT  *
    FROM    dbo.Student;
    
    --1, 插入数据  Insert ,逗号分隔可以同时插入多条
    INSERT  dbo.Student
            ( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
              Height, Remark )
    VALUES  ( '007', -- StuID - varchar(10)
              3, -- Class - int
              N'呵呵', -- StuName - nvarchar(50)
              'Hehe', -- StuEnName - varchar(50)
              22, -- StuAge - int
              GETDATE(), -- StuBirthday - datetime
              N'男', -- StuSex - nvarchar(10)
              190, -- Height - int
              'test'  -- Remark - text
              ),
            ( '008', -- StuID - varchar(10)
              3, -- Class - int
              N'你好', -- StuName - nvarchar(50)
              'Nihao', -- StuEnName - varchar(50)
              25, -- StuAge - int
              GETDATE(), -- StuBirthday - datetime
              N'女', -- StuSex - nvarchar(10)
              190, -- Height - int
              'test'  -- Remark - text
              );
    
    --2, 从一个表网另外一个表中写入数据
    INSERT  INTO dbo.Student
            SELECT  '009' ,
                    Class ,
                    '猫咪' ,
                    'Kitty' ,
                    StuAge ,
                    StuBirthday ,
                    StuSex ,
                    Height ,
                    Remark
            FROM    dbo.Student
            WHERE   StuID = '008';
    
    -- 3, OUTPUT 抛出写入的StuID
    DECLARE @stuId VARCHAR(10)
    INSERT  dbo.Student
            ( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
              Height, Remark )
    OUTPUT  Inserted.StuID
    VALUES  ( '010', -- StuID - varchar(10)
              3, -- Class - int
              N'叮当', -- StuName - nvarchar(50)
              'DingDang', -- StuEnName - varchar(50)
              22, -- StuAge - int
              GETDATE(), -- StuBirthday - datetime
              N'男', -- StuSex - nvarchar(10)
              190, -- Height - int
              'test'  -- Remark - text
              )
    
    		  
    --4 ,OUTPUT 抛出写入的另外一张物理表中(历史表)
    DECLARE @stuIdTable  TABLE(id INT)
    INSERT  dbo.Student
            ( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
              Height, Remark )
    OUTPUT  Inserted.StuID INTO @stuIdTable  -- OUTPUT INTO只能写入表中
    VALUES  ( '012', -- StuID - varchar(10)
              3, -- Class - int
              N'Vanilla', -- StuName - nvarchar(50)
              '香草', -- StuEnName - varchar(50)
              22, -- StuAge - int
              GETDATE(), -- StuBirthday - datetime
              N'男', -- StuSex - nvarchar(10)
              190, -- Height - int
              'test'  -- Remark - text
              )
    SELECT * FROM @stuIdTable
    
    -- 5,更新数据
    UPDATE dbo.Student SET Height=Height+10 WHERE Height IS NOT NULL
    
    -- 6, 根据另外一张表进行数据更新:在两个表建立关系的情况下进行更新
    -- Join的方式进行多表更新
    UPDATE T 
    SET T.Remark = '班级01的学生' 
    FROM dbo.Student AS T  JOIN dbo.ClassInfo AS C
    ON t.Class=c.ID WHERE C.ID='1'
    -- Where的方式进行多表更新
    UPDATE T 
    SET T.Remark = '班级02的学生' 
    FROM dbo.Student AS T  , dbo.ClassInfo AS C
    where t.Class=c.ID and C.ID='2'
    
    -- 7, OUTPUT查看更新前、后的数据
    UPDATE dbo.Student SET StuSex='女'
     OUTPUT Inserted.StuSex,Deleted.StuSex
    WHERE StuID='007'
    
    -- 8, Update中Set语句后的命令是同时执行的,没有先后顺序
    UPDATE dbo.Student SET StuSex='男',StuName=StuName+'-'+StuSex
    WHERE  StuID='007'
    SELECT * FROM dbo.Student  WHERE  StuID='007'
       -- 两个字段进行值的互换
    UPDATE dbo.Student SET StuAge=Height,Height=StuAge
    WHERE  StuID='007'
    SELECT * FROM dbo.Student  WHERE  StuID='007'
    
    -- 9, Delete
    SELECT * INTO Student_His FROM dbo.Student WHERE 1=2
    
    DELETE dbo.Student 
    OUTPUT Deleted.StuID,Deleted.Class,Deleted.StuName,Deleted.StuEnName,Deleted.StuBirthday,Deleted.StuSex,Deleted.Height,Deleted.Remark
    INTO dbo.Student_His( StuID,Class,StuName,StuEnName,StuBirthday,StuSex,Height,Remark)
    WHERE  StuID='007'
    
    --10, Truncate Table = delete tablename (不带任何条件):清空表,重置自增列,日志小,操作更快
    TRUNCATE TABLE dbo.Student_His 
    SELECT *  FROM  [dbo].[Student_His]
    

      

  • 相关阅读:
    python float转为decimal
    python 断言大全
    python如何判断一个字符串是中文,还是英文。
    分享:selenium(一) xpath
    接口测试——带token请求post接口(postman学习)
    git stash命令
    我的爹娘(一)
    appium自动化测试 环境搭建
    linux下的定时任务
    php面向对象3
  • 原文地址:https://www.cnblogs.com/i-shanghai/p/6576144.html
Copyright © 2011-2022 走看看