1.关键字一览
关键字 |
说明 |
SELECT |
从表中查询数据 |
WHERE |
对结果进行筛选 |
ORDER BY |
排序 |
LIMIT |
限制返回的行数 |
UPDATE |
更新表的数据 |
INSERT INTO |
插入数据 |
DELETE |
删除表的数据 |
2.基本查询
SELECT * FROM users
SELECT username, email FROM users
SELECT * FROM users WHERE id = 1
3.进阶查询
//查询https开头的行
SELECT * FROM websites WHERE url LIKE 'https://%'
- 条件运算符:可以使用各种条件运算符(如 =, <, >, <=, >=, !=)
//过滤Alexa > 10 的行
SELECT * FROM websites WHERE Alexa > 10
- 逻辑运算:可使用与或非进行逻辑运算(AND, OR, NOT)
//过滤 2 < Alexa < 20 的行
SELECT * FROM websites WHERE Alexa > 2 AND Alexa < 20
- 范围查询:BETWEEN XX AND YY,查询介于 XX 和 YY 之间的数据,包括XX和YY
SELECT * FROM access_log where Visit_count BETWEEN 45 AND 100
- 多匹配查询:使用 IN 进行多值匹配,只保留括号中的数据
SELECT * FROM access_log WHERE Date IN ('2016-05-10','2016-05-13')
SELECT * FROM access_log LIMIT 5
- 分页查询:通过 LIMIT 配合 OFFSET 来跳过一些数据,达到分页查询的效果
//跳过前3条数据,返回2条(4,5)
SELECT * FROM websites LIMIT 2 OFFSET 3
4.排序
- 通过 order by 来指定根据哪个列来对查询结果进行排序,默认升序 ASC
- 根据age进行升序
SELECT * FROM users order by age
SELECT * FROM users order by age ASC
SELECT * FROM users order by age DESC
- 多级排序:先按第一列的条件排序,如果第一列的值一样,则按第二列的值再排序,越是前面的列,优先级越高
SELECT * FROM websites order by Country,Alexa
5.更新数据
- 使用 UPDATE 声明要更新的表,使用 SET 声明要更新的列,使用 WHERE 来指定要更新的行
UPDATE websites SET name = '谷歌' WHERE Id = 1
UPDATE websites SET name = '谷歌',Url = 'https://www.google.com.hk/' WHERE Id = 1
6.插入数据
- 通过 INSERT INTO 语句来插入数据,传入列名和数据(以下标进行匹配)
INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', 'test@runoob.com', '1990-01-01', true);
INSERT INTO users (username, email, birthdate, is_active)
VALUES
('test1', 'test1@runoob.com', '1985-07-10', true),
('test2', 'test2@runoob.com', '1988-11-25', false),
('test3', 'test3@runoob.com', '1993-05-03', true);
7.删除数据
- 通过 DELETE 来删除表的数据,一般通过 WHERE 指定要删除的行
DELETE FROM websites WHERE ID = 1
DELETE FROM websites