MySQL笔记之修改数据的解决方法
程序员文章站
2024-02-22 21:04:58
数据库通过插入、更新和删除等方式来该表表中的记录,其中
insert语句实现插入数据
update语句实现更新数据
delete语句实现删除数据参考表
插入数据不...
数据库通过插入、更新和删除等方式来该表表中的记录,其中
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:这里删除不会要任何提示,说删就删了,快的很
所以使用的时候要格外小心,最好先把数据备份