zoukankan      html  css  js  c++  java
  • T-SQL之数据操作(一):增删改

          对于数据库中的数据操作主要有增删查改这四种操作,下面将分别从这几个方面进行说明(本章仅介绍增删改,查询操作将会作为单独的一章来说明)。

    1、增加操作:

    向数据库中添加数据主要使用(INSERT INTO 语句)

    INSERT语法:
    	INSERT INTO table_name (list_column) VALUES (list_value)
    
    	--语法说明:
    	--table_name:要添加数据的表名称
    	--list_column:列名称集,要为那些列添加数据
    	--list_value:值集,将该值添加到数据库中
    --注意事项:
    --1、注意语句的完整性(在下面的例子中将会展示一个特殊的insert语句)
    --2、列项的个数与值集合个数必须一致
    --3、列项的顺序与值集合的顺序必须一致
    --4、对于数据类型为datetime和字符类型的列项在插入数据时注意要使用单引号将数据包含在内
    --5、对于数据类型为bit的列项在插入数据时,注意使用0和1进行插入操作(1代表true、0代表false)
    --(在高版本的SQL Server中向表中插入中文时,要注意以“N'张三'”的形式进行插入,但当你向数据表中插入一些不常用的字符时,必须要使用该形式)

    创建一个测试的数据表
    CREATE TABLE Student
    (
    	stu_Id INT NOT NULL PRIMARY KEY,
    	stu_Name NVARCHAR(4) NOT NULL,
    	stu_Gender BIT DEFAULT 0,
    	stu_Age INT NULL
    )
    GO

    示例代码:
    代码展示:
    1)、完整的INSERT语句
    INSERT INTO Student
     (stu_Id,stu_Name,stu_Gender,stu_Age)
     VALUES(111,N'张三',0,12)
    GO
    --代码说明:所有的列项都要添加新的数据,
    
    2)、不完整的INSERT语句(insert语句的简写形式)
    INSERT INTO Student
     (stu_Id,stu_Name,stu_Age)
     VALUES(101,N'李四',12)
     --代码说明:虽然stu_Gender的设置是NOT NULL,但是也对其进行了默认值设置,当不为其添加数值时,数据库系统会将默认值赋给它
     --			但是对于另一些为NOT NULL的项,若没有为其设置默认值,则不能这样简写(除非该项被设为NULL)
     --即上面的插入代码等同于
     INSERT INTO Student
     (,stu_Name,stu_Gender,stu_Age)
     VALUES(111,N'张三',DEFAULT,12)
    GO
    
     INSERT INTO Student
     VALUES(102,N'王五',0,13)
     GO
     --代码说明:对于这种省略列项的表达,值集合必须包含全部的列项(即使有项已经设置了默认值也不可以省略)
    
     3)、进行批量插入操作
    INSERT INTO Student
     (stu_Name,stu_Gender,stu_Age)
     SELECT stu_Name,stu_Gender,stu_Age 
      FROM Student
    GO
    --代码说明:将从一个表中查询到的数据批量的插入到表中
    
    SELECT * INTO Student1
     FROM Student 
     WHERE 1<>1
    GO
    --代码说明:复制一张表的结构信息,但是里面的内容没有复制
    
    SELECT * INTO Student2
     FROM Student 
    GO
    --代码说明:复制一张表中结构,并将该表中的数据信息也拷贝了一份(可以用来备份单个表)

     2、删除操作

    删除操作主要使用删除数据表中的数据

     常用语法:
     DELETE FROM table_name WHERE语句
    示例代码:
     1)、删除该数据表中的所有数据
     DELETE FROM Student
     GO
     --代码说明:delete语句没有添加where语句时,将会删除整个数据表中的数据
    
     2)、删除数据表中指定条件的数据
     DELETE FROM Student WHERE stu_Id = 111
     GO
    
     3)、三种清空表的比较
     TRUNCATE TABLE Student
     --代码说明:清空整张数据表,只产生一行日志信息
     DELETE FROM Student
     --代码说明:删除整张表中的数据,每删除一行数据就会产生一条日志信息
     DROP TABLE Student
     --代码说明:将该数据表彻底删除,(破坏了数据表的结构)

     3、修改操作

    修改操作就是对数据表中的某一行或某些行进行修改操作
    常用语法:
     UPDATE table_name SET 条件 WHERE语句
     --代码说明:
     --table_name:想要修改的数据表的名称
     --STE语句:为列项设置新的值
     --WHERER语句:进行条件选择
    示例代码:
    1)、修改指定的数据
     UPDATE Student 
      SET stu_Age=0  
      WHERE stu_Id = 101
    GO
    --代码说明:设置学号为101的学生的年龄为0
    
    2)、修改全部的数据信息
     UPDATE Student 
      SET stu_Age=0 
    GO
    --代码说明:设置该数据表中的学生的年龄全部为0(该操作不可控,一般情况下不使用)
    
    3)、其他形式的修改语句、
    UPDATE Student
     SET stu_Age += 1
    GO 
    --代码说明:数据表中学生的年龄全部加一
    
    UPDATE Student 
     SET stu_Age = 19
     WHERE stu_Age IS NULL
    GO
    --代码说明:将数据表中年龄为NULL的值设置为19
    
    UPDATE Student
     SET stu_Age = 19
      WHERE stu_Age IS NULL AND stu_Id = 101
    GO
    --代码说明:若学号为101的学生的年龄为NULL则将其设置为19 
    
    --关于WHERE语句只做了简单的描述,详细的描述将放到select语句中


  • 相关阅读:
    无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本。
    jQuery导航菜单防刷新
    IE6下Png透明最佳解决方案(推荐) Unit PNG Fix
    每周进步要点(第50周12.4-12.11)
    学习笔记:重塑你的自我驱动力
    学习笔记之是什么决定我们的命运
    读书《万万没想到 3》
    人与人之间的鄙视链是如何形成的?
    第7本《万万没想到-用理工科思维理解世界2》
    中明写公众号的时候他在想什么
  • 原文地址:https://www.cnblogs.com/z1r0s/p/14284187.html
Copyright © 2011-2022 走看看