標籤:dump enum tin dex 索引 date 檔案中 儲存到檔案 位元組
本文是MySQL的基礎知識。
Linux啟動MySQL服務命令 :
service mysql start
Linux關閉MySQL服務命令 :
service mysql stop
登入MySQL命令:
mysql -u <使用者名稱>
查看資料庫命令:
show databases;
切換資料庫命令:
use <資料庫名>[;]
查看錶命令:
show tables;
退出MySQL命令:
quit/exit
建立資料庫命令:
create database <資料庫名>;
建立資料表命令:
create table <表名>
(列名1 資料類型(資料長度),
…………
列名n 資料類型(資料長度)
);
執行sql檔案命令:
source <sql檔案路徑>;
MySQL資料類型
| 資料類型 |
大小(位元組) |
用途 |
格式 |
| int |
4 |
整數 |
|
| float |
4 |
單精確度浮點數 |
|
| double |
4 |
雙精確度浮點數 |
|
| enum |
|
枚舉,單選 |
ENUM(‘a‘,‘b‘) |
| set |
|
多選 |
set(‘1‘,‘2‘,‘3‘) |
| date |
3 |
日期 |
yyyy-MM-dd |
| time |
3 |
時間點或期間 |
yyyy-MM-dd hh:ms:ss |
| year |
1 |
年份值 |
yyyy |
| char |
0-255 |
定長字串 |
|
| varchar |
0-255 |
變長字串 |
|
| text |
0-65535 |
長文本資料 |
|
除此之外,還有tinyint、smallint、mediumint、bigint.
char與varchar區別:
char定長,字元不夠時補齊;varchar變長,沒有補齊的Null 字元
enum與set區別:
enum定義時要一一枚舉;set是多選的
MySQL約束分類:
| 約束類型 |
主鍵 |
預設值 |
唯一 |
外鍵 |
非空 |
| 關鍵字 |
PRIMARY KEY |
DEFAULT |
UNIQUE |
FOREIGN KEY |
NOT NULL |
主鍵約束命令:
<列名> <資料類型>[資料長度] PRIMARY KEY
或者
CONSTRAINT <主鍵名> PRIMARY KEY (<列名1>,…,<列名n>)
預設值約束命令:
<列名> <資料類型>[資料長度] DEFAULT <預設值>
唯一約束命令:
UNIQUE <(列名)>
外鍵約束命令:
CONSTRAINT <外鍵> FOREIGN KEY <(列名)> REFERENCES <表名><(列名)>
非空約束命令:
<列名> <資料類型>[資料長度] NOT NULL
插入資料命令:
insert into <表名>(<列名1>,…,<列名n>) values
(值1,…,值n),
…………
(值1,…,值n);
刪除庫命令:
drop database <庫名>;
刪除表命令:
drop table <表名>;
查詢命令:
select <列名n> from <表名> where <限制條件>;
數學符號條件:
= < > <= >= <> !=
AND 並且
OR 或者
BETWEEN ...... AND ...... 兩者之間
IN 在範圍內
NOT IN 不在範圍內
萬用字元:
_(底線) : 代表一個未指定字元,佔一位
% :代表不定個未指定字元
與 like 配合使用
結果排序:
order by [<關鍵字>];
ASC : 升序(預設)
DESC : 降序
內建函數:
| count |
sum |
avg |
max |
min |
| 計數 |
求和 |
求平均值 |
最大值 |
最小值 |
count 可以用於任意資料類型; sum和avg 用於數字類資料類型;max和min 用於數值、字元、日期時間類型
AS : 別名
子查詢
巢狀查詢
串連查詢命令
jion … on …
左串連(影響右表) : left jion … on …
右串連(影響左表) : right jion … on …
左右都有影響的串連 : inner jion … on …
表重新命名命令
rename table <表原名> to <表新名>;
alter table <表原名> rename <表新名>;
alter table <表原名> rename to <表新名>;
增加列命令
alter table <表名> add [column] <列名> <資料類型> <約束>;
或者 alter table <表名> add <列名> <資料類型> <約束>;
刪除列命令
alter table <表名> drop [column] <列名>;
列重新命名命令
alter table <表名> change <列原名> <列新名> <資料類型> <約束>;
修改資料類型命令
alter table <表名> modify <列名> <新資料類型>;
修改值命令
update <表名> set 列1=值1,…,列n=值n where <條件>;
刪除行記錄命令
delete from <表名> where <條件>;
建立索引命令
alter table <表名> add index <索引名>(<列名>);
或者 create index <索引名> on <表名>(列名);
查看索引命令
show index from <表名>;
建立視圖命令
create view <視圖名>(列1,…,列n) as select 列1,…,列n from <表名>;
匯入命令
將一個檔案的資料匯入到一張資料表裡
load data infile <‘檔案路徑和檔案名稱‘> into table <表名>;
匯出命令
把某表中的資料儲存到檔案中
select 列1,…,列n into outfile <‘檔案路徑和檔案名稱‘> from <表名>;
Database Backup命令
mysqldump -u <使用者名稱,如root> <資料庫名> > <檔案路徑和檔案名稱>;
資料表備份命令
mysqldump -u <使用者名稱,如root> <資料庫名> <表名> > <檔案路徑和檔案名稱>;
資料恢複命令
source <檔案路徑和檔案名稱>;
或者 mysql -u <使用者名稱,如root> <資料庫名> < <檔案路徑和檔案名稱>;
MySQL學習——基礎