数据库的数据:

mysql 手册 中文 mysql官方手册中文版_MySQL

选择特定的行:

SELECT * FROM pet  WHERE name = 'Fluffy';

mysql 手册 中文 mysql官方手册中文版_数据_02

字符大小写通常没有影响,所以你可以使用name="fluffy' 或者“FLUFFY'.,结果是一样的。

你也可以使用其他任意一栏的条件(上面用的是name,这里可以换成birth,or其他任何有记录的元素)

SELECT * FROM pet WHERE birth >= '1995-01-01';

mysql 手册 中文 mysql官方手册中文版_数据_03

你也可以使用不同条件的组合形式,如定位雄性蛇(信息并列)

SELECT *FROM pet WHERE species = 'snake' AND sex = 'm';

(AND 可小写)

mysql 手册 中文 mysql官方手册中文版_MySQL_04

或者(多种选择)

SELECT * FORM pet WHERE species = 'snake' OR species = 'cat';

mysql 手册 中文 mysql官方手册中文版_mysql 手册 中文_05

AND 和OR也可以混用,AND比OR具有更高的优先级,如果使用两者操作,需要分析清楚条件是如何组合的。

例如

:

mysql 手册 中文 mysql官方手册中文版_MySQL_06

选择特定的列:

mysql 手册 中文 mysql官方手册中文版_MySQL_07

使用关键字WHERE 组合行和列

mysql 手册 中文 mysql官方手册中文版_数据_08

Sorting Rows(行排序)

你的数据可能是没有什么顺序。如果数据以某种方式顺序存在,对于某个记录的查找也很方便

需要用到ORDER BY (order by ) 

mysql 手册 中文 mysql官方手册中文版_数据库_09

排序默认为升序(第一个最小),如果要改成降序,添加DESC关键词。

mysql 手册 中文 mysql官方手册中文版_数据_10

你可以将不同的列作为排序的依据,上面将生日作为排序的依据,现在可添加动物种类来排序(字母顺序)

mysql 手册 中文 mysql官方手册中文版_数据库_11

日期计算:

MySQL提供一些可以用来计算日期的函数,例如计算年龄或者提取部分日期。

例如,要计算宠物的年龄是多少,可以使用TIMESTAMPDIFF()函数,参数中两个日期的差值,得出年龄age.

mysql 手册 中文 mysql官方手册中文版_mysql 手册 中文_12

结果是正确的,想想如果结果以某种顺序排序,是否更容易观察,可以使用前面提到的ORDER BY(这里假设选用name排序)

mysql 手册 中文 mysql官方手册中文版_数据_13

当然。也可以选用计算出来的age 来排序,只需要将上面name改为age即可

mysql 手册 中文 mysql官方手册中文版_MySQL_14

我们来查看一下数据库里宠物的信息

mysql 手册 中文 mysql官方手册中文版_数据_15

其中属于一只叫Claws的cat是在2100-09-04年死的,出生日期是1994-09-04,这么一算,它有106岁。他的death栏比是NULL,所以计算需要做点改动

mysql 手册 中文 mysql官方手册中文版_MySQL_16

如果你想知道下个月是不是哪个宠物过生日,这样的计算,年和日相对来说就是无关的

我们要做的就是从日期中提取月份,MySQL提供一些函数,如YEAR(),MONTH(),DAYOFMONTH()

这里最合适的就是MONTH()

mysql 手册 中文 mysql官方手册中文版_数据_17

如果现在是8月份,你很想知道9月份是否有宠物过生日

mysql 手册 中文 mysql官方手册中文版_mysql 手册 中文_18

结果是以0或1表示的,1就表明Claws是9月份过生日。如果想看得更详细,可以这样做

mysql 手册 中文 mysql官方手册中文版_MySQL_19

如果现在月份是12月份,情况可能有点复杂,你不能直接在12上加1,因为没有13月份。你需要找到的是1月份。

你可以这样做

mysql 手册 中文 mysql官方手册中文版_数据_20

也可以使用函数MOD(),当月份为12时,使month=0 然后加1

mysql 手册 中文 mysql官方手册中文版_mysql 手册 中文_21

MONTH()函数返回一个介于1~12之间的数。MOD(something,12) 返回一个0~11之间的数。

如果计算用到了不和法的日期,会导致计算失败并且产生警告

mysql 手册 中文 mysql官方手册中文版_数据_22

这个计算时正确的。当使用错误日期的时候:

mysql 手册 中文 mysql官方手册中文版_数据库_23

----------------------------------------------------------------------------------------------------------------------------------------