MariaDB快速入門
一、發展
MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可 MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。在儲存引擎方面,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius(英語:Michael Widenius)主導開發,他早前曾以10億美元的價格,將自己建立的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。(來源百度百科)
MariaDB成立於2009年,MySQL之父Michael “Monty” Widenius用他的新專案MariaDB完成了對MySQL的“反戈一擊”。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。 過去一年中,大型網際網路使用者以及Linux發行商紛紛拋棄MySQL,轉投MariaDB陣營。MariaDB是目前最受關注的MySQL資料庫衍生版,也被視為開源資料庫MySQL的替代品。(來源百度百科)
二、下載與安裝
下載地址:https://downloads.mariadb.org/
這裡我下載的是10.3.9版的windows系統的msi版的安裝包
下載完畢後點擊安裝,接受協議後
下一步設定
下一步設定
最後安裝
配置環境變數,複製安裝目錄
新增環境變數
開啟連線
方式一:
方式二:
進入命令列視窗輸入:mysqld即可;
ps:
如果要刪除相關服務,只需要在“管理員身份”的命令列視窗下面執行:
sc delete 服務名字
將 MySQL 安裝為服務的方式:
“C:\Program Files\MariaDB 10.3\bin\mysqld.exe” install MyDB --defaults-file=“C:\Program Files\MariaDB 10.3\my.ini”
三、MariaDB命令列常用簡單命令
win+R調出執行視窗,輸入cmd進入dos命令列操作介面
輸入mysqld開啟連線,輸入mysql -u root -p登入伺服器
常用命令
3.1. 連線伺服器:
mysql -h 主機地址 -P 埠號 -u 使用者 -p 密碼
3.2. 斷開連線:
quit或者eixt
3.3、檢視所有的資料庫或當前資料庫的表
show databases
3.4、檢視幫助
help;
3.5、切換資料庫
use database_name;
3.6、檢視當前使用的資料庫
select database();
3.7、查看錶結構
desc table_name;
describe table_name;
select columns from table_name;
3.8、表名重新命名
rename table old_name to new_name;
3.9、資料庫的匯入與匯出
1)匯出所有資料庫:
mysqldump -u [資料庫使用者名稱] -p -A>[備份檔案的儲存路徑]
2)匯出資料和資料結構:
mysqldump -u [資料庫使用者名稱] -p [要備份的資料庫名稱]>[備份檔案的儲存路徑]
備註:-h localhost 可以省略,其一般在虛擬主機上用。
3)只匯出資料不匯出資料結構:
mysqldump -u [資料庫使用者名稱] -p -t [要備份的資料庫名稱]>[備份檔案的儲存路徑]
4)匯出資料庫中的Events:
mysqldump -u [資料庫使用者名稱] -p -E [資料庫使用者名稱]>[備份檔案的儲存路徑]
5)匯出資料庫中的儲存過程和函式:
mysqldump -u [資料庫使用者名稱] -p -R [資料庫使用者名稱]>[備份檔案的儲存路徑]
--從外部檔案匯入資料庫中
1)使用“source”命令
首先進入“mysql”命令控制檯,然後建立資料庫,然後使用該資料庫。最後執行下面操作。
mysql>source [備份檔案的儲存路徑]
2)使用“<”符號
首先進入“mysql”命令控制檯,然後建立資料庫,然後退出 MySQL,進入 DOS 介面。最後執行下面操作。
mysql -u root –p < [備份檔案的儲存路徑]
3.10、其他常見的DDL、DCL、DML、TCL命令。
四、四大類SQL語言(DDL,DML,DCL,TCL)
4.1、DDL(Data Definition Language)資料定義語言
create database - 建立新資料庫
alter database - 修改資料庫
create table - 建立新表
alter table - 變更(改變)資料庫表
drop table - 刪除表
create index - 建立索引(搜尋鍵)
drop index - 刪除索引
4.2、DML(Data Manipulation Language)資料操作語言
select - 從資料庫表中獲取資料
update - 更新資料庫表中的資料
delete - 從資料庫表中刪除資料
insert into - 向資料庫表中插入資料
4.3、DCL(Data Control Language)資料控制語言
grant - 授權
revoke - 撤銷授權
deny - 拒絕授權
4.4、TCL(Transaction Control Language)事務控制語言
savepoint - 設定儲存點
rollback - 回滾
commit - 提交
五、資料型別
5.1、數值型別
5.2、日期時間型別
5.3、字串型別
5.4、enum型別
ENUM 中文名稱叫列舉型別,它的值範圍需要在建立表時通過列舉方式顯式指定,對 1~
255 個成員的列舉需要 1 個位元組儲存;對於 255~65535 個成員,需要 2 個位元組儲存。最多
允許有 65535 個成員。ENUM 型別是忽略大小寫的,ENUM 型別只允許從值集合中選取單個值,而不能一次取多個值。
5.5、set型別
Set 和 ENUM 型別非常類似,也是一個字串物件,裡面可以包含 0~64 個成員。根據
成員的不同,儲存上也有所不同。
- 1~8 成員的集合,佔 1 個位元組。
- 9~16 成員的集合,佔 2 個位元組。
- 17~24 成員的集合,佔 3 個位元組。
- 25~32 成員的集合,佔 4 個位元組。
- 33~64 成員的集合,佔 8 個位元組。
Set 和 ENUM 除了儲存之外,最主要的區別在於 Set 型別一次可以選取多個成員,而 ENUM
則只能選一個。SET 型別可以從允許值集合中選擇任意 1 個或多個元素進行組合,所以對於輸入的值只要是
在允許值的組合範圍內,都可以正確地注入到 SET 型別的列中。