MySQL是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其用途廣泛。但很多時候,我們需要在數(shù)據(jù)庫中存儲和使用漢字,這就需要我們對MySQL創(chuàng)建數(shù)據(jù)時的語句進(jìn)行一些特殊的處理。
MySQL創(chuàng)建數(shù)據(jù)時的語句通常如下:
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
在默認(rèn)情況下,MySQL數(shù)據(jù)庫的編碼格式是utf8,而utf8編碼格式只能解析3個字節(jié)以內(nèi)的漢字,對于某些生僻字或者長度超過3個字節(jié)的漢字會無法解析。為了解決這個問題,我們可以將編碼格式修改為utf8mb4,utf8mb4編碼格式可以解析四字節(jié)編碼的字符,可以完美支持我們在數(shù)據(jù)庫中存儲漢字。
修改MySQL編碼格式可以使用如下命令:
ALTER DATABASE `database_name` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
在修改完MySQL的編碼格式之后,我們需要使用如下的語句在數(shù)據(jù)庫表中創(chuàng)建支持漢字的字段:
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
在創(chuàng)建表和修改數(shù)據(jù)庫編碼格式后,我們就可以將含有漢字的數(shù)據(jù)成功存儲到MySQL數(shù)據(jù)庫中了。
上一篇vue cli 報錯