1. mysql用sql語句創建表和資料庫怎麼設置字元編碼'
--創建資料庫時,設置資料庫的編碼方式
--CHARACTERSET:指定資料庫採用的字元集,utf8不能寫成utf-8
--COLLATE:指定資料庫字元集的排序規則,utf8的默認排序規則為utf8_general_ci(通過showcharacterset查看)
dropdatabaseifEXISTSdbtest;
_general_ci;
--修改資料庫編碼
_chinese_ci;
_general_ci;
--創建表時,設置表、欄位編碼
usedbtest;
droptableifexiststbtest;
createtabletbtest(
idint(10)auto_increment,
user_namevarchar(60)CHARACTERSETGBKCOLLATEgbk_chinese_ci,
emailvarchar(60),
PRIMARYkey(id)
)CHARACTERSETutf8COLLATEutf8_general_ci;
--修改表編碼
_general_ci;
--修改欄位編碼
(60)CHARACTERSETutf8COLLATEutf8_general_ci;
--查看所有的字元編碼
SHOWCHARACTERSET;
--查看創建資料庫的指令並查看資料庫使用的編碼
showcreatedatabasedbtest;
--查看資料庫編碼:
showvariableslike'%char%';
--設置character_set_server、setcharacter_set_client和setcharacter_set_resultssetcharacter_set_server=utf8;--伺服器的默認字元集。使用這個語句可以修改成功,但重啟服務後會失效。根本的辦法是修改配置MYSQL文件MY.INI,
2. mysql 更改資料庫字元編碼的方法
mysql如何更改資料庫字元編碼?藉助客戶端工具很容易就可以更改了,下面來看一下。
- 01
打開navicat客戶端工具,在左邊找到要更改的資料庫。
- 02
右鍵點擊這個資料庫,在菜單上點擊資料庫屬性選項。
- 03
在彈出的屬性窗口上,點擊默認字元集下的下拉框。
- 04
在彈出的下拉選項里,點擊選中要使用的字元集就行了,比如選擇常用的utf8字元集,點擊ok按鈕就行了。
3. SQL數據類型nchar,char,varchar與nvarchar區別
nchar與char是相似的,nvarchar與varchar是相似的。
char類型:
對英文(ASCII)字元佔用1個位元組,對一個漢字佔用2個位元組,CHAR存儲定長數據很方便,CHAR欄位上的索引效率級高,比如定義
char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間,不夠的字元用空格去填。因為是固定長度,所以速度效率高。
Varchar類型:Varchar
的類型不以空格填滿,比如varchar(100),但它的值只是"qian",則它的值就是"qian"
而char
不一樣,比如char(100),它的值是"qian",而實際上它在資料庫中是"qian
"(qian後共有96個空格,就是把它填滿為100個位元組)。
由於char是以固定長度的,所以它的速度會比varchar快得多!但程序處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!
VARCHAR存儲變長數據,但存儲效率沒有CHAR高。如果一個欄位可能的值是不固定長度的,我們只知道它不可能超過10個字元,把它定義為
VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什麼「+1」呢?這一個位元組用於保存實際使用了多大的長度。
nchar類型和Nvarchar類型是怎麼一回事呢?為了與其他多種字元的轉換,如中文,音標等,對每個英文(ASCII)字元都佔用2個位元組,對一個漢字也佔用兩個位元組,所有的字元都佔用2個位元組。
關於長度與漢字
varchar(100)/char(100)能存50個漢字,nvarchar(100)/nchar(100)能存100個漢字。
4. mysql用sql語句創建表和資料庫怎麼設置字元編碼'
方法如下:
我們先建一個DEMO表,來做我們今天的實現,建表語句如下:
CREATE TABLE
DEMO
(
NAME VARCHAR(50) COMMENT '姓名',
SEX CHAR(1) COMMENT '性別',
PRIMARY KEY (NAME)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表';
並且select查詢一下,如下圖
5. SQL 欄位類型(字元型)
char 定長字元串,一般用於存儲類似郵政編碼信息.
nvarchar 雙位元組字元串,適合存儲漢字,一個字元也將浪費1個雙位元組位.
varchar 單位元組字元串,在這里一個漢字佔用兩個位元組.
如果是混排個人覺得適合使用varchar.