MySQL 表的增删查改

一、插入数据

1. INSERT ... VALUES ...

1INSERT INTO <表名> [ <列名1> [ ,<列名n>] ] 2VALUES (1) [, (值n) ];

针对特定字段添加数据:

1mysql> insert into user 2 -> (id,name,password,balance,debt) 3 -> values(2,'song','1234',3000,100); 4Query OK, 1 row affected (0.01 sec)

添加多行数据:

1# 插入多行数据,在 values 后面表示,每个()里面的数据代表一行。mysql> insert into user 2 -> (id,name) 3 -> values (4,'zhao'),(5,'qian'); 4 5 6mysql> select * from user; 7+----+------+----------+---------+------+ 8| id | name | password | balance | debt | 9+----+------+----------+---------+------+ 10| 1 | Wang | 1234 | 15000 | 0 | 11| 2 | song | 1234 | 3000 | 100 | 12| 3 | li | 1234 | 2000 | 0 | 13| 4 | zhao | NULL | NULL | NULL | 14| 5 | qian | NULL | NULL | NULL | 15+----+------+----------+---------+------+

针对所有字段添加数据,可以省略字段部分:

1mysql> insert into user 2 -> values(3,'li','1234',2000,0);

2. INSERT ... SET ...

1INSERT INTO <表名> 2SET <字段1> = <1>, 3 <字段2> = <2>,   ...;

e.g.

1mysql> insert into user 2 -> set 3 -> id = 6, 4 -> name='sun'; 5Query OK, 1 row affected (0.01 sec) 6 7mysql> select * from user; 8+----+------+----------+---------+------+ 9| id | name | password | balance | debt | 10+----+------+----------+---------+------+ 11| 1 | Wang | 1234 | 15000 | 0 | 12| 2 | song | 1234 | 3000 | 100 | 13| 3 | li | 1234 | 2000 | 0 | 14| 4 | zhao | NULL | NULL | NULL | 15| 5 | qian | NULL | NULL | NULL | 16| 6 | sun | NULL | NULL | NULL | 17+----+------+----------+---------+------+

3. INSERT ... SELECT ... FROM...

将一个表中的数据复制到另一个表中:

将grade表中的record字段的数据,复制到user表中的debt字段中。

1mysql> insert into user 2 -> (debt) 3 -> select record from grade; 4Query OK, 4 rows affected (0.01 sec)

二、修改数据

1UPDATE <表名> SET 字段 1=1 [,字段 2=2] [WHERE 子句 ] 2[ORDER BY 子句] [LIMIT 子句]可选项:WHERE 限定修改范围,不指定where,则修改所有数据!ORDER BY 排序LIMIT 限定修改行数

e.g.

1# 先查询一下mysql> select * from user; 2+----+------+----------+---------+------+ 3| id | name | password | balance | debt | 4+----+------+----------+---------+------+ 5| 1 | Wang | 1234 | 15000 | 0 | 6| 2 | song | 1234 | 3000 | 100 | 7| 3 | li | 1234 | 2000 | 0 | 8| 4 | zhao | NULL | NULL | NULL | 9| 5 | qian | NULL | NULL | NULL | 10| 6 | sun | NULL | NULL | NULL | 11| 7 | NULL | NULL | NULL | 90 | 12| 8 | NULL | NULL | NULL | 80 | 13| 9 | NULL | NULL | NULL | 70 | 14| 10 | NULL | NULL | NULL | 87 | 15+----+------+----------+---------+------+ 16 17# 修改数据,将id为7的name字段改为‘Zhou’ 18mysql> update user set name='Zhou' where id=7; 19Query OK, 1 row affected (0.01 sec) 20Rows matched: 1 Changed: 1 Warnings: 0 21 22mysql> select * from user; 23+----+------+----------+---------+------+ 24| id | name | password | balance | debt | 25+----+------+----------+---------+------+ 26| 1 | Wang | 1234 | 15000 | 0 | 27| 2 | song | 1234 | 3000 | 100 | 28| 3 | li | 1234 | 2000 | 0 | 29| 4 | zhao | NULL | NULL | NULL | 30| 5 | qian | NULL | NULL | NULL | 31| 6 | sun | NULL | NULL | NULL | 32| 7 | Zhou | NULL | NULL | 90 | 33| 8 | NULL | NULL | NULL | 80 | 34| 9 | NULL | NULL | NULL | 70 | 35| 10 | NULL | NULL | NULL | 87 | 36+----+------+----------+---------+------+

三、删除数据

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

删除一条数据:

1mysql> select * from user; 2+----+------+----------+---------+------+ 3| id | name | password | balance | debt | 4+----+------+----------+---------+------+ 5| 1 | Wang | 1234 | 15000 | 0 | 6| 2 | song | 1234 | 3000 | 100 | 7| 3 | li | 1234 | 2000 | 0 | 8| 4 | zhao | NULL | NULL | NULL | 9| 5 | qian | NULL | NULL | NULL | 10| 6 | sun | NULL | NULL | NULL | 11| 7 | Zhou | NULL | NULL | 90 | 12| 8 | NULL | NULL | NULL | 80 | 13| 9 | NULL | NULL | NULL | 70 | 14| 10 | NULL | NULL | NULL | 87 | 15+----+------+----------+---------+------+ 16 17mysql> delete from user where id = 10; 18 19 20mysql> select * from user; 21+----+------+----------+---------+------+ 22| id | name | password | balance | debt | 23+----+------+----------+---------+------+ 24| 1 | Wang | 1234 | 15000 | 0 | 25| 2 | song | 1234 | 3000 | 100 | 26| 3 | li | 1234 | 2000 | 0 | 27| 4 | zhao | NULL | NULL | NULL | 28| 5 | qian | NULL | NULL | NULL | 29| 6 | sun | NULL | NULL | NULL | 30| 7 | Zhou | NULL | NULL | 90 | 31| 8 | NULL | NULL | NULL | 80 | 32| 9 | NULL | NULL | NULL | 70 | 33+----+------+----------+---------+------+

删除所有数据:delete from <表名>;

1mysql> select * from grade; 2+------+--------+ 3| gid | record | 4+------+--------+ 5| 1 | 90 | 6| 2 | 80 | 7| 3 | 70 | 8| 4 | 87 | 9+------+--------+ 10 11 12mysql> delete from grade; 13Query OK, 4 rows affected (0.01 sec) 14 15mysql> select * from grade;Empty set (0.00 sec)
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

sql注入

反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )