MySQL 的基礎語法使用筆記
目錄
前言
自己經常用資料庫(數據庫),但是語法如果太久沒用都會忘光光,我就在這篇文章當作一個小抄,不然每次碰到 MySQL 語法問題都要 Google 一下語法使用,很麻煩。
MySQL 使用工具
我自己是比較偏好使用 MariaDB,因人而異,總之我這篇文章就略過什麼 MySQL 安裝過程,這些都是自己探索安裝一下就可以了。
|
|
基礎語法
自行修改中文成英文。不要真的輸入中文當資料庫名稱或資料表名稱喔。
操作功能 | MySQL 語法格式 | 說明 | |
---|---|---|---|
列出所有資料庫 | show databases; | ||
建立資料庫 | create database 資料庫名稱; | ||
刪除資料庫 | drop database 資料庫名稱; | ||
使用資料庫 | use 資料庫名稱; | ||
建立資料表 | create table 資料表名稱( sn integer auto_increment primary key, name char(20), mail char(50), home char(50), messages char(50) ); |
常用資料庫資料型態 1. INT (整數) 2. CHAR (1~255字元字串) 3. VARCHAR (不超過255字元不定長度字串) 4. TEXT (不定長度字串最多65535字元) |
|
列出所有資料表 | show tables; | ||
列出資料表欄位資訊 | describe 資料表名稱; | ||
修改資料表欄位 | alter table 資料表名稱 change column 原來欄位名稱 新欄位名稱資料型態; | ||
新增資料表欄位 | alter table 資料表名稱 add column 欄位名稱 資料型態; | ||
刪除資料表欄位 | alter table 資料表名稱 drop column 欄位名稱; | ||
刪除資料表 | drop table 資料表名稱; | ||
清空資料表 | truncate table 資料表名稱; | 只清除資料並保留結構、欄位、索引 … | |
插入欄位資料 | insert into 資料表名稱(欄位1,欄位2,欄位3,欄位4, …… 欄位N) values(‘值1’,‘值2’,‘值3’,‘值4’, …… ‘值N’); |
||
更新修改欄位資料 | update 資料表名稱 set 欄位1=‘值1’,欄位2=‘值2’,欄位3=‘值3’,… 欄位N=‘值N’ where 條件式 (例如 sn=‘5’ 或 name=‘塔司尼’ ); |
||
查詢單一欄位資料 | 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 ‘%字串%'; | ||
刪除條件值資料 | delete from 資料表名稱 where 條件式 (例如 sn=‘5’ 或 id=‘91001’ ); | ||
刪除條件值資料 | delete from 資料表名稱 where 條件式1 and 條件式2; | ||
刪除條件值資料 | delete from 資料表名稱 where 條件式1 or 條件式2; | ||
比對刪除條件值資料 | delete from 資料表名稱 where 欄位名 like ‘%字串%'; |
匯出資料庫
mysqldump 是個匯出 Database (資料庫) 的指令,也是 IT 人員最常用到的 MySQL 資料庫匯出方法之一。
|
|
- –all-databases: 匯出所有資料庫。
- –no-data: 不匯出資料。
- –routine: 匯出 stored routines (預存程序) 和自訂函數。
- –single-transaction: 該選項從伺服器轉儲數據之前發出一個BEGIN SQL- 句。
- –skip-lock-tables: 不鎖定 table (資料表)。
- –trigger: 匯出 trigger (觸發器)。
匯入資料庫
匯入 *.sql
最簡單的辦法的辦法就是進入 MySQL 建立一個資料庫並使用該資料庫,然後直接加載 *.sql
。
進入 MySQL:
|
|
建立並加載資料表,加載的資料庫位置是在檔案系統中的絕對位置。
|
|
新建資料庫使用者
我一般是建議新建一個跟 root 擁有一樣權限的使用者。
|
|