use (那个数据库) select (哪一列)[as] (命名) from (表格) join (表格) on (连接条件) / using (名称相同的列) where (判断条件) order by (列表)[desc(降序)], (列表)[desc(降序)], ...(--默认升序) limit (数字(跳过几个)) , (数字(截取几个))
运算符:
运算符
描述
+ - * / %
基础加减乘除
between (数字或日期) and (数字或日期)
获取–到–之间的
(查询条件) in (多个字符串或数字)
精确查询
like (sql通配符条件)
模糊查询
regexp (正则表达式)
用正则表达式查询
(查询列表) is null
查找没有值的单元格
通配符:
通配符
描述
%
替代 0 个或多个字符
_
替代一个字符
[charlist]
字符列中的任何单一字符 例:[ALN]
[^charlist] 或 [!charlist]
不在字符列中的任何单一字符 例:[!ALN]
正则表达式:
正则表达式
描述
^
表示字符串开始
$
表示字符串结尾
|
代表一个逻辑上的 或
[abcd]
匹配任意在括号里列举的单字符
[a-f]
匹配 a - f 的单字符
内连接 (例):
1 2 3 4
SELECT order_id,o.customer_id,first_name,last_name # 查找这几个 列表 FROM orders [AS] o # 从这个 表格 并把orders简化成o JOIN customers [AS] c # 内连接到这个 表格 并把customers简化成c ON o.customer_id = c.customer_id # 确保 orders 中的 customers_id 和 customers 中的 customer_id 一样
外连接 (例):
连接到其他数据库的表格:
1 2 3 4
SELECT * FROM orders_items [AS] oi # 从这个 表格 并把orders简化成o JOIN sql_inventory.products [AS] p # 外部数据库名称.表格名称 简化为 名字 ON oi.product_id = c.product_id
SELECT e.employee_id, e.first_name, m.first_name AS manager FROM employees AS e LEFT JOIN employees AS m ON e.reports_to = m.employee_id
多表连接(例):
1 2 3 4 5 6 7 8 9 10 11
SELECT o.order_id, o.order_date, c.first_name, c.last_name, os.name AS status FROM orders AS o JOIN customers AS c ON o.customer_id = c.customer_id JOIN order_statuses AS os ON o.status = os.order_status_id
复合连接条件(多个主键)(例):
适用于不能用一列区分每一行的表格,通过两列或多列确定每一个
1 2 3 4 5
SELECT * FROM order_items AS oi JOIN order _item_notes AS oin ON oi.order_id = oin.order_idf AND oi.product_id = oin.product_id
用 using 子句改写:
1 2 3 4
SELECT * FROM order_items AS oi JOIN order _item_notes AS oin USING (order_id,product_id)
隐式链接语法(例):
(内连接)
1 2 3 4
SELECT * FROM orders AS o JOIN customers AS c ON o.customer_id = c.customer_id
(表达的内容同上面的内连接一样)
1 2 3
SELECT * FROM orders AS o, customer AS C WHERE o.customer_id = c.customer_id
INSERT(插入):
列属性:
功能
描述
Column
列
Datatype
数据类型
PK
主键
NN
勾选表示不可为NULL
AI
自动自增
Default
默认值
插入行:
插入单行:
1 2 3 4 5
INSERT INTO (表格) -- 要输入每个列的值 VALUES('每个列的值') ---------------------- INSERT INTO (表格)('要插入的列') -- 输入有默认值的列的值 VALUES('每个列的值')
插入多行:
1 2
INSERT INTO (表格)('要插入的列') -- 输入有默认值的列的值 VALUES('value1'),('value2'),('value3'),('value4')