0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL字符集的設(shè)置修改和排序規(guī)則

汽車玩家 ? 來源:數(shù)據(jù)庫的那些事 ? 作者:數(shù)據(jù)庫的那些事 ? 2020-04-16 17:10 ? 次閱讀

1、字符集概述

大家都知道,計算機(jī)只能識別二進(jìn)制碼,為了讓計算機(jī)能處理文字,人們給每個文字進(jìn)行編碼,這個編碼就是計算機(jī)字符集的由來。

字符集是多個字符的集合,而字符是各種文字、符號和編碼的總稱。MySQL提供了字符集支持,可以使用各種字符集存儲數(shù)據(jù)??梢栽诜?wù)器,數(shù)據(jù)庫,表和列級別指定字符集。

MySQL字符集的設(shè)置修改和排序規(guī)則

MySQL常用字符集

MySQL字符集的設(shè)置修改和排序規(guī)則

MySQL排序規(guī)則后綴

2、MySQL的字符集和排序規(guī)則

字符集:用來定義MySQL存儲字符串的方式

排序規(guī)則:用來定義比較字符串的方式。

字符集和排序規(guī)則是一對多的關(guān)系。

在同一服務(wù)器,同一數(shù)據(jù)庫甚至同一表中混合使用具有不同字符集或排序規(guī)則的字符串

3、MySQL字符集的設(shè)置

服務(wù)器字符集和排序規(guī)則

服務(wù)器字符集和排序規(guī)則,可以在MySQL的配置文件匯中設(shè)置。

在my.cnf中設(shè)置

[mysql]
character_set_server=utf8

查詢當(dāng)前服務(wù)器的字符集和排序規(guī)則

show variables like 'character_set_server';
show variables like 'collation_server';

數(shù)據(jù)庫字符集和排序規(guī)則

數(shù)據(jù)庫字符集和排序規(guī)則可以在創(chuàng)建數(shù)據(jù)庫的時候指定,也可以在創(chuàng)建完數(shù)據(jù)庫后通過‘a(chǎn)lter database’命令進(jìn)行修改。如果數(shù)據(jù)庫里已經(jīng)存在數(shù)據(jù),則以前的數(shù)據(jù)還是按照久的字符集進(jìn)行存儲,新數(shù)據(jù)按照新的字符集存放。

設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則

MySQL字符集的設(shè)置修改和排序規(guī)則

設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則

查詢當(dāng)前數(shù)據(jù)庫的字符集和排序規(guī)則

show variables like 'character_set_database';
show variables like 'collation_ database';

MySQL設(shè)置數(shù)據(jù)庫字符集和排序規(guī)則的規(guī)則如下:

如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則

如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則

如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集

如果未指定字符集和排序規(guī)則,則使用服務(wù)器字符集和服務(wù)器排序規(guī)則。

表字符集和排序規(guī)則

表的字符集和排序規(guī)則在創(chuàng)建表的時候指定,也可以通過alter table命令進(jìn)行修改,如果表中已有數(shù)據(jù),修改字符集對原有數(shù)據(jù)沒有影響。

設(shè)置表字符集和排序規(guī)則

MySQL字符集的設(shè)置修改和排序規(guī)則

設(shè)置表字符集和排序規(guī)則

查詢當(dāng)前表的字符集和排序規(guī)則

show create table

MySQL設(shè)置表字符集和排序規(guī)則的規(guī)則如下:

如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則

如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則

如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集

如果未指定字符集和排序規(guī)則,則使用數(shù)據(jù)庫字符集和服務(wù)器排序規(guī)則。

列字符集和排序規(guī)則

每個“ 字符 ”列(即,類型列 CHAR, VARCHAR中, TEXT類型)都有字符集和列排序規(guī)則。列定義語法,CREATE TABLE并 ALTER TABLE具有用于指定列字符集和排序規(guī)則的可選子句:

MySQL字符集的設(shè)置修改和排序規(guī)則

