w3school教程链接:https://www.w3school.com.cn/sql/index.asp
SELECT 语句
- 语法:SELECT
*FROM表; ------ 表示从表中选择所有列 - 例子:SELECT
*FROM产品; - 注意:末尾的
;必须是英文字符
- 语法:SELECT
列FROM表;------表示从表中选择列这一列 - 例子:SELECT
产品名称FROM产品;
- 语法:SELECT
列1,列2FROM表; ------表示从表中选择列1,列2两列 - 例子:SELECT
产品名称,单价FROM产品;
SELECT DISTINCT 语句
- 语法:SELECT DISTINCT
列FROM表; ------表示从表中选择列但不重复显示 - 例子:SELECT DISTINCT
单价FROM产品;
WHERE 子句
如需有条件地从表中选取数据 可将 WHERE 子句添加到 SELECT 语句
- 语法:SELECT
列FROM表WHERE列运算符值; - 例子:SELECT
*FROM产品WHERE供应商ID='3'; - 注意:值一定要被
' '(英文字符)包起来
- 例子:SELECT
*FROM产品WHERE供应商ID<'4';
AND & OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
- 语法:SELECT * FROM
表WHERE列1运算符'值1'AND列2运算符'值2' - 例子:SELECT * FROM
产品WHERE供应商ID='4'AND再订购量='0';
- 例子:SELECT * FROM
产品WHERE供应商ID<'4'AND再订购量>'0';
- 例子: SELECT * FROM
产品WHERE供应商ID='4'OR再订购量='7';
ORDER BY 子句
ORDER BY 语句用于根据指定的列对结果集进行排序,默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序可以使用 DESC 关键字。
- 语法:SELECT
列1, 列2FROM表ORDER BY列1 - 语法:SELECT
列1, 列2FROM表ORDER BY列1DESC ----- 以逆字母顺序显示列1 - 语法:SELECT
列1, 列2FROM表ORDER BY列1DESC列2ASC ----- 以逆字母顺序显示列1并以数字顺序显示列2: - 例子:SELECT
供应商ID,再订购量FROM产品ORDER BY供应商ID;
- 例子: SELECT
供应商ID,再订购量FROM产品ORDER BY供应商IDDESC;
INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行
- 语法:INSERT INTO
表VALUES(值1, 值2, ....) - 例子:INSERT INTO
产品VALUES('0', '草莓', '1', '1', '1', '1', '1', '1', '1', '1')
UPDATE 语句
Update 语句用于修改表中的数据
- 语法:UPDATE
表SET列=新值WHERE列=某值 - 例子:UPDATE
产品SET产品名称='桃桃子'WHERE产品名称='草莓';
DELETE 语句
DELETE 语句用于删除表中的行
- 语法:DELETE FROM
表WHERE列=值 - 例子: DELETE FROM
产品WHERE产品名称='牛奶'
TOP 子句
TOP 子句用于规定要返回的记录的数目,对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句 具体可见 SQL TOP 子句
MySQL 和 Oracle 中的LIMIT 和 SQL SELECT TOP 是等价的 在这里只了解MySQL
- 语法:SELECT * FROM
表LIMIT值 - 例子:SELECT * FROM
产品LIMIT 5
LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式
- 语法:SELECT
列FROM表WHERE列LIKE'模式%'或者'%模式' - 例子: SELECT
产品名称FROM产品WHERE产品名称LIKE'猪%';
- 例子:SELECT
产品名称FROM产品WHERE产品名称LIKE'%米';
通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符,SQL 通配符必须与 LIKE 运算符一起使用,语法同上
- 例子:SELECT
产品名称FROM产品WHERE产品名称LIKE'%肉';
- 例子:SELECT
产品名称FROM产品WHERE产品名称LIKE'鸡%';
- 例子:SELECT
产品名称FROM产品WHERE产品名称LIKE'_米_';
这两个没有试出来 有例子了再补
IN 操作符
IN 操作符允许我们在 WHERE 子句中规定多个值
- 语法:SELECT
列FROM表WHERE列IN(值1,值2,...) - 例子:SELECT
产品名称FROM产品WHERE产品名称IN('鱿鱼','干贝');
BETWEEN 操作符
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
- 语法:SELECT
列FROM表WHERE列BETWEEN值1AND值2 - 例子:SELECT
库存量FROM产品WHERE库存量BETWEEN'1'AND'30';
Alias(别名)
通过使用 SQL,可以为列名称和表名称指定别名(Alias)
- 语法:SELECT
列AS列FROM表 - 例子:SELECT
库存量AS库存FROM产品
JOIN
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据
-
语法:SELECT
表1.列1, 表1.列2, 表2.列3FROM表1INNER JOIN表2ON表1.列=表2.列 -
例子:SELECT
产品.产品名称 , 产品.产品ID , 产品.供应商IDFROM产品INNER JOIN订单明细ON产品.产品ID=订单明细.产品ID -
不同的 SQL JOIN
INNER JOIN 内连接关键字
- 注释:INNER JOIN 与 JOIN 是相同的
- INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 “Persons” 中的行在 “Orders” 中没有匹配,就不会列出这些行。
LEFT JOIN 左连接关键字
- 语法:SELECT
列FROM表1LEFT JOIN表2ON表1.列=表2.列 - 例子:
RIGHT JOIN 右连接关键字
- 语法:SELECT
列FROM表1LEFT JOIN表2ON表1.列=表2.列 - 例子:
FULL JOIN 全连接关键字
- 语法:SELECT
列FROM表1LEFT JOIN表2ON表1.列=表2.列 - 例子: