查找记录
数据库80%的操是表的查询操作
SELECT select_expr [,select-expr]
[
FROm table_references
[WHERE where_condition]
[GROUP BY {col_name | position} [ASC | DESC],…]
[HAVING where_condition]
[OREDER BY {col_name | expr | position} [ASC | DESC],…]
[LiMIT {[offset,] row_count | row_count OFFSET offset}]
]
查询表达式 select_expr
每一个表达式表示想要的一列,必须有至少一个。
多个列之间以英文逗号分隔。
星号()表示所有列。tbl_name. 可以表示命名表的所有列。
查询表达式可以使用[AS] alias_name为其赋予别名。
别名可用于GROUP BY, ORDRE BY 或HAVING子句。
exp:
mysql> SELECT * FROM users;
+----+----------+----------------------------------+-----+------+
| id | username | password | age | sex |
+----+----------+----------------------------------+-----+------+
| 1 | Tom | 123 | 27 | 0 |
| 3 | Json | 123 | 25 | 0 |
| 4 | Json | 123 | 21 | 0 |
| 5 | Json | 123 | 23 | 0 |
| 6 | Rose | 202cb962ac59075b964b07152d234b70 | 19 | 0 |
| 7 | Ben | 456 | 8 | 0 |
+----+----------+----------------------------------+-----+------+
6 rows in set (0.00 sec)
mysql> SELECT id, username FROM users;
+----+----------+
| id | username |
+----+----------+
| 1 | Tom |
| 3 | Json |
| 4 | Json |
| 5 | Json |
| 6 | Rose |
| 7 | Ben |
+----+----------+
6 rows in set (0.00 sec)
mysql> SELECT users.id ,users.username FROM users;
+----+----------+
| id | username |
+----+----------+
| 1 | Tom |
| 3 | Json |
| 4 | Json |
| 5 | Json |
| 6 | Rose |
| 7 | Ben |
+----+----------+
6 rows in set (0.00 sec)
别名[AS] 可以省略但是强烈建议不要省略。
mysql> SELECT id AS userId,username AS uname FROM users;
+--------+-------+
| userId | uname |
+--------+-------+
| 1 | Tom |
| 3 | Json |
| 4 | Json |
| 5 | Json |
| 6 | Rose |
| 7 | Ben |
+--------+-------+
6 rows in set (0.00 sec)
mysql> SELECT id username FROM users;
+----------+
| username |
+----------+
| 1 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
+----------+
6 rows in set (0.00 sec)