一、庫操作:mysql> show databases;
+--------------------+
| database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
1.系統資料庫:
information_schema: 虛擬庫,不占用磁碟空間,儲存的是資料庫啟動後的一些引數,如使用者表資訊、列資訊、許可權資訊、字元資訊等
performance_schema: mysql 5.5開始新增乙個資料庫:主要用於收集資料庫伺服器效能引數,記錄處理查詢請求時發生的各種事件、鎖等現象
mysql: 授權庫,主要儲存系統使用者的許可權資訊
test: mysql資料庫系統自動建立的測試資料庫
2.建立資料庫:
help create # 檢視幫助資訊
help create database
# ...語法:
create database 資料庫名 charset utf8;
create database db1 charset utf8;
命名規則:
可以由字母、數字、下劃線、@、#、$
區分大小寫
唯一性不能使用關鍵字如 create select
不能單獨使用數字
最長128位
3.資料庫相關操作:
檢視資料庫
show databases;
show create database db1;
select database();
選擇資料庫
use db1;
刪除資料庫
drop database db1;
修改資料庫
alter database db1 charset utf8;
alter database db1 charset gbk;
二、表操作:
1.什麼是儲存引擎:
mysql中建立的庫===>資料夾
庫中建立的表===>檔案
儲存引擎說白了就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料等技術的實現方法。
因為在關聯式資料庫中資料的儲存是以表的形式儲存的,所以儲存引擎也可以稱為表型別(即儲存和操作此表的型別)
儲存引擎:表的型別 (表就是檔案) 有不同的檔案型別 .mp4 .txt
2.mysql支援得儲存引擎:+----------------+--------+
1 row in set (0.00 sec)1、innodb 儲存引擎
支援事務,其設計目標主要面向聯機事務處理(oltp)的應用。
2、myisam 儲存引擎
不支援事務、表鎖設計、支援全文索引,主要面向一些 olap 數 據庫應用。
在 mysql 5.5.8 版本之前預設的儲存引擎(除 windows 版本外)。
3、ndb 儲存引擎
ndb 儲存引擎是乙個集群儲存引擎,類似於 oracle 的 rac 集群。
4、memory 儲存引擎
memory 儲存引擎中的資料都存放在記憶體中,資料庫重 啟或發生崩潰,表中的資料都將消失。
5、infobright 儲存引擎
第三方的儲存引擎。其特點是儲存是按照列而非行的,因此非常 適合 olap 的資料庫應用。
其官方**是 上面有不少成功的資料 倉庫案例可供分析。
6、ntse 儲存引擎
網易公司開發的面向其內部使用的儲存引擎。
7、blackhole
黑洞儲存引擎,可以應用於主備複製中的分發主庫。
3.使用儲存引擎:
1.建表時指定
create table t1(id int,name char)
create table t2(id int,name char)engine=innodb;
create table t3(id int,name char(6))engine=memory;
2.在配置檔案中指定預設的儲存引擎
/etc/my.cnf
[mysqld]
default-storage-engine=innodb
innodb_file_per_table=1
3.檢視
[root@egon db1]# cd /var/lib/mysql/db1/
[root@egon db1]# ls
db.opt t1.frm t1.ibd t2.frm t2.ibd
4.練習
建立四個表,分別使用innodb,myisam,memory,blackhole儲存引擎,進行插入資料測試
[db1]> create table t1(id int)engine=innodb;
[db1]> create table t2(id int)engine=myisam;
[db1]> create table t3(id int)engine=memory;
[db1]> create table t4(id int)engine=blackhole;
[db1]> exit
1.windows:
資料夾中檢視到發現memory和blackhole兩種儲存引擎只有表結構,無資料
db.opt t1.frm t1.ibd t2.myd t2.myi t2.frm t3.frm t4.frm
測試後兩種儲存引擎是否無資料,重啟mysql檢視
停止mysql服務:
net stop mysql
啟動mysql服務:
net start mysql
memory,在重啟mysql或者重啟機器後,表內資料清空
blackhole,往表內插入任何資料,都相當於丟入黑洞,表內永遠不存記錄
2.linux:[root@egon db1]# ls /var/lib/mysql/db1/ #發現後兩種儲存引擎只有表結構,無資料
db.opt t1.frm t1.ibd t2.myd t2.myi t2.frm t3.frm t4.frm
檢視mysql版本:
status; # \s
select version();
mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.21-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)
# 重啟mysql服務:
# service mysqld restart
# service mysql restart (5.5.7版本命令)
# 或者:
# /etc/init.d/mysql restart
# 停止:
# service mysql stop
# 或者:/etc/init.d/mysql stop
# 啟動:
# service mysql start
# 或者:
# /etc/init.d/mysql start
#memory,在重啟mysql或者重啟機器後,表內資料清空
#blackhole,往表內插入任何資料,都相當於丟入黑洞,表內永遠不存記錄
資料庫儲存引擎
mysql中提到了儲存引擎這個概念。簡而言之,儲存引擎就是表的型別。資料庫的儲存引擎決定了表在計算機中的儲存方式。show engines語句可以檢視mysql資料庫支援的儲存引擎。innodb儲存引擎給mysql的表提供了事物,回滾,崩潰修復和多版本併發控制的事物安全。innodb是mysql上第...
資料庫儲存引擎
儲存引擎 處理表的處理器 1 基本操作 1 檢視所有的儲存引擎 show engines 2 檢視已有表的儲存引擎 show create table 表名 engine innodb 3 建立表時指定儲存引擎 create table 表名 engine myisam 4 工作中常用儲存引擎 in...
資料庫儲存引擎
資料庫引擎簡單來說就是乙個 資料庫發動機 當你訪問資料庫時,不管是手工訪問,還是程式訪問,都不是直接讀寫資料庫檔案,而是通過資料庫引擎去訪問資料庫檔案。以關係型資料庫為例,你發sql語句給資料庫引擎,資料庫引擎解釋sql語句,提取出你需要的資料返回給你。因此,對訪問者來說,資料庫引擎就是sql語句的...