加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL中数据表如何实现数据插入、更新、删除操作

发布时间:2022-11-09 10:54:29 所属栏目:MySql教程 来源:
导读:  小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  
  小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
 
  一、插入数据
 
  格式:INSERT INTO 表名(字段名...)VALUES(值...);
 
  创建环境
 
  使用person表
 
  CREATE TABLE person
 
  (
 
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
 
  name CHAR(40) NOT NULL DEFAULT '',
 
  age INT NOT NULL DEFAULT 0,
 
  info CHAR(50) NULL,
 
  PRIMARY KEY(id)
 
  );
 
  1.1、为表的所有字段插入数据
 
  方式一:INSERT INTO person(id,name,age,info) VALUES(1,'Green',21,'Lawyer');
 
  方式二:INSERT INTO person VALUES(2,'aaa',18,'MAN');

  方式三:INSERT INTO person (name,id,age,info) VALUES('bbb',3,17,'haha');
 
  总结:
 
  方式一和方式三说明插入数据时可以不用按照表结构中的顺序来,只要给的值与前面字段名一一对应即可,
 
  方式二表明可以忽略字段名,但是其值必须跟表结构中的字段顺序一样。
 
  使用这三种方式去为所有字段插入数据都可以。
 
  1.2、为表的指定字段插入数据
 
  在有时候,给表中插入记录行时,字段值不一定要全部都需要手动插入,可能id自动增长的,也有时某个字段使用默认值,不用插入值也行,这时候就需要为表指定字段来插入数据了。
 
  INSERT INTO person(name,age,info) VALUES('Willam',20,'sports man');
 
  这里就缺少了id字段,但是id字段是AUTO_INCREMENT,不用我们手动插入值
 
  1.3、同时插入多条记录
 
  格式:INSERT INTO 表名(字段名) VALUES(记录行值1),(记录行值2),...;
 
  解释:也就是相当于一条语句插入多条记录,就不用每次只插入一条数据了
 
  INSERT INTO person(name,age,info) VALUES('qqq',19,'haha'),('eee',14,'heihei');//插入两条数据。
 
  同时插入多条记录时,会出现三个名词 Records:表明插入的记录条数Duplicates:表名插入时被忽略的记录,原因可能是这些记录包含了重复的主键值Warnings:表明有问题的数据值,例如发生数据类型转换。 上面提示的是 2个Records,确实是插入了两条记录数
 
  1.4、将查询结果插入到表中
 
  在有的时候,可能需要将一张表中的数据搬到另一张表中,但是一条条输入记录,很慢,所以就有了这个将查询结果插入到表中数据库更新操作,也就是说,将一张表中查询到的结果,全部一次性插入到另一张表中,这样就很方便了,但是也有前提条件,那就是查询的结果的字段个数和插入到目标表的字段个数是一样的,并且数据类型也要相同。具体下下面这个例子。
 
  上面一张person表不够用,现在在创建一张表。
 
  CREATE TABLE person_old
 
  (
 
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
 
  name CHAR(40) NOT NULL DEFAULT '',
 
  age INT NOT NULL DEFAULT 0,
 
  info CHAR(50) NULL,
 
  PRIMARY KEY(id)
 
  );
 
  增加两条记录
 
  INSERT INTO person_id VALUES(11,'Harry',20,'studeng'),(12,'Beck',18,'polic');
 
  现在将person_old表中的所有数据转移到person表中。
 
  INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;
 
  这样看一下,id中间就好像断了一块,其实可以不用添加id字段,只添加后面三个字段的值
 
  INSERT INTO person(name,age,info) SELECT name,age,info FROM person_old;
 
  不指定id,那么就会按照person表中id的规则,AUTO_INCREMENT,这里说明一下AUTO_INCREMENT的原理,先检查表中最大的id值,然后往上面加1,每次做就会先检测最大的id值是多少。
 
  二、更新数据
 
  格式:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 条件;
 
  解释:通过条件找到要更新数据的那一行记录,然后通过SET 字段名=值这样的形式,写出要更改哪个字段,并更改为什么值。
 
  UPDATE person SET name = 'xxx' WHERE name='aaa';//将person表中name=aaa的记录行更新为name=xxx。
 
  解释:原本第二行的记录name=aaa。现在改为了xxx。可以同时改好多个值,不一定就只更改名字。主键id也能更改,只要主键不冲突,随便改成什么值
 
  UPDATE person SET id = 7 WHERE id = 14;//将id=14的记录行的id改为7
 
  三、删除数据
 
  格式:DELETE FROM 表名[WHERE ];
 
  解释:条件如果没有的话,那么就把表中所有数据度给删除了。如果有条件的话,就将符合条件的记录行删除。
 
  DELETE FROM person WHERE id = 13;//将person表中id=13的记录行给删除。
 
  DELETE FROM person;//将person表中所有数据度删除
 
  四、综合案例
 
  下面这个例题想做的人可以做一下,环境已经教大家搭建好了,这些由于比较简单,我就不在这里一一解答了。
 
  4.1、创建实验环境
 
  创建books表
 
  CREATE TABLE books
 
  (
 
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 
  name VARCHAR(40) NOT NULL,
 
  author VARCHAR(200) NOT NULL,
 
  PRICE INT(11) NOT NULL,
 
  pubdate YEAR NOT NULL,
 
  note VARCHAR(255) NULL,
 
  num INT NOT NULL DEFAULT 0
 
  );
 
  4.2、将下表中的路基插入books表中,分别使用不同的方法插入记录。

  4.2.1、指定所有字段名称插入记录
 
  4.2.2、不指定字段名称插入记录
 
  4.2.3、同时插入多条记录
 
  4.3、将小说类型novel的书的价格度增加5
 
  4.4、将名称为赵六的书的价格改为40,并将库存量num改为26
 
  4.7、删除库存为5的记录
 
  以上是“MySQL中数据表如何实现数据插入、更新、删除操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!