MySQL字元集詳解

來源:互聯網
上載者:User

標籤:個數   解決   style   blog   primary   計算   server   rac   現實生活   

一、什麼是字元集

  簡單的說吧、字元集就是一組對應關係的集合;

  1、現在的電腦是在二進位的基礎上建立出來的、二進位是數值的一種表達方式、也就是說二進位只的表達“數”、如十進位的3,在二進位中

  就可以寫成00000011;

  2、然而在現實生活當中相對於"數"而言我們用到更多的是“文字”;那這個問題(怎麼儲存文字)怎麼解決呢?然而這個問題根本沒有難道

  他們、它們決定用一個折中的方式解決;如:儲存‘a‘的時候我就儲存一個0,儲存‘b‘的時候我就儲存一個1,儲存‘A‘的時候我就儲存一個2

  儲存’B‘的時候我就儲存一個3。於是整個對應關係就變成了這樣

  字元 ->   編碼

  ‘a‘  -->  0

  ‘b‘  -->  1

  ‘A‘  -->  2

  ‘B‘  -->  3

  就這樣我們就定義了一個只有4個字元的字元集了;只不過我們這個字元集相比gbk\utf8這樣的字元集不知道low到那裡去了。

 

二、什麼是定序

  1、上面的內容我們已經自己定義了一個字元集了,有了字元集一些最基本的操作就可能做了,如:我想知道一個字元它是不是‘a‘那麼

  我只要去看這個字元的編碼是不是0就可以了,這樣就把一個字元問題變成了一個數字問題了,這樣資料上的相等(=),大小(>,<),也就有了

  新的意義了。

  2、我們這個字元集還有什麼不足嗎?如:要做到不區分大小寫,那麼我們之前的 =,<,>也就都來靈了;我們還要給這個字元集加上新的

  規則才行;如我們在這裡可以粗魯的加上規則 1:0=2 ,2: 1=3;這樣就可能做不區分大小寫了。

 

三、mysql中可以怎麼指定字元集

  1、mysql可以在執行個體層級指定預設字元集、配置項名:character_set_server

  2、可以在建立庫的時候指定字元集

create database testdb character set utf8;

  3、可以在建立表的時候指定表級的字元集

create table person(id int not null auto_increment primary key,name varchar(4)) character set utf8;-- 在表層級指定字元集是utf8

  4、可以在建立表的時候指定

create table person(id int not null auto_increment primary key,name varchar(4) character set utf8);-- 指定name 列的字元集是utf8

 

 

      

 

 

 

 

----

MySQL字元集詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.