1、向数据表中添加数据

使用SQL语句向数据表中添加数据

MySQL使用INSERT/REPLACE语句添加数据,可以添加一行记录的所有数据值,也可以添加一行记录的部分数据值,还可以添加多行数据。

(1)添加一行新记录

  1. INSERT|REPLACE INTO <表名>[(<字段名1>[,<字段名2>…])] VALUES(<值>);

【例】使用INSERT语句在学生表s中添加一条学生记录(学号为“s9”,姓名为“郑冬”,性别为“女”,年龄为“21”,专业为“计算机”,院系为“信息学院”)。

  1. INSERT INTO s(sno, sn, age, sex,maj, dept)
  2. VALUES('s9', '郑冬', 21, '女', '计算机','信息学院');

注意: 必须用逗号将各个数据分开,字符型数据要用单引号括起来。 如果INTO子句中没有指定字段名,则新添加的记录必须在每个字段上均有值,且排序一致。 使用REPLACE语句添加记录时,如果要添加的新记录的主码或UNIQUE约束的字段值已存在于表中,则需删除已有记录后再添加新纪录。

(2)添加一行记录的部分数据值

【例】在选课关系表sc中添加一条选课记录(‘s7’, ‘c1’)。

  1. INSERT INTO sc(sno, cno)
  2. VALUES('s7', 'c1');

INTO子句中没有出现的字段,新添加的记录在这些字段上将被赋NULL值。但在表定义时有NOT NULL约束的字段不能取NULL值,添加记录时必须给其赋值。

(3)添加多行记录

  1. INSERT|REPLACE INTO <表名> [(<字段名1>[,<字段名2>…])] VALUES(<值列表1>[,<值列表2>…])

【例】在选课关系表sc中添加3条选课记录(‘s8, ‘c1’)、(‘s8, ‘c2’)、(‘s8, ‘c5’)。

  1. INSERT INTO sc(sno, cno)
  2. VALUES('s8', 'c1'),
  3. ('s8', 'c2'),
  4. ('s8', 'c5');

2、修改数据表中数据

使用SQL语句修改数据表中数据

  1. UPDATE <表名>
  2. SET <字段名>=<表达式>[,<字段名>=<表达式>]…
  3. [WHERE <条件>]

【例】(修改一行记录)把刘杨老师转到工学院。

  1. UPDATE t
  2. SET dept= '工学院'
  3. WHERE tn= '刘杨';

【例】(修改多行记录)把所有学生的年龄增加1岁

  1. UPDATE s
  2. SET age=age+1;

3. 删除数据表中数据

使用SQL语句删除数据表中数据

  1. DELETE
  2. FROM <表名>
  3. [WHERE <条件>]

【例】(删除一行记录)删除成绩为90.5分的记录。

  1. DELETE
  2. FROM sc
  3. WHERE score = 90.5;

【例】(删除多行记录)删除所有教师的授课记录。

  1. DELETE
  2. FROM tc;