• 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]
    

      

  • 相关阅读:
    PhpStorm 常用快捷键和配置+关闭快捷键ctrl+alt+方向键旋转屏幕+快速复制一行快捷键恢复
    WP七牛云插件详解
    注册表删除键值时拒绝访问
    删除注册表子项清除u盘使用痕迹
    一件代发发货人怎么写?淘宝代理发货流程
    联动设置
    使用vue实现行列转换的一种方法。
    从后端到前端之Vue(五)小试路由
    从后端到前端之Vue(四)小试牛刀——真实项目的应用(树、tab、数据列表和分页)
    从后端到前端之Vue(三)小结以及一颗真实的大树
  • 原文地址:https://www.cnblogs.com/i-shanghai/p/6576144.html
Copyright © 2020-2023  润新知