mysql資料庫小結

2021-10-05 23:27:10 字數 1731 閱讀 1941

@adrian

default

character

set utf8 collate utf8_general_ci comment

'***x'

default character set utf8:資料庫字符集。設定資料庫的預設編碼為utf8,utf8中間不要"-";

collate utf8_general_ci:資料庫校對規則。ci是case insensitive的縮寫,意思是大小寫不敏感;相對的是cs,即case sensitive,大小寫敏感;還有一種是utf8_bin,是將字串中的每乙個字元用二進位制資料儲存,區分大小寫。

如果建表的時候選擇的是區別大小寫的規則而查詢的時候又暫時不想區別, 可以用類似 where column_name collate utf8_general_ci = 『***』 的寫法改變查詢使用的校對規則,新建資料 庫時一般選用utf8_general_ci就可以了。

comment 』 ***x』 表示注釋。

using

btree

索引是在儲存引擎中實現的,因此每種儲存引擎的索引都不一定完全相同,並且每種儲存引擎也不一定支援所有索引型別。

根據儲存引擎定義每個表的最大索引數和最大索引長度。所有儲存引擎支援每個表至少16個索引,總索引長度至少為256位元組。

大多數儲存引擎有更高的限制。mysql中索引的儲存型別有兩種:btree和hash,具體和表的儲存引擎相關;

myisam和innodb儲存引擎只支援btree索引;memory和heap儲存引擎可以支援hash和btree索引

b-tree索引是資料庫中訪問和查詢檔案(稱為記錄或鍵值)的一種方法.b-tree演算法減少定位記錄時所經歷的中間過程,從而加快訪問速度.

乙個b-tree的典型例子就是硬碟中的結點.與記憶體相比,硬碟花成倍的時間來訪問乙個資料元素,這是硬碟的機械部件讀寫資料的速度遠遠趕不上純 電子**的記憶體.與乙個結點兩個分支的二元樹相比,b-tree利用多個分支(稱為子樹)的結點,減少獲取記錄時所經歷的結點數,從而達到節省訪問時間的 目的.

engine

=innodb

auto_increment=8

character

set= utf8 collate

= utf8_general_ci row_format = dynamic;

engine=innodb表示將資料庫的引擎設定為innodb,從mysql 5.6開始預設使用該引擎。

auto_increment=8表示自動增長的起始值為8

default charset=utf8表示設定資料庫的預設字符集為utf8

row_format(fixed與dynamic)

在mysql中, 若一張表裡面不存在varchar、text以及其變形、blob以及其變形的字段的話,那麼張這個表其實也叫靜態表,即該錶的row_format是fixed,就是說每條記錄所占用的位元組一樣。其優點讀取快,缺點浪費額外一部分空間。

若一張表裡面存在varchar、text以及其變形、blob以及其變形的字段的話,那麼張這個表其實也叫動態表,即該錶的row_format是dynamic,就是說每條記錄所占用的位元組是動態的。其優點節省空間,缺點增加讀取的時間開銷。

所以,做搜尋查詢量大的表一般都以空間來換取時間,設計成靜態表。

MySQL資料庫小結

一 mysql是最流行的關係型資料庫管理系統 1 資料以 的形式出現 每乙個表的名字應具有唯一性 2 每行為各種記錄名稱 3 每列為記錄名稱所對應的資料域 4 許多的行和列組成一張表單 5 若干的表單組成database 二 四大類別 資料定義語言 ddl data definition langu...

MYSQL資料庫使用小結

由於專案的需要,新開發一套系統需要用到mysql資料庫.之前我沒有碰過mysql資料庫,經過一段時間的摸索和網上查詢資料 終於把專案做完.現在把有相關的資料總結一下,方便以後使用查詢.mysql版本的介紹 分為安裝版和免安裝版 個人認為 兩者的區別在於 安裝版在安裝時會幫你配置好,免安裝需要自己手工...

mysql資料庫的小結

經過挺長時間的自我探索和學習,我看了好多的東西,書籍?博文?或者是一些技術部落格上面的問答,但是由於能了解的東西還真的是不少,導致我總會忘記一些東西,所以我先簡單寫一點然後隨著看隨著進行記錄。可以看到裡面的東西除了外部的客戶端訪問,其餘的已經體現出來,裡面基本分為了兩個部分,底層是儲存引擎,上層則是...