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