MySQL資料型別 字符集 引擎和索引

2021-07-28 07:22:42 字數 3261 閱讀 4407

在mysql中將資料型別分為以下幾種:

1.整型

mysql資料型別

所佔位元組

值範圍(有符號)

tinyint

1位元組-128~127

smallint

2位元組-32768~32767

mediumint

3位元組-8388608~8388607

int4位元組

-2147483648~2147483647

bigint

8位元組+-9.22*10的18次方

注意:

2.浮點型

mysql資料型別

所佔位元組

值範圍float(m,d)

4位元組單精度浮點型,m總個數,d小數字

double(m,d)

8位元組雙精度浮點型,m總個數,d小數字

decimal(m,d)

定點數decimal是儲存為字串的浮點數

注意:

mysql資料型別

所佔位元組

值範圍(有符號)

char

0-255位元組

定長字串

varchar

0-255位元組

變長字串

tinyblob

0-255位元組

不超過255個字元的二進位制字串

tinytext

0-255位元組

短文本字串

blob

0-65535位元組

二進位制形式的長文字資料

text

0-65535位元組

長文字資料

mediumblob

0-16777215位元組

二進位制形式的中等長度文字資料

mediumtext

0-16777215位元組

中等長度文字資料

longblob

0-4294967295位元組

二進位制形式的極大文字資料

longtext

0-4294967295位元組

極大文字資料

varbinary(m)

允許長度0-m個位元組的定長字串

值的長度+1個位元組

binary(m)

m允許長度0-m個位元組的定長字串

注意:

mysql資料型別

所佔位元組

值範圍date

3位元組日期,格式:2010-09-09

time

3位元組時間,格式:08:30:30

datetime

8位元組日期時間,格式:2010-09-09 08:30:30

timestamp

4位元組時間戳,自動儲存記錄修改的時間

year

1位元組年份,格式: 2010

注意:

mysql資料型別

說明示例

set集合型別

set(val1,val2,…val64)

enum

列舉型別

enum(val1,val2,…val65535)

enum型別

set型別

為了更好的識別中文、日文、英文等,對於常用的符號進行了編碼,這個編碼就是字符集。字符集確定了文字的儲存方式。

字符集

說明位元組長度

ascii

美國標準資訊交換**

單位元組gbk

漢字內碼擴充套件規範

雙位元組unicode

萬國碼4位元組

utf-8

unicode的可變長度字元編碼

1-6個位元組

注意:

mysql的強大之處在於它的外掛程式式儲存引擎,我們可以基於表的特點使用不同的儲存引擎,從而達到最好的效能。

引擎名稱

說明myisam

常用,讀取效率很高

innodb

常用,支援寫入和事務處理等

archive

不常用,歸檔引擎,壓縮比高達1:10,用於資料歸檔

ndb不常用,集群伺服器中使用

不支援事務,表鎖(表級鎖,加鎖會鎖住整個表),支援全文索引,操作速度快。常用於讀取多的業務。

行鎖設計,支援外來鍵,預設情況讀取操作不加鎖。

注:

類似於書的目錄,幫助快速定位到有用的資訊。索引越多寫入、修改的速度越慢。因為寫入修改資料時,也要修改對應的索引。

索引型別

說明語法

語法說明

普通索引

基本的索引

alter table 表 add index(某欄位)

為表的某欄位增加索引

唯一索引

某一行使用唯一索引,這一列的每行資料都要求是唯一的

alter table 表 add unique(某欄位)

為表的某欄位增加唯一索引

主鍵索引

特殊的唯一索引,不允許有空值。

alter table 表 add primary key(字段)

增加主鍵索引

全文索引

對於需要全域性搜尋的資料

alter table 表 add fulltext(字段)

增加全文索引

primary key(字段)

index [索引名] (字段)

fulltext [索引名] (字段)

unique [索引名] (字段)

索引名可選。

示例如下:

create

table user_sg (

id int

notnull,

username varchar(20) not

null,

password varchar(20) not

null,

content varchar(30) not

null,

primary

key(id),

index pw (password),

unique(username),

fulltext(content)

) engine=innodb;

mysql 字符集排序 mysql字符集和排序規則

1.關於字符集和排序規則 所為字符集,就是用來定義字元在資料庫中的編碼的集合。常見的字符集有 utf8 支援中文 和accis 不支援中文 資料庫中的排序規則用來定義字元在進行排序和比較的時候的一種規則。常見的如下 1 utf8 general ci 不區分大小寫,utf8 general cs 區...

mysql 字符集排序 MySQL字符集和排序介紹

客服端字符集 character set client utf8mb4 連線字符集 character set connectionutf8mb4 資料庫字符集 character set databaseutf8mb4 檔案系統字符集 character set filesystembinary ...

mysql字符集校對 MySql 字符集和校對

字符集是指一種從二進位制編碼到某類字元符號的對映,校對是指一組用於某個字符集的排序規則。而且每一類編碼字元都有其對應的字元集合校對規則。mysql 基本資訊 mysql支援多種字符集,咱們能夠經過use the information schema character sets table or t...