1. 程式人生 > >MySQL數據庫學習【第二篇】基本操作和存儲引擎

MySQL數據庫學習【第二篇】基本操作和存儲引擎

my.cnf 默認 ctu 管理系 int 建立 系統 管理 種類型

一、知識儲備

數據庫服務器:一臺計算機(對內存要求比較高)

數據庫管理系統:如mysql,是一個軟件

數據庫:oldboy_stu,相當於文件夾

表:student,scholl,class_list,相當於一個具體的文件

記錄:1 susan 158426544 22,相當於文件中的一行內容

二、初始SQL語言

SQL(Structured Query Language 即結構化查詢語言)
SQL語言主要用於存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT
DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE

三、系統數據庫

SQL(Structured Query Language 即結構化查詢語言)
SQL語言主要用於存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT
DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE

四、創建數據庫

數據庫命名規則:

可以由字母、數字、下劃線、@、#、$
區分大小寫
唯一性
不能使用關鍵字如 create select
不能單獨使用數字
最長128位
create database db1

五、數據庫相關操作

數據庫的相關操作
註意:數據庫就相當於文件夾
      表就相當於文件
數據庫的命名規則:
一.數據庫的增刪改查(sql語句)
增:create database db1;
刪:drop database db1;
改:alter database db1 charset utf8
查:show databases;#查看所有的數據庫
    show create database db1;查看指定的數據庫
設置默認的utf8,在配置文件中:寫上character_set_server = utf8
use db2   #代表你鼠標雙擊切換目錄
select database() #查看你當前在哪個文件夾 二.表的增刪改查 增:create table t1(id int ,name char); (t1.frm 表結構 ,t1.ibd 表數據) 刪:drop table t1; 改: 插入數據:insert into test(id,name) values(1,x) 不寫給誰傳值就指定都傳,而且還是按照位置傳 查:show tables; #查看所有表 show create table t1;#查看指定的表 select * from t1 #查看表數據 select id,name from t1 #查看表數據 engine = InnoDB 表的存儲引擎是InnoDB

六、什麽是存儲引擎?

存儲引擎說白了就是如何存儲數據、如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方
法。因為在關系數據庫中數據的存儲是以表的形式存儲的,所以存儲引擎也可以稱為表類型(即存儲和操作此表的類型)

SQL 解析器、SQL 優化器、緩沖池、存儲引擎等組件在每個數據庫中都存在,但不是每 個數據庫都有這麽多存儲引擎。MySQL 的插件式存儲引擎可以讓存儲引擎層的開發人員設 計他們希望的存儲層,例如,有的應用需要滿足事務的要求,有的應用則不需要對事務有這 麽強的要求 ;有的希望數據能持久存儲,有的只希望放在內存中,臨時並快速地提供對數據 的查詢。

一種類型表明的是一種存儲方式
存儲引擎:就是表的類型,不同的類型就會對應不同的處理機制去處理他
事務:就是要麽同時成功,要麽同時不成功

使用存儲引擎

方法1:建表時指定

存儲引擎
1.create table t1(id int) engine = innodb 會出現2個文件
2.create table t2(id int) engine = myisam 會出現3個文件(速度比上面的快),但是我們還是用innodb存儲 
3.create table t3(id int) engine = memory 只有表結構沒有表數據,是創建到內存中的
4.create table t4(id int) engine = blackhole  黑洞,吃數據(數據存進去就沒有了,存進去就沒有了)

方法2:在配置文件中指定默認的存儲引擎

/etc/my.cnf
[mysqld]
default-storage-engine=INNODB
innodb_file_per_table=1

MySQL數據庫學習【第二篇】基本操作和存儲引擎