mofdan 发表于 2018-10-19 11:45:22

MySQL数据库基础(六)——SQL插入、更新、删除操作

MySQL数据库基础(六)——SQL插入、更新、删除操作

一、插入数据

1、为表的所有字段插入数据
  使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。
  

INSERT INTO table_name (column_list) VALUES (value_list);  
insert into `TSubject` (subjectID,subjectName,BookName,Publisher)
  
values ('0004','英语','大学英语走遍美国','清华出版社')
  
可以不指定插入的列
  
insert into `TSubject`
  
values ('0005','高等数学','高等数学教材','清华出版社')
  

2、为表的指定字段插入数据
  为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
  必须制定插入的列
  

insert into TSubject (subjectID,subjectName)  
values ('0006','高等数学2')
  
insert into TSubject (subjectName,subjectID)
  
values ('数据结构','0007')
  

3、同时插入多条记录
  INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下:
  

INSERT INTO table_name (column_list)  
VALUES (value_list1),(value_list2),...,
  
(value_listn);
  

  示例:
  

insert into TSubject (subjectName,subjectID)  
values ('C#开发','0008'),('苹果开发','0009')
  

4、将查询结果插入到表中
  INSERT语句和SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多个行。
  

INSERT INTOtable_name1(column_list1)  SELECT (column_list2) FROM table_name2
  WHERE (condition)
  

  示例
  

insert into ST (subectid,subjectName)  selectsubjectid,subjectName from TSubject where `Publisher` is not null
  

二、更新数据

1、根据本表的条件更改记录
  MySQL中使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。
  

UPDATE table_name  SET column_name1 = value1,
  column_name2=value2,……,
  column_namen=valuen
  WHERE (condition);
  

  示例:
  

update `TStudent` set sname=concat(sname,'net') where>
update `TStudent` set sname=left(sname,3) where>  

  根据学生的生日 在学生的姓名后标记 1988大一 1987年大二 1986年大三 1985年大四
  

update TStudent set sname=CONCAT(sname,case year(birthday)%5  when 0 then '大四' when 1 then '大三' when 2 then '大二' else '大一' end)
  where year(birthday)>=1985 and year(birthday)20
  

  实例:将有不及格的学生姓名后加*标记
  

update TStudent a join TScore b on a.`StudentID`=b.`StudentID`  
set a.`Sname`=concat(sname,'*') where b.mark
页: [1]
查看完整版本: MySQL数据库基础(六)——SQL插入、更新、删除操作