目錄 [-]css
本節內容:
一、庫操做 二、表操做 三、行操做
1、庫操做
一、建立數據庫
1.1 語法
CREATE DATABASE 數據庫名 charset utf8;
1.2 數據庫命名規則
能夠由字母、數字、下劃線、@、#、$ 區分大小寫 惟一性 不能使用關鍵字如 create select 不能單獨使用數字 最長128位 # 基本上跟python或者js的命名規則同樣
二、數據庫相關操做
也是一些基本操做,和咱們以前說的差很少。
關於庫的內容,有點少是吧,不是我們的重點,來看下面的表操做~~~html
2、表操做
一、存儲引擎(即表類型)
mysql根據不一樣的表類型會有不一樣的處理機制,
一、存儲引擎解釋
首先肯定一點,存儲引擎的概念是MySQL裏面纔有的,不是全部的關係型數據庫都有存儲引擎這個概念, 後面咱們還會說,可是如今要肯定這一點。 由於在關係數據庫中數據的存儲是以表的形式存儲的,因此存儲引擎也能夠稱爲表類型 (即:對錶的存儲、操做等的實現方法不一樣),表是什麼,表本質上就是磁盤上的文件。
其實MySQL支持多種存儲引擎,每種引擎有着一些本身獨特的功能,用戶在使用的時候,
能夠根據本身的業務場景來使用不一樣的存儲引擎,其中MySQL最經常使用的存儲引擎爲:MyISAM和InnoDB。
在詳細介紹這些存儲引擎以前,咱們先來看看MySQL的整個工做流程,看一下存儲引擎在哪裏,MySQL都作了哪些事情。前端
看下圖:這是我在MySQL官方手冊上拿下來的(手冊你若是可以玩好,未來你就能作一個NB的DBA~~~)
來,看每一個部分的解釋,看下圖:node
二、MySQL存儲引擎分類
前面咱們對MySQL進行操做的時候並無指定存儲引擎,爲何還能用呢,沒有指定還能用,說明什麼, 說明MySQL默認有一個存儲引擎, 我記得MySQL5.5以前,默認的存儲引擎是MyISAM,以後都改成InnoDB了, 咱們的重點就是這個InnoDB,也是公司中最經常使用的、最好用的引擎, 可是仍是一些公司在用MyISAM引擎, 除了歷史緣由以外,還有MyISAM的效率比InnoDB高一點, InnoDB在這方面作了不少優化,效率已經和MyISAM差很少了, 可是InnoDB引擎還有好多其餘的NB的功能, 下面咱們就介紹幾種存儲引擎。
首先看一下我們的默認存儲引擎:python
查看引擎的幾種方法
一、show engines;#查看MySQL全部的引擎, 二、show variables like "storage_engine%";查看當前正在使用的引擎 注意:在存儲大文件的時候,能夠存到數據庫,可是儘可能別直接存到數據庫裏面,會影響數據庫的效率, 咱們就存文件的路徑、地址,用戶想要這個大文件,咱們能夠到對應的路徑下取讀取這個文件給用戶。
三、幾種經常使用引擎介紹
一、MyISAM引擎
MyISAM引擎特色 MyISAM引擎適用的生產業務場景 MyISAM引擎調優精要 關於MyISAM的一些其餘介紹2.InnoDB引擎
InnoDB引擎特色 InnoDB引擎適用的生產業務場景 InnoDB引擎調優精要 關於InnoDB的一些其餘介紹四、事務
簡單地說,事務就是指邏輯上的一組SQL語句操做,組成這組操做的各個SQL語句, 執行時要麼全成功要麼全失敗。事務的介紹及特性
在介紹上面兩個引擎中涉及的兩個概念(OLTP和OLAP)的介紹
參考文章:mysql
五、其餘引擎的介紹
其餘引擎簡單介紹四、存儲引擎的使用
一、建立表時指定引擎
create table innodb_t2(id int)engine=innodb;
二、在配置文件中指定默認的存儲引擎
linux:vim /etc/my.cnf windows:my.ini文件 [mysqld] default-storage-engine=INNODB #配置默認引擎,如今用的mysql默認基本都是InnoDB,因此其實均可以不用配置了 innodb_file_per_table=1 #表示獨立表空間存儲,能夠不寫
三、不一樣引擎在建立表的時候生成文件的不一樣
建立四個表,分別使用innodb,myisam,memory,blackhole存儲引擎,進行插入數據測試 #下面是使用四個不一樣的引擎來建立的表 create table t1(id int)engine=innodb; create table t2(id int)engine=myisam; create table t3(id int)engine=memory; create table t4(id int)engine=blackhole; 經過四種引擎來建立的表,咱們對照着其生成的文件來看一下區別,看下圖:
四、關於上面的文件做用介紹:
數據庫文件夾中各文件的做用在Oracle 和SQL Server等全部數據存儲管理機制都是同樣的。 而MySql數據庫提供了多種存儲引擎。 用戶能夠根據不一樣的需求爲數據表選擇不一樣的存儲引擎,用戶也能夠根據本身的須要編寫本身的存儲引擎。
Oracle中不存在引擎的概念,
數據處理大體能夠分紅兩大類:聯機事務處理OLTP(on-line transaction processing)、
聯機分析處理OLAP(On-Line Analytical Processing)。
OLTP是傳統的關係型數據庫的主要應用,主要是基本的、平常的事務處理,例如銀行交易。
OLAP是數據倉庫系統的主要應用,支持複雜的分析操做,側重決策支持,而且提供直觀易懂的查詢結果。linux
二、表介紹
表至關於文件,表中的一條記錄就至關於文件的一行內容, 表中的一條記錄有對應的標題,稱爲表的字段
第一行的id、name二、age是字段,,其他的,一行內容稱爲一條記錄。sql
三、建立表
一、建立表的語法
#語法: create table 表名( 字段名1 類型[(寬度) 約束條件], 字段名2 類型[(寬度) 約束條件], 字段名3 類型[(寬度) 約束條件] ); #注意: 1. 在同一張表中,字段名是不能相同 2. 寬度和約束條件可選、非必須,寬度指的就是字段長度約束,例如:char(10)裏面的10 3. 字段名和類型是必須的