插入、删除和更新数据
一、插入数据
在创建了数据表后,就可以给表添加数据了,通常将该过程称为向表插入数据。
1.1插入完整地行
这里所说的完整地行是指包含表内所有字段的数据行。
语法格式如下:
INSERT INTO 表名
VALUES (字段1的值,字段2的值,……,字段n的值)
例子:
INSERT INTO SCORE
VALUES(8,7,75,65,54,)
1.2向日期时间型字段插入数据
INSERT INTO STU_INFO
VALLUES(7,‘吕宋’,‘男’,‘1983/3/4’,’18394839284’,’化学系’,30)
1.3将数据插入到指定字段
有时,并不需要插入完整地行,而需要将数据插入到指定的几个字段中。这时就需要在表名后加上字段列表。
1.4将查询结果插入表
INSERT INTO TEACHER
SELECT *
FROM TEACHER
WHERE TNAME='刘辉'
二、更新数据
所谓更新数据就是指修改数据。
更新数据使用SQL语句是UPDATE。该语句与INSERT语句相同,也需要对表有足够的访问权限。在有足够的访问权限的前提下,UPDATE语句可以更改表内的任何数据。
2.1更新单个字段的数据
语法格式如下:
UPDATE 表名
SET 字段名=更新值
WHERE 条件表达式
其中,UPDATE子句指定要更改那个表中的数据,SET子句指定将那个字段的数据用什么值替换,WHERE子句设置要更新的记录的条件。这三个字局的执行顺序和工作原理是:
(1)UPDATE子句。指定要使用的表并打开表。
(2)WHERE子句。将表中满足条件的记录放入结果集。
(3)SET子句。更新结果集中所有记录的特定字段的数据。
例子:
UPDATE STU_INFO
SET BIRTH='1993/3/4'
WHERE SNAME='SUAN'
2.2更新多个字段的数据
语法格式如下:
UPDATE 表名
SET 字段名1=更新值1,字段名2=更新值2,字段名3=更新值3
WHERE 条件表达式
其中,SET子句中的表达式之间用(,)隔开。
例子:
2.3使用表连接更新数据
实际上,在UPDATE语句中还可以使用FROM子句。通过FROM子句和WHERE子句配合,可以进行多表连接,即在UPDATE语句中可以通过多表连接更新数据。
例子:
UPDATE SCORE
SET ENGLISH=5
FROM SCORE,STU_INFO
WHERE SCORE.MATH=87 AND STU_INFO.SNO=SCORE.SNO
2.4使用UPDATE语句删除指定字段的数据
UPDATE语句除了更新数据以外,还有一个作用,即删除指定字段的数据。其实,所谓删除,只是使用NULL值替换原有的字段而已。
例子:
三、删除数据
这里的删除数据是指删除整条记录,而并非删除记录内的某字段的数据,要删除字段的数据,使用更新数据的方法即可。使用DELETE语句删除数据,该语句也需要对表有足够的访问权限。
3.1使用DELETE删除指定记录
语法格式:
DELETE FROM 表名
WHERE 条件表达式
其中,DELETE FROM 指定要从那个表删除数据,WHERE用于设置删除记录的条件。即DELETE语句从表中删除那些满足WHERE子句条件的所有记录。
当省略WHERE子句时,DELETE语句删除表中所有的记录。
例子:
3.2在DELETE语句中使用多表连接
例子:
DELETE STU
FROM STU AS S,STU_INFO AS ST
WHERE ST.SNAME='张三' AND ST.SNO=S.SNO
3.3使用DELETE语句删除所有记录
例子:
DELETE FROM STU
3.4使用TRUNCATE语句删除所有记录
前面介绍了使用DELETE删除表中所有记录的方法。但是,实际上使用DELETE语句删除表中所有记录的效率有时非常低。TRUNCATE是删除表中所有记录的另一条语句,与DELETE语句相比,TRUNCATE语句运行效率非常高。
例子:
TRUNCATE TABLE STU