视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL笔记之修改数据的解决方法_MySQL
2020-11-09 18:56:36 责编:小采
文档


bitsCN.com

数据库通过插入、更新和删除等方式来该表表中的记录,其中

insert语句实现插入数据

update语句实现更新数据

delete语句实现删除数据

参考表

插入数据不指定字段名插入

不指定字段名插入

mysql> insert into person values(1,'张三','男',1988);
Query OK, 1 row affected, 1 warning (0.03 sec)

nsert into后面是表名,values后面是需要插入的数据

values中的数据必须与字段名相匹配,如第一字段为空值则输入null,尾部可不输入

需要注意的是,字符串数据必须用引号包裹


指定字段名插入

mysql> insert into person(id,name,sex,birth) values(6,'王芳','女',1992);
Query OK, 1 row affected, 1 warning (0.05 sec)

insert into 后面接表名和字段,此处的字段可调整位置

但一个必要条件是后面的values值必须与其字段对应


同时插入多条数据

mysql> insert into person(id,name) values(8,'钱名'),(9,'章硕');
Query OK, 2 rows affected (0.04 sec)
Records: 2 Duplicates: 0 Warnings: 0

values后面用多个括号插入数据,逗号隔开即可

至于插入的字段只需结合上面讲的两个例子使用

将查询结果插入到表中

mysql> insert into person2(id,name,sex,birth) select * from person;
Query OK, 9 rows affected, 6 warnings (0.03 sec)
Records: 9 Duplicates: 0 Warnings: 6

这里要注意,插入的字段和表中的字段个数和数据类型必须一致,否则就会报错


复制一张表

mysql> CREATE TABLE per AS SELECT * FROM person;
Query OK, 1 row affected (0.16 sec)
Records: 1 Duplicates: 0 Warnings: 0

update+表名代表要更新的表,set后面设置需要更新的内容

where用作更新条件,后面接表达式,只要表达式为真便满足条件

Tips:where 1也能代表真,即全部满足


多字段更新

mysql> update person set name='小红',sex='女' where id=3;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0

多字段更新只需要在set后面添加多个要修改的字段和数据即可,用逗号隔开

如果想更新所有记录则无需加where

tips:使用update要特别小心,因为有可能多条记录满足where条件

   最好是先查看一边表,确定要更新的记录


删除字段
删除指定记录

mysql> delete from person where id=9;
Query OK, 1 row affected (0.02 sec)

删除记录也需要跟上where限定

tips:除非你非常确定where子句只会删除你想要删除的行

   否则都应该用select来确认情况


删除所有记录

mysql> delete from person;
Query OK, 8 rows affected (0.03 sec)

在不跟where限定条件的情况下即可逐条删除所有记录

此外还有truncate table语句,它会删除原来的表,再重新建立,效率更高

tips:这里删除不会要任何提示,说删就删了,快的很

   所以使用的时候要格外小心,最好先把数据备份

bitsCN.com

下载本文
显示全文
专题