守望的麦子

常用 MySQL 指令

2014-3-25    曼谷 /others/2014/03/25/mysql.html others

本文最近更新于 2017 年 10 月 9 日

基本指令:

資料定義語言(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

关于作者
麦子,80 后,现从事通信行业。安卓玩家一个人的书房朗读者。
MRJENGLISH
jsntn
jasonwtien
jasonwtien
更多…… /about.html

最近更新: