T-SQL之数据操作(一):增删改

时间:2022-09-15 23:11:41

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

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语句中