1.记录的操作

  • INSERT    插入记录

1)方式一

INSERT   [INTO]   tb_name   [(col_name,...)]   {VALUES | VALUE}   ({expr | DEFAULT},...),(...),...

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值

mysql 查询id 的最大值 mysql查找最大id_查询表达式_02

注:如果要为默认自动编号的值赋值,可以将其设置为NULL。

mysql 查询id 的最大值 mysql查找最大id_查询表达式_03

注:如果要为默认自动编号的值赋值,可以将其设置为DEFAULT。

mysql 查询id 的最大值 mysql查找最大id_数据库_04

注:插入的值可以是数值也可以是表达式(字符/数字)

mysql 查询id 的最大值 mysql查找最大id_赋值_05

注:可以用默认值为设置了默认字段的值赋值。

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_06

注:插入多条记录,要在中间用逗号分隔。

2)方式二

INSERT   [INTO]   tb_name   SET  col_name={expr | DEFAULT},...

说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery);另外,对于上一种方法可以一次插入多条记录,而此方法一次只能插入一条记录。

mysql 查询id 的最大值 mysql查找最大id_数据库_07

注:这种方式可以只添加需要字段的内容,默认值可以通过自动补全

3)方式三

INSERT   [INTO]   tb_name   [(col_name,...)]   SELECT   ...

说明:此方法可以将查询结果插入到指定数据表。

mysql 查询id 的最大值 mysql查找最大id_查询表达式_08

mysql 查询id 的最大值 mysql查找最大id_字段_09

注:这样就可以将一个表中的数据插入到另一个数据表中,但也要注意数据项不匹配的问题,比如:

mysql 查询id 的最大值 mysql查找最大id_数据库_10

 

 

  • UPDATE  更新记录

单表更新

UPDATE   [LOW_PRIORITY]   [IGNORE]   table_reference   SET   col_name1={expr1 | DEFAULT}   [,col_name2={exp2 | DEFAULT}]   ... 

注:如果省略WHERE条件,则会导致整个表的记录都被更新,eg如下:

mysql 查询id 的最大值 mysql查找最大id_查询表达式_11

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_12

mysql 查询id 的最大值 mysql查找最大id_数据库_13

 

注:也可以对单一的表中的多条记录进行操作,eg如下:

mysql 查询id 的最大值 mysql查找最大id_数据库_14

mysql 查询id 的最大值 mysql查找最大id_查询表达式_15

mysql 查询id 的最大值 mysql查找最大id_数据库_16

 

注:如果想对某些条件进行操作的话,必须加上WHERE条件,比如我们要为id为偶数的对应年龄加上10,则可以:

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_17

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_18

注意: id % 2 = 0表示 id 为偶数,是 “=” 号。

mysql 查询id 的最大值 mysql查找最大id_查询表达式_19

 

  • DELETE  删除记录

单表删除

DELETE   FROM   tb_name

注:如果不加WHERE条件,则表示删除所有记录。如果删除某些特定的记录,需要加条件,比如删除第六条记录可写为:

mysql 查询id 的最大值 mysql查找最大id_字段_20

mysql 查询id 的最大值 mysql查找最大id_数据库_21

问题:如果此时再新插入一条记录,那么它的标号id将是几?

mysql 查询id 的最大值 mysql查找最大id_数据库_22

mysql 查询id 的最大值 mysql查找最大id_查询表达式_23

注:记录会添加当前记录中id号最大的,然后+1,并不会补充中间被删除的记录的id号。

 

  • SELECT   查找记录
SELECT   select_expr   [,select_expr   ...]
[
     FROM   table_references
     [WHERE   where_condition]
     [GROUP   BY   {col_name | position}   [ASC | DESC],...]
     [HAVING   where_condition]
     [ORDER   BY   {col_name | expr | position}   [ASC | DESC],...]
     [LIMIT    {[offset,]   row_count | row_count   OFFSET   offset}]
]

查询表达式  select_expr:

每一个表达式表示想要的一列,必须有至少一个。

mysql 查询id 的最大值 mysql查找最大id_赋值_24

多个列之间以英文逗号分隔。

星号(*)表示所有的列。tb_name.* 可以表示命名表的所有列。(为了解决多表连接问题出现相同字段的情况)

mysql 查询id 的最大值 mysql查找最大id_赋值_25

查询表达式可以使用 [AS]   alias_name 为其赋予别名。

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_26

别名可用于GROUP BY,ORDER BY或HAVING子句。

注:SELECT语句字段的别名影响以后的结果集中字段的别名;SELECT语句中字段出现的顺序将影响以后结果集中字段出现的顺序。

 

  • WHERE   条件表达式

对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。

在WHERE表达式中,可以使用MySQL支持的函数或运算符。

 

  • GROUP BY   查询结果分组

[GROUP   BY   {col_name | position]   [ASC | DESC],...]

注:ASC升序是默认的,DESC降序

mysql 查询id 的最大值 mysql查找最大id_字段_27

这块看到一篇特别棒的博客,自己理解的很有意思,分享一下链接:。

里面提到的中间的虚拟表select *的结果,再通过虚拟表得到最后select 实际需要的字段,然后输出。

 

  • HAVING   分组条件,即我们在GROUP BY分组的时候可以对一条记录分组也可以对某些记录分组

[HAVING   where_condition]

mysql 查询id 的最大值 mysql查找最大id_赋值_28

错误原因:如果在采用HAVIING进行分组条件的指定时, 一定要保证分组的条件要么为一个聚合函数,要么保证这个字段必须出现在当前的SELECT语句当中,否则会报错。

注:聚合函数是指:max(),min(),count(),avg(),sum()等,这类函数只有一个返回结果。

mysql 查询id 的最大值 mysql查找最大id_查询表达式_29

 

  • ORDER   BY   对查询结果进行排序

[ORDER   BY   {col_name | expr | position}   [ASC | DESC],...]

mysql 查询id 的最大值 mysql查找最大id_字段_30

mysql 查询id 的最大值 mysql查找最大id_数据库_31

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_32

如果某一项相同,则可以按照一个新的顺序规则进行排序然后输出:

mysql 查询id 的最大值 mysql查找最大id_数据库_33

 

  • LIMIT   限制查询结果返回的数量

[LIMIT   {[offset,]   row_count | row_count   OFFSET   offset}]

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_34

注:如果只有一个数字,代表从第一条记录开始返回,共返回这个数字条记录数。如果想要从中间某条开始返回并返回其后连续的某几条记录,则需要多个参数,如下图所示:

mysql 查询id 的最大值 mysql查找最大id_字段_35

注:返回的并不是预期的3,4条记录,因为当前的SELECT语句当前的记录偏移值OFFSET是从0开始编号,所以,如果想输出3,4条记录,则可以:

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_36

再举一例说明:

mysql 查询id 的最大值 mysql查找最大id_字段_37

 

mysql 查询id 的最大值 mysql查找最大id_赋值_38

mysql 查询id 的最大值 mysql查找最大id_字段_39

mysql 查询id 的最大值 mysql查找最大id_mysql 查询id 的最大值_40

mysql 查询id 的最大值 mysql查找最大id_数据库_41