[TOC]
一. 綜合
使用.sql腳本
SOURCE + 腳本路徑;
打開(kāi)數(shù)據(jù)庫(kù)
USE database;
顯示所有數(shù)據(jù)庫(kù)名稱(chēng)
SHOW databases;
顯示所有表名稱(chēng)
SHOW tables;
顯示表中的列及屬性
SHOW column FROM table_name;
二. 檢索/查詢(xún)語(yǔ)句
普通查詢(xún)
檢索某一列
SELECT column_name FROM table_name;
檢索所有列,使用 * 通配符
SELECT * FROM table_name;
DISTINCT
- 檢索結(jié)果去重
SELECT DISTINCT column_name FROM TABLE_NAME
LIMIT
- 限制檢索結(jié)果行數(shù)
SELECT column FROM table_name LIMIT 5 ## 結(jié)果不超過(guò)5行
SELECT column FROM table_name 5,5 ## 返回從行5開(kāi)始的5行
SELECT column FROM table_name 5 OFFSET 4 ## limit m,n的替代語(yǔ)法 返回5行,從行4開(kāi)始
ORDER BY
- 檢索結(jié)果排序
SELECT * FROM table_name ORDER BY id DESC 降序/倒序
SELECT * FROM table_name ORDER BY id ASC ## 升序/正序
- 按多個(gè)列排序
SELECT * FROM table_name order by column1,column2;## 先按column1 排序,如果column1有2個(gè)或多個(gè)值相同,則再按照column2排序
WHERE子句
SELECT * FROM table_name WHERE price = 2.5;## 檢索出價(jià)格為2.5的產(chǎn)品
WHERE 子句操作符
操作符 | 說(shuō)明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN m AND n | 指定的兩個(gè)值之間 |
空值檢查
WHERE column IS NULL; ## 特殊的where 子句
邏輯操作符(operator)
- and
WHERE age = 19 AND score > 80 ;
- or
WHERE user_id = 1 or user_id = 2;
- in
WHERE user_id in (1,2,3,4);
- not 否定后跟條件的關(guān)鍵字
11.使用通配符進(jìn)行過(guò)濾
通配符(wildcard) 用來(lái)匹配值的一部分的特殊字符.
搜索模式(search pattern) 由字面值,通配符,或兩者組合構(gòu)成的搜索條件.
- 百分號(hào)%通配符,可以在搜索模式的任意位置使用任意個(gè)通配符,
SELECT * FROM table_name WHERE username LIKE 'rise%'; ##檢索以rise開(kāi)頭的用戶名
- 下劃線_通配符,用途和%一樣,但是只能匹配單個(gè)字符而不是多個(gè)
SELECT * FROM table_name WHERE price LIKE '_000'; ##檢索出價(jià)格為1000,2000等的商品
不要過(guò)度使用通配符,并且盡量不要在搜索模式的開(kāi)始出使用,搜索速度巨慢!
- Mysql使用正則表達(dá)式
SELECT * FROM table_name WHERE prod_name REGEXP '正則表達(dá)式';
計(jì)算字段
- Concat()拼接兩個(gè)列
## 將兩個(gè)列拼接起來(lái),變成一個(gè)新字段vend-title,類(lèi)似 '值name(location) '的形式,同時(shí)去掉兩個(gè)字段右側(cè)的空格.
## RTrim(),LTrim(),Trim()
## AS 用as賦予別名 (又叫導(dǎo)出列)
SELECT Concat(RTrim(vend_name) , ' (', RTrim(vend_country), ') ') AS vend_title
FROM vendors
ORDER BY vend_name;
- 執(zhí)行算術(shù)計(jì)算
## 通過(guò)單價(jià)和數(shù)量?jī)蓚€(gè)列運(yùn)算出商品總價(jià)并形成一個(gè)新字段 expanded_price
SELECT prod_id,
quantity,
item_price,
quantity * item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005;
- 測(cè)試計(jì)算
SELECT 3 * 2;
SELECT Trim('abc');
SELECT Now();