常用 MySQL 指令
本文最近更新于 2017 年 10 月 09 日
基本指令:
資料定義語言(DDL):
建立資料庫或資料表: create
更變資料庫或資料結構: alter
刪除資料庫或資料表: drop
資料操作語言(DML):
查詢資料: select
插入資料: insert
更新資料: update
刪除資料: delete
資料控制語言(DCL):
確定資料的更變: commit
設定使用者對資料的操作權限: grant
取消使用者操作資料的權限: revoke
取消資料更變: rollback
实用指令:
重新整理資料表: optimize table 資料表名稱;
顯示:
1.显示所有数据库: show databases;
2.选择(使用)某一数据库: use 数据库名称;
3.显示数据库里的表: show tables from 数据库名称;
4.显示表的结构(分类): show columns from 表名;
5.显示目前正在使用的表: show tables;
6.显示表設定资讯(结构/分类): describe 表名[或简写desc 表名
20140508补充];
7.顯示某個資料表的索引欄位設定: show index from 資料表名稱;
新增:
1.新增資料庫: create database 資料庫名稱;
2.新增資料表: create table 資料表名稱 ( 欄位名稱1 資料型態,欄位名稱2 資料型態 );
3.新增欄位: alter table 資料表名稱 add 欄位名稱 資料型態;
修改:
1.修改資料表: alter table 舊資料表名稱 rename 新資料表名稱;
2.修改欄位刪除 : alter table 資料表名稱 drop 欄位名稱
刪除:
1.刪除資料庫: drop database 資料庫名稱;
2.刪除資料表: drop table 資料表名稱;
3.刪除欄位: drop 欄位名稱;
4.欄位刪除: alter table 資料表名稱 drop 欄位名稱
查詢:
查詢單一欄位資料: select 欄位名 from 資料表名稱;
查詢多個欄位資料:select 欄位名, 欄位名, 欄位名 from 資料表名稱;
查詢欄位資料的唯一值:select distinct 欄位名 from 資料表名稱; 注:重複值只列一次
查詢所有欄位資料:select * from 資料表名稱;
條件式查詢:select * from 資料表名稱 where 條件式 (例如 sn=‘5’); 注:(=, <, >, !=)
條件式查詢 and:select * from 資料表名稱 where 條件式1 and 條件式2;
條件式查詢 or:select * from 資料表名稱 where 條件式1 or 條件式2;
查詢某一範圍 between:select * from 資料表名稱 where 欄位名 between 值1 and 值2; 注:值為數字
查詢空值欄位的資料 :select * from 資料表名稱 where 欄位名 is null 注:not null;
查詢特定筆數資料:select * from 資料表名稱 limit 8, 10; 注:第9筆開始選取10筆
查詢結果遞增排序:select * from 資料表名稱 order by 欄位名;
查詢結果遞減排序:select * from 資料表名稱 order by 欄位名 desc;
查詢比對字串列出單一欄位:select 欄位名 from 資料表名稱 where 欄位名 like ‘%字串%’;
查詢比對字串列出所有欄位:select * from 資料表名稱 where 欄位名 like ‘%字串%’;
其他·详细
\G
MySQL 中提供了一个 G [g] 标志,放到 SQL 语句后,可以使每个列打印到单独的行。例如:link
CONCAT
使用方法:CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式,若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)
简单来说,CONCAT 函数可以连接一个或者多个字符串,示例:link
CONCAT_WS
使用方法:CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator,是 CONCAT() 的特殊形式。第一个参数是其它参数的分隔符,分隔符的位置放在要连接的两个字符串之间,分隔符可以是一个字符串,也可以是其它参数。
注意:如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
示例:link
GROUP_CONCAT
完整的语法如下:
GROUP_CONCAT([DISTINCT] 要连接的字段 [ORDER BY ASC/DESC 排序字段] [Separator '分隔符'])
示例:link
REPEAT()
示例:link
参考来源:
https://note.drx.tw/2012/12/mysql-syntax.html
https://inspire.twgg.org/programming/mysql/item/29-mysql-syntax-query-table.html
最近更新: