(1)基本查询
SQL基本查询语法:SELECT * FROM <表名>;
SELECT查询的结果是一个二维表。
MySQL [test]> select * from students;
+----+----------+--------+--------+-------+
| id | class_id | name | gender | score |
+----+----------+--------+--------+-------+
| 1 | 1 | 小明 | M | 90 |
| 2 | 1 | 小红 | F | 95 |
| 3 | 1 | 小军 | M | 88 |
| 4 | 1 | 小米 | F | 73 |
| 5 | 2 | 小白 | F | 81 |
| 6 | 2 | 小兵 | M | 55 |
| 7 | 2 | 小林 | M | 85 |
| 8 | 3 | 小新 | F | 91 |
| 9 | 3 | 小王 | M | 89 |
| 10 | 3 | 小丽 | F | 85 |
+----+----------+--------+--------+-------+
10 rows in set (0.001 sec)
MySQL [test]> select 100+200;
ERROR 2006 (HY000): Server has gone away
No connection. Trying to reconnect...
Connection id: 10
Current database: test
+---------+
| 100+200 |
+---------+
| 300 |
+---------+
1 row in set (0.010 sec)
SELECT语句其实并不要求一定要有FROM子句,虽然SELECT可以用作计算,但它并不是SQL的强项。但是,不带FROM子句的SELECT语句有一个有用的用途,就是用来判断当前到数据库的连接是否有效。许多检测工具会执行一条SELECT 1;来测试数据库连接。
(2)条件查询
SELECT语句可以通过WHERE条件来设定查询条件,查询结果是满足查询条件的记录。
SQL条件查询语法:SELECT * FROM <表名> WHERE <条件表达式>;
条件表达式:
【1】<条件1> AND <条件2>, 表达满足条件1并且满足条件2。
【2】<条件1> OR <条件2>,表示满足条件1或者满足条件2。
【3】NOT <条件>,表示“不符合该条件”的记录。
【4】要组合三个或者更多的条件,就需要用小括号()表示如何进行条件运算。
注:如果不加括号,条件运算按照NOT、AND、OR的优先级进行,即NOT优先级最高,其次是AND,最后是OR。加上括号可以改变优先级。