1、向数据表中添加数据
使用SQL语句向数据表中添加数据
MySQL使用INSERT/REPLACE语句添加数据,可以添加一行记录的所有数据值,也可以添加一行记录的部分数据值,还可以添加多行数据。
(1)添加一行新记录
INSERT|REPLACE INTO <表名>[(<字段名1>[,<字段名2>…])] VALUES(<值>);
【例】使用INSERT语句在学生表s中添加一条学生记录(学号为“s9”,姓名为“郑冬”,性别为“女”,年龄为“21”,专业为“计算机”,院系为“信息学院”)。
INSERT INTO s(sno, sn, age, sex,maj, dept)
VALUES('s9', '郑冬', 21, '女', '计算机','信息学院');
注意: 必须用逗号将各个数据分开,字符型数据要用单引号括起来。 如果INTO子句中没有指定字段名,则新添加的记录必须在每个字段上均有值,且排序一致。 使用REPLACE语句添加记录时,如果要添加的新记录的主码或UNIQUE约束的字段值已存在于表中,则需删除已有记录后再添加新纪录。
(2)添加一行记录的部分数据值
【例】在选课关系表sc中添加一条选课记录(‘s7’, ‘c1’)。
INSERT INTO sc(sno, cno)
VALUES('s7', 'c1');
INTO子句中没有出现的字段,新添加的记录在这些字段上将被赋NULL值。但在表定义时有NOT NULL约束的字段不能取NULL值,添加记录时必须给其赋值。
(3)添加多行记录
INSERT|REPLACE INTO <表名> [(<字段名1>[,<字段名2>…])] VALUES(<值列表1>[,<值列表2>…])
【例】在选课关系表sc中添加3条选课记录(‘s8, ‘c1’)、(‘s8, ‘c2’)、(‘s8, ‘c5’)。
INSERT INTO sc(sno, cno)
VALUES('s8', 'c1'),
('s8', 'c2'),
('s8', 'c5');
2、修改数据表中数据
使用SQL语句修改数据表中数据
UPDATE <表名>
SET <字段名>=<表达式>[,<字段名>=<表达式>]…
[WHERE <条件>]
【例】(修改一行记录)把刘杨老师转到工学院。
UPDATE t
SET dept= '工学院'
WHERE tn= '刘杨';
【例】(修改多行记录)把所有学生的年龄增加1岁
UPDATE s
SET age=age+1;
3. 删除数据表中数据
使用SQL语句删除数据表中数据
DELETE
FROM <表名>
[WHERE <条件>]
【例】(删除一行记录)删除成绩为90.5分的记录。
DELETE
FROM sc
WHERE score = 90.5;
【例】(删除多行记录)删除所有教师的授课记录。
DELETE
FROM tc;