日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL修改字符集步骤(字段插入中文提示错误时解决办法)

發布時間:2023/12/18 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL修改字符集步骤(字段插入中文提示错误时解决办法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在實際應用中,如果一開始沒有正確的設置字符集,在運行一段時間以后,才發現當前字符集不能滿足要求,需要進行調整,但又不想丟棄這段時間的數據,這個時候就需要修改字符集。

在《MySQL設置默認字符集和校對規則》一節我們講到,ALTER DATABASE 或 ALTER TABLE 命令對已經存在的數據沒有作用,只對新創建的表或記錄生效。如果想修改已存在數據的字符集,需要先將數據導出,經過適當的調整后,再重新導入。

例 1

以下模擬的是將 gb2312 字符集的數據庫修改成 gbk 字符集的數據庫的過程。

1)創建 testset 數據庫,設置其字符集為 gb2312,并添加數據。

mysql> CREATE TABLE test.testset(-> id INT(11) DEFAULT NULL,-> name VARCHAR(25) DEFAULT NULL-> )CHARSET=gb2312; Query OK, 0 rows affected (0.10 sec)mysql> INSERT INTO test.testset VALUES (1,'C語言'); Query OK, 1 row affected (0.01 sec)mysql> INSERT INTO test.testset VALUES (2,'Java語言'); Query OK, 1 row affected (0.01 sec)mysql> INSERT INTO test.testset VALUES (3,'Python語言'); Query OK, 1 row affected (0.01 sec)

2)導出 testset 表結構,命令如下:

mysqldump -uroot -p --default-character-set=gbk -d test testset> D:\testset.sql

其中,--default-character-set=gbk 表示以什么字符集連接;-d 表示只導出表結構,不導出數據。

3)打開 testset.sql 文件,修改表結構定義中的字符集為新的字符集,如下圖所示。
?


4)確保表中的記錄不再更新,導出所有記錄。

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=gb2312 test testset> D:\testdata.sql

  • --quick:該選項用于存儲記錄多的表。它強制 mysqldump 從服務器一次一行地查詢表中的行,而不是查詢所有行,并在輸出前將它緩存到內存中。
  • --extended-insert:使用?INSERT 插入多行數據語法??梢允刮募?#xff0c;導入文件時加速插入。
  • --no-create-info:不導出表的 CREATE TABLE 語句。
  • --default-character-set=gb2312:按照原有的字符集導出所有數據。這樣導出的文件中,所有中文都是可見的,不會保存成亂碼。


5)打開 testdata.sql,將 SET NAMES gb2312?修改成 SET NAMES gbk,如下圖所示。
?


6)使用新的字符集創建新的數據庫。

CREATE DATABASE test2 DEFAULT CHARSET gbk;


7)創建表,執行 testset.sql。

mysql -uroot -p test2 < D:\testset.sql


8)導入數據,執行 testdata.sql。

mysql -uroot -p test2 < D:\testdata.sql


9)查看 testset 表結構是否修改了字符集,以及表內數據是否丟失或亂碼,SQL 語句和運行結果如下:

mysql> SHOW CREATE TABLE test2.testset \G *************************** 1. row ***************************Table: testset Create Table: CREATE TABLE `testset` (`id` int(11) DEFAULT NULL,`name` varchar(25) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk 1 row in set (0.00 sec)mysql> SELECT * FROM test2.testset; +------+------------+ | id | name | +------+------------+ | 1 | C語言 | | 2 | Java語言 | | 3 | Python語言 | +------+------------+ 3 rows in set (0.00 sec)

注意:選擇目標字符集的時候,要注意最好的是原字符集的超集,或者確定比原字符集的字庫更大,否則如果目標字符集的字庫小于原字符集的字庫,那么目標字符集中不支持的字符導入后會變成亂碼,丟失一部分數據。

總結

以上是生活随笔為你收集整理的MySQL修改字符集步骤(字段插入中文提示错误时解决办法)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色噜噜在线 | 91成人在线免费 | 亚洲在线视频播放 | av资源首页 | 天天干天天插 | 日韩一区二区不卡视频 | 欧美大片xxxx | 免费高清视频在线观看 | 青娱乐国产在线 | 午夜九九 | 国产精品丝袜黑色高跟鞋的设计特点 | 国产精品无码一本二本三本色 | 主人性调教le百合sm | www日本色 | 爱爱色图| 天天干夜夜玩 | 影音先锋在线国产 | 亚洲国产精彩中文乱码av | 午夜高清视频 | 色干干 | 爱爱爱免费视频 | 日本少妇作爱视频 | 亚洲AV无码国产精品 | 羞羞的视频在线观看 | 精品99在线| 一级全黄少妇性色生活片 | 免费精品久久 | 天天综合网天天综合色 | 日韩美女免费线视频 | 色屁屁www影院免费观看入口 | 男人视频网 | av一区二区三区在线 | 国产一区二区三区高清 | 极品国产白皙 | 久色在线 | 污片免费在线观看 | 午夜剧场免费观看 | 人妻少妇精品一区二区三区 | 成人精品视频一区二区三区尤物 | 丝袜美女被c | 亚洲视频在线视频 | 人妻少妇精品无码专区 | 亚洲自拍电影 | av丝袜天堂 | av一区在线观看 | 日韩精品久久久久久久酒店 | 98成人网 | 扶她futa粗大做到怀孕 | 日韩av资源 | 尤物网站在线播放 | 毛片高清免费 | 成人免费大片黄在线播放 | 亚洲精品18p | 自拍欧美亚洲 | 日本高清不卡一区 | 黑人巨大猛交丰满少妇 | 豆花在线观看 | 色妞综合 | 国产夫妻露脸 | 精品国产免费观看 | 91最新国产 | 在线播放成人 | 韩国伦理片在线播放 | 91av视频播放 | 成人做受视频试看60秒 | 亚洲一区二区三区av无码 | 欧美精品在线观看 | 日韩精品五区 | 国产精品jizz视频 | 极品白嫩的小少妇 | 香蕉国产 | 午夜精品久久久久 | 久久久亚洲精品无码 | 久久精品综合网 | 久久亚洲AV无码专区成人国产 | 成人69视频| 伊人影院在线播放 | 成人国产一区 | 天堂а√在线最新版中文在线 | 国产香蕉网 | 呦呦网 | 一级黄色美女 | 国产97色| 亚洲伊人精品 | 成人教育av | 东方伊甸园av在线 | 久久久久亚洲av成人毛片韩 | 日本精品少妇 | 成人久久网 | 寡妇一级片| 色骚网 | 国产国语videosex另类 | 免费网站污 | 波多野结衣在线播放 | 激情三级在线 | 色av吧| 国产小视频在线观看 | 成年人看的黄色 | 糖心logo在线观看 |