設(shè)置列字符集和排序規(guī)則

查詢當(dāng)前列的字符集和排序規(guī)則

show create table

MySQL設(shè)置列字符集和排序規(guī)則的規(guī)則如下:

如果指定了字符集和排序規(guī)則,則使用指定的字符集和排序規(guī)則

如果指定了字符集未指定排序規(guī)則,則使用指定字符集其默認(rèn)排序規(guī)則

如果指定了排序規(guī)則但未指定字符集,則使用與排序規(guī)則相關(guān)的字符集

如果未指定字符集和排序規(guī)則,則使用表字符集和服務(wù)器排序規(guī)則。

4、MySQL字符集修改

修改帶有歷史數(shù)據(jù)的數(shù)據(jù)庫的字符集,步驟如下:

導(dǎo)出表結(jié)構(gòu)

手工修改導(dǎo)出文件的字符集為新的字符集

導(dǎo)出所有記錄

修改數(shù)據(jù)文件的字符集

創(chuàng)建新的數(shù)據(jù)庫

利用導(dǎo)出的文件建表

利用導(dǎo)出的文件導(dǎo)入數(shù)據(jù)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3739

    瀏覽量

    64173
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    794

    瀏覽量

    26353
收藏 人收藏

    評論

    相關(guān)推薦

    網(wǎng)關(guān)的設(shè)置規(guī)則

    網(wǎng)關(guān)的設(shè)置規(guī)則涉及多個方面,包括硬件安裝、網(wǎng)絡(luò)連接、基本配置、高級配置以及安全設(shè)置等。以下是一篇關(guān)于網(wǎng)關(guān)設(shè)置規(guī)則的詳細(xì)指南,旨在幫助用戶正確
    的頭像 發(fā)表于 09-30 11:48 ?435次閱讀

    AD9元器件間距規(guī)則如何設(shè)置

    在Altium Designer 9(簡稱AD9)中設(shè)置元器件間距規(guī)則,主要是為了確保PCB(Printed Circuit Board,印刷電路板)上的元器件之間保持適當(dāng)?shù)木嚯x,以避免短路、干擾或
    的頭像 發(fā)表于 09-02 15:26 ?1671次閱讀

    Jtti:MySQL初始化操作如何設(shè)置root密碼

    MySQL初始化時,可以通過以下步驟設(shè)置root密碼: 打開命令行工具,使用以下命令啟動MySQL服務(wù): ? sudo service mysql start ? 使用以下命令登錄
    的頭像 發(fā)表于 08-08 16:45 ?258次閱讀

    華納云:如何修改MySQL的默認(rèn)端口

    更改MySQL的默認(rèn)端口。 理解MySQL配置文件 MySQL的配置文件是控制服務(wù)器設(shè)置的關(guān)鍵。在不同的操作系統(tǒng)中,這個文件可能位于不同的位置: Linux: /etc/
    的頭像 發(fā)表于 07-22 14:56 ?242次閱讀
    華納云:如何<b class='flag-5'>修改</b><b class='flag-5'>MySQL</b>的默認(rèn)端口

    MySQL忘記root密碼解決方案

    mysql登錄密碼為password()算法加密,解密成本太高,以下為通用方案; 原理:mysql提供了特殊啟動方式,即跳過權(quán)限表驗證,啟動后,登錄不需要提供密碼; 登錄后,即可修改
    的頭像 發(fā)表于 04-23 16:08 ?594次閱讀

    Altium Designer電氣規(guī)則設(shè)置后無報錯原因解析

    可是很多時候我們明明是在規(guī)則編輯器里面設(shè)置規(guī)則的,為什么在我們規(guī)則之外的時候它竟然不報錯呢?是哪里設(shè)置不對嗎?
    發(fā)表于 03-28 09:35 ?1643次閱讀
    Altium Designer電氣<b class='flag-5'>規(guī)則</b><b class='flag-5'>設(shè)置</b>后無報錯原因解析

    pcb走線的規(guī)則設(shè)置方法介紹

    隨著電子產(chǎn)品的迅速發(fā)展,PCB(Printed Circuit Board)在電子設(shè)計中扮演著重要的角色。設(shè)計PCB走線時,合理設(shè)置規(guī)則是確保電路在安全、穩(wěn)定、高效工作的基礎(chǔ)。本文將詳細(xì)介紹PCB走
    的頭像 發(fā)表于 01-09 10:45 ?2178次閱讀

    mysql怎么新建一個數(shù)據(jù)庫

    : ``` CREATE DATABASE database_name [CHARACTER SET charset_name] [COLLATE collation_name]; ``` `CHARACTER SET`參數(shù)用于指定數(shù)據(jù)庫的字符集,`COLLATE`參數(shù)用于指定數(shù)據(jù)庫的
    的頭像 發(fā)表于 12-28 10:01 ?808次閱讀

    ad覆銅規(guī)則怎么設(shè)置距離

    AD覆銅規(guī)則是指在PCB板上通過化學(xué)方法將銅層覆蓋在絕緣層上,用于實(shí)現(xiàn)電路連接和信號傳輸。距離是指AD覆銅之間的間距,通常也稱為覆銅間距。合理的AD覆銅規(guī)則設(shè)置能夠保證電路的正常工作和可靠性,同時也
    的頭像 發(fā)表于 12-20 10:46 ?4226次閱讀

    oracle和mysql語法區(qū)別大嗎

    : Oracle支持更多的數(shù)據(jù)類型,包括數(shù)值型、字符型、日期型、二進(jìn)制型、大型對象(LOB)等。而MySQL的數(shù)據(jù)類型相對較少,例如,MySQL不支持日期時間戳(TIMESTAMP)以外的任何日期時間類型
    的頭像 發(fā)表于 12-06 10:26 ?1017次閱讀

    MySQL替換字符串函數(shù)REPLACE

    MySQL是目前非常流行的開源數(shù)據(jù)庫管理系統(tǒng)之一,它具有強(qiáng)大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串中的指定字符字符
    的頭像 發(fā)表于 11-30 10:44 ?1356次閱讀

    mysql字符串包含某個字符

    MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),被廣泛用于構(gòu)建Web應(yīng)用程序和其他大型數(shù)據(jù)驅(qū)動的應(yīng)用。在進(jìn)行MySQL數(shù)據(jù)庫查詢時,經(jīng)常需要使用字符串包含操作,即判斷一個字符串是否包含另一
    的頭像 發(fā)表于 11-16 14:52 ?3369次閱讀

    mysql數(shù)據(jù)庫默認(rèn)字符編碼是什么

    編碼是一種將字符映射到二進(jìn)制數(shù)據(jù)的方式。它定義了字符在計算機(jī)中的存儲和傳輸方式,決定了計算機(jī)如何解讀和顯示不同的字符。 為什么需要字符編碼: 由于不同國家和地區(qū)有不同的
    的頭像 發(fā)表于 11-16 14:50 ?1409次閱讀

    mysql8.0默認(rèn)字符集是什么

    支持存儲和處理 Unicode 字符,包括 emoji 表情符號。 字符集是用于定義數(shù)據(jù)庫中存儲的字符編碼規(guī)則的集合。它們指定了可以在數(shù)據(jù)庫中使用哪些
    的頭像 發(fā)表于 11-16 14:48 ?1695次閱讀

    mysql如何實(shí)現(xiàn)主從復(fù)制的具體流程

    。 配置主服務(wù)器 (1) 在主服務(wù)器上修改MySQL的配置文件my.cnf,打開二進(jìn)制日志功能,將參數(shù) log_bin 設(shè)置為ON,并指定二進(jìn)制日志文件的名稱和路徑,例如設(shè)置 log_
    的頭像 發(fā)表于 11-16 14:10 ?674次閱讀