查看article表:
mysql> select * from article; +----+--------------+----------------------------+-----------+---------------------+ | id | title | content | author_id | create_time | +----+--------------+----------------------------+-----------+---------------------+ | 1 | 流畅的python | Python各种拽 | 1 | 2017-09-12 16:36:43 | | 2 | 嘻哈 | 中国有嘻哈 | 2 | 2017-09-12 16:36:43 | | 3 | 严肃 | 你这辈子就是吃了太严肃的亏 | 3 | 2017-09-12 16:36:43 | +----+--------------+----------------------------+-----------+---------------------+tag表插入数据:
INSERT INTO tag(name) VALUES('技术'), ('娱乐'), ('文学');查看tag表:
mysql> select * from tag; +----+------+ | id | name | +----+------+ | 1 | 技术 | | 2 | 娱乐 | | 3 | 文学 | +----+------+article_tag表插入数据:
INSERT INTO article_tag(article_id, tag_id) VALUES(1, 1), (2, 2), (3, 3);查看article_tag表:
mysql> select * from article_tag; +----+------------+--------+ | id | article_id | tag_id | +----+------------+--------+ | 1 | 1 | 1 | | 2 | 2 | 2 | | 3 | 3 | 3 | +----+------------+--------+4. 查询数据
MySQL 数据库使用SQL SELECT语句来查询数据。
你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。
语法
以下为在MySQL数据库中查询数据通用的 SELECT 语法:
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
你可以使用 WHERE 语句来包含任何条件。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
你可以使用 LIMIT 属性来设定返回的记录数。
实例
以下实例将返回数据表article的所有记录
查询指定字段数据
mysql> select title, content from article; +--------------+----------------------------+ | title | content | +--------------+----------------------------+ | 流畅的python | Python各种拽 | | 嘻哈 | 中国有嘻哈 | | 严肃 | 你这辈子就是吃了太严肃的亏 | +--------------+----------------------------+5. WHERE 子句
我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
语法
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
你可以在 WHERE 子句中指定任何条件。
你可以使用 AND 或者 OR 指定一个或多个条件。
WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
以下为操作符列表,可用于 WHERE 子句中。
下表中实例假定 A 为 10, B 为 20
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true (A < B) 返回 true。
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true。