Mysql简单入门教程

Mysql简单入门教程

4 (28人评价)
  • 课时:(22)

  • 学员:(1391)

  • 浏览:(67746)

  • 加入课程

第11课 插入、更新和删除数据的笔记

相关课时: 笔记详情:

插入、更新与删除数据

一、插入数据

向表中插入新的记录。通过这种方式可以为表中增加新的数据。MySQL中,通过INSERT语句来插入新的数据。使用INSERT语句可以同时为表的所有字段插入新的数据,也可以为表的制定字段插入数据。INSERT语句可以同时插人多条记录,还可以将一个表中查询出来的数据插入到另一个表中。

1、为表的所有字段插入数据

插入的新记录要包含表的所有字段。INSERT语句有两种方式可以同时为表的所有字段插入数据。第一种方式是不指定具体的字段名。第二种方式是列出表的所有字段。

a、INSERT语句中不指定具体的字段名

INSERT INTO 表名 VALUES(值1,值2,.....,值n);

e.g 下面向product表中插入记录。

INSERT INTO product VALUES(1001,'ABC 药物','治疗感冒','ABC 制药厂','北京市昌平区');

b、INSERT语句中列出所有字段

INSERT INTO 表名(属性1,属性2,......,属性n)  VALUES(值1,值2,.....,值n);

e.g 下面向product表中插入记录。

INSERT INTO product(id,name,function,company,address) VALUES(1002,'BCD 药物','治疗头痛','BCD 制药厂','北京市海淀区');

e.g 下面向product表中插入一条新记录。INSERT语句中字段的顺序与表定义时的顺序不同。

INSERT INTO product(id,function,name,address,company) VALUES(1003,'治疗癌症','AB 康复丸','北京市顺义区','AB 康复制药厂');

2、为表的指定字段插入数据

如果上一节中讲解的INSERT语句只是指定部分字段,这就可以为表中的部分字段插入数据了。

INSERT INTO 表名(属性1,属性2,属性3,......,属性m) VALUES(值1,值2,....,值m);

e.g 下面向product表中id、name和company这三个字段插入数据。

INSERT INTO product(id,name,company) VALUES(1004,'EF 咳嗽灵','EF 北京制药厂');

e.g 下面向product表的id,name和company字段插入数据,这三个字段的顺序可以任意排列。

INSERT INTO product(id,company,name) VALUES(1004,'北京制药厂','OK 护嗓药');

3、同时插入多条记录

用户可以使用上面两个小节中的方法逐条插入记录。但是,每次都要写一个新的INSERT语句,这样比较麻烦。MySQL中,一个INSERT语句可以同时插入多条记录。

INSERT INTO 表名[(属性列表)] VALUES(取值列表1),(取值列表2),...,(取值列表n);

e.g 下面向product表中插入三条新记录。

INSERT INTO product VALUES('1006','头痛灵1','治疗头痛','DD制药厂','北京市房山区'),('1007','头痛灵2','治疗头痛','DD制药厂','北京市房山区'),('1007','头痛灵3','治疗头痛','DD制药厂','北京市房山区');

e.g 下面向product表的id,name和company这三个字段插入数据,总共插入三条记录。

INSERT INTO product(id,name,company) VALUES('1009','护发1号','北京护发素厂'),('1010','护发2号','北京护发素厂'),('1011','护发3号','北京护发素厂');

4、将查询结果插入到列表中

INSERT语句可以将一个表中查询出来的数据插入到另一表中。这样,可以方便不同表之间进行数据交换。

INSERT INTO 表名1(属性列表1) SELECT 属性列表2 FROM 表名2 WHERE 条件表达式;

e.g 下面将medicine表中所有数据查询出来,然后插入到product表中。

INSERT INTO product(id,function,name,address,company) SELECT id,function,name,address,company FROM medicine;

 

二、更新数据

是更新表中已经存在的记录。可以改变表中已经存在的数据。例如,学生表中某个学生的家庭住址改变了,这就需要在学生表中该修改同学的佳通地址。MySQL中,通过UPDATE语句来更新数据。

UPDATE 表名 SET 属性名1=取值1,属性名2=取值2,....,属性名n=取值n WHERE 条件表达式;

e.g 下面更新product表中id值为1001的记录,将name字段的值变成“AAA 感冒药”,将address字段的值变为“北京市朝阳区”。

UPDATE product SET name='AAA 感冒药',address='北京市朝阳区' WHERE id=1001;

e.g 下面更新product表中id未1009到1011的记录,将function字段的值变成“护理头发”,将address字段的值变为“北京市昌平区”,先用SELECT语句查询id值从1009到1011的记录。

UPDATE product SET function='护理头发',address='北京市昌平区' WHERE id>=1009 AND id<=1011;

三、删除数据

删除表中已经存在的记录。可以删除表中不再使用的记录。例如,学生表中某个学生退学了,就需要从学生列表中删除该同学的信息。MySQL中,通过DELETE语句来删除数据。

DELETE FROM 表名 [WHERE 条件表达式];

e.g 下面删除product表中id值为1001记录。

DELETE FROM product WHERE id=1001;

e.g 下面删除product表中address值为“北京市顺义区”的记录。

DELETE FROM product WHERE address='北京市顺义区';

e.g 删除product表中所有记录

DELETE FROM product;

 

0 0

你感兴趣的课程

2万+浏览/ 158学员/ 5评分
免费
2万+浏览/ 422学员/ 0评分
免费
1万+浏览/ 390学员/ 4.6评分
免费