導航:首頁 > 數據分析 > 在哪裡設置資料庫的字元類型

在哪裡設置資料庫的字元類型

發布時間:2024-06-29 05:55:43

㈠ 濡備綍SQL Server 2005 璁劇疆瀛楃﹂泦涓篣TF-8

1.sp_helpsort
SELECT SERVERPROPERTY ('Collation')
鏌ョ湅浣犵殑鎺掑簭瑙勫垯.
涓嶈繃浣犵殑榪欎釜搴旇ュ拰瀛楃﹂泦鏈夊叧.

2.鏇存敼鏈嶅姟鍣ㄦ帓搴忚勫垯
鏇存敼 SQL Server 2005 瀹炰緥鐨勯粯璁ゆ帓搴忚勫垯鐨勬搷浣滃彲鑳戒細姣旇緝澶嶆潅錛屽寘鎷浠ヤ笅姝ラわ細

紜淇濆叿鏈夐噸鏂板壋寤虹敤鎴鋒暟鎹搴撳強榪欎簺鏁版嵁搴撲腑鐨勬墍鏈夊硅薄鎵闇鐨勫叏閮ㄤ俊鎮鎴栬剼鏈銆
浣跨敤宸ュ叿錛堜緥濡傚ぇ瀹歸噺澶嶅埗錛夊煎嚭鎵鏈夋暟鎹銆
鍒犻櫎鎵鏈夌敤鎴鋒暟鎹搴撱
閲嶆柊鐢熸垚鍦 setup 鍛戒護鐨 SQLCOLLATION 灞炴т腑鎸囧畾鏂扮殑鎺掑簭瑙勫垯鐨 master 鏁版嵁搴撱備緥濡傦細
澶嶅埗浠g爜
start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI
鏈夊叧閲嶆柊鐢熸垚 master 鏁版嵁搴撶殑璇︾粏淇℃伅錛岃峰弬闃呭備綍閲嶆柊鐢熸垚 SQL Server 2005 鐨 Master 鏁版嵁搴撱
鍒涘緩鎵鏈夋暟鎹搴撳強榪欎簺鏁版嵁搴撲腑鐨勬墍鏈夊硅薄銆
瀵煎叆鎵鏈夋暟鎹銆
娉ㄦ剰錛
鍙浠ヤ負鍒涘緩鐨勬瘡涓鏂版暟鎹搴撴寚瀹氶粯璁ゆ帓搴忚勫垯錛岃屼笉鏇存敼 SQL Server 2005 瀹炰緥鐨勯粯璁ゆ帓搴忚勫垯銆

3.璁劇疆鍜屾洿鏀規暟鎹搴撴帓搴忚勫垯
鍒涘緩鏂版暟鎹搴撴椂錛屽彲浠ヤ嬌鐢ㄤ笅鍒楀唴瀹逛箣涓鎸囧畾鎺掑簭瑙勫垯錛
CREATE DATABASE 璇鍙ョ殑 COLLATE 瀛愬彞銆
SQL Server Management Studio.
SQL 綆$悊瀵硅薄 (SMO) 涓鐨 Database.Collation 灞炴с
濡傛灉鏈鎸囧畾鎺掑簭瑙勫垯錛屽垯浣跨敤鏈嶅姟鍣ㄦ帓搴忚勫垯銆
鍙浠ヤ嬌鐢 ALTER DATABASE 璇鍙ョ殑 COLLATE 瀛愬彞鏉ユ洿鏀瑰湪鐢ㄦ埛鏁版嵁搴撲腑鍒涘緩鐨勪換浣曟柊瀵硅薄鐨勬帓搴忚勫垯銆備嬌鐢ㄦよ鍙ヤ笉鑳芥洿鏀逛換浣曠幇鏈夌敤鎴峰畾涔夌殑琛ㄤ腑鍒楃殑鎺掑簭瑙勫垯銆備嬌鐢 ALTER TABLE 鐨 COLLATE 瀛愬彞鍙浠ユ洿鏀硅繖浜涘垪鐨勬帓搴忚勫垯銆
鏇存敼鏁版嵁搴撴帓搴忚勫垯鏃訛紝闇瑕佹洿鏀逛笅鍒楀唴瀹癸細
鏁版嵁搴撶殑榛樿ゆ帓搴忚勫垯錛岃繖涓鏂扮殑榛樿ゆ帓搴忚勫垯灝嗗簲鐢ㄤ簬鏁版嵁搴撲腑鍚庣畫鍒涘緩鐨勬墍鏈夊垪銆佺敤鎴峰畾涔夌殑鏁版嵁綾誨瀷銆佸彉閲忓拰鍙傛暟銆傛牴鎹鏁版嵁搴撲腑瀹氫箟鐨勫硅薄瑙f瀽 SQL 璇鍙ヤ腑鎸囧畾鐨勫硅薄鏍囪瘑絎︽椂錛屼篃浣跨敤鏂扮殑榛樿ゆ帓搴忚勫垯銆
灝嗙郴緇熻〃涓鐨勪換浣 char銆乿archar銆乼ext銆乶char銆乶varchar 鎴 ntext 鍒楁洿鏀逛負浣跨敤鏂扮殑鎺掑簭瑙勫垯銆
灝嗗瓨鍌ㄨ繃紼嬪拰鐢ㄦ埛瀹氫箟鍑芥暟鐨勬墍鏈夌幇鏈 char銆乿archar銆乼ext銆乶char銆乶varchar 鎴 ntext 鍙傛暟鍜屾爣閲忚繑鍥炲兼洿鏀逛負浣跨敤鏂扮殑鎺掑簭瑙勫垯銆
灝 char銆乿archar銆乼ext銆乶char銆乶varchar 鎴 ntext 緋葷粺鏁版嵁綾誨瀷鍜屽熀浜庤繖浜涚郴緇熸暟鎹綾誨瀷鐨勬墍鏈夌敤鎴峰畾涔夌殑鏁版嵁綾誨瀷鏇存敼涓轟嬌鐢ㄦ柊鐨勯粯璁ゆ帓搴忚勫垯銆

SQL code :

1.灝嗘暟鎹搴撶殑瀛楃﹂泦淇鏀逛負錛
alter database dbname collate Chinese_PRC_CI_AS

2.

--1. 涓烘暟鎹搴撴寚瀹氭帓搴忚勫垯
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GO

ALTER DATABASE db COLLATE Chinese_PRC_BIN
GO

/*====================================*/

--2. 涓鴻〃涓鐨勫垪鎸囧畾鎺掑簭瑙勫垯
CREATE TABLE tb(
col1 varchar(10),
col2 varchar(10) COLLATE Chinese_PRC_CI_AS)
GO

ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN
GO

ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN
GO

/*====================================*/

--3. 涓哄瓧絎﹀彉閲忓拰鍙傛暟搴旂敤鎺掑簭瑙勫垯
DECLARE @a varchar(10),@b varchar(10)
SELECT @a='a',@b='A'

--浣跨敤鎺掑簭瑙勫垯 Chinese_PRC_CI_AS
SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' ELSE '@a<>@b' END
--緇撴灉:@a=@b

--浣跨敤鎺掑簭瑙勫垯 Chinese_PRC_BIN
SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b' ELSE '@a<>@b' END
--緇撴灉:@a<>@b

3.

ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--涓嶅尯鍒嗗ぇ灝忓啓
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--鍖哄垎澶у皬鍐
鏁版嵁搴
ALTER DATABASE database
COLLATE Chinese_PRC_CS_AS
--鍖哄垎澶у皬鍐

ALTER DATABASE database COLLATE Chinese_PRC_CI_AS --涓嶅尯鍒嗗ぇ灝忓啓

鏂規硶涓.瀹夎匰QL鏃墮夋嫨鍖哄垎澶у皬鍐
鎴栧畨瑁呭畬浠ュ悗閲嶅緩mastar錛岄夋嫨鍖哄垎澶у皬
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe

鏂規硶浜.sql server 8.0浠ヤ笂鐨勭増鏈鎵嶅彲浠ワ紝7.0鍙婂叾浠ヤ笅涓嶆敮鎸
alter database 鏁版嵁搴 COLLATE Chinese_PRC_CS_AS
淇鏀規帓搴忚勫垯錛屾敼鎴愬ぇ灝忓啓鏁忔劅鐨勬帓搴忚勫垯
濡傛灉鍙淇鏀逛竴涓琛錛岀敤alter table璇鍙
濡傛灉淇鏀逛竴涓搴撶殑榛樿ゆ帓搴忚勫垯錛岀敤alter datebase璇鍙
濡傛灉淇鏀規暣涓鏈嶅姟鍣ㄧ殑榛樿ゆ帓搴忚勫垯錛岀敤Rebuildm.exe閲嶅緩master搴
--鎸囧畾鎺掑簭瑙勫垯灝卞彲浠ヤ簡

--紺轟緥
select replace('AbacB' collate Chinese_PRC_CS_AS_WS,'B','test')

--濡傛灉浣犳槸瑕佹眰琛ㄦ敮鎸,鍒欏彲浠ュ緩琛ㄦ椂鎸囧畾鎺掑簭瑙勫垯,榪欐牱replace灝變笉鐢ㄥ啓鎺掑簭瑙勫垯浜

--紺轟緥
create table tb(a varchar(20) collate Chinese_PRC_CS_AS_WS)
insert tb values('Abac')

select replace(a,'a','test') from tb

drop table tb

鎸囧畾鎺掑簭瑙勫垯鍗沖彲

Windows 鎺掑簭瑙勫垯鍚嶇О
鍦 COLLATE 瀛愬彞涓鎸囧畾 Windows 鎺掑簭瑙勫垯鍚嶇О銆俉indows 鎺掑簭瑙勫垯鍚嶇О鐢辨帓搴忚勫垯鎸囩ず鍣ㄥ拰姣旇緝椋庢牸鏋勬垚銆

璇娉
< Windows_collation_name > :: =

CollationDesignator_ <ComparisonStyle>

< ComparisonStyle > ::=
CaseSensitivity_AccentSensitivity
[_KanatypeSensitive [_WidthSensitive ] ]
| _BIN

鍙傛暟
CollationDesignator

鎸囧畾 Windows 鎺掑簭瑙勫垯浣跨敤鐨勫熀鏈鎺掑簭瑙勫垯銆傚熀鏈鎺掑簭瑙勫垯鍖呮嫭錛

褰撴寚瀹氭寜瀛楀吀鎺掑簭鏃跺簲鐢ㄥ叾鎺掑簭瑙勫垯鐨勫瓧姣嶈〃鎴栬璦

鐢ㄤ簬瀛樺偍闈 Unicode 瀛楃︽暟鎹鐨勪唬鐮侀〉銆
渚嬪 Latin1_General 鎴栨硶鏂囷紝涓よ呴兘浣跨敤浠g爜欏 1252錛屾垨鍦熻沖叾鏂囷紝瀹冧嬌鐢ㄤ唬鐮侀〉 1254銆

CaseSensitivity

CI 鎸囧畾涓嶅尯鍒嗗ぇ灝忓啓錛孋S 鎸囧畾鍖哄垎澶у皬鍐欍

AccentSensitivity

AI 鎸囧畾涓嶅尯鍒嗛噸闊籌紝AS 鎸囧畾鍖哄垎閲嶉煶銆

KanatypeSensitive

Omitted 鎸囧畾涓嶅尯鍒嗗ぇ灝忓啓錛孠S 鎸囧畾鍖哄垎鍋囧悕綾誨瀷銆

WidthSensitivity

Omitted 鎸囧畾涓嶅尯鍒嗗ぇ灝忓啓錛學S 鎸囧畾鍖哄垎澶у皬鍐欍

BIN

鎸囧畾浣跨敤浜岃繘鍒舵帓搴忔″簭銆

濡傛灉浣犲彧鏄鐩鍓嶆煡璇㈠尯鍒嗭紝閭d箞榪樻槸涓嶈佽繖鏍鋒敼錛屽厤寰楀張鍙嶆倲錛屽傛ゆ煡璇錛
select * from a
/*
a_nam a_add
---------- ----------
1 aa
1 bb
2 cc
2 vv
2 kk
3 dd
3 ee
4 dd
5 ee
6 yy
6 yy

(11 row(s) affected)
*/
鐜板湪鎴戜滑鏌ヨa_add = 'aa'鐨勶紝'Aa'絳夌瓑涓嶈岋紒
Example 1錛

select * from a
where a_add collate Chinese_PRC_CS_AS_WS = 'aa'
/*
a_nam a_add
---------- ----------
1 aa

(1 row(s) affected)
*/

Example 2錛

select * from a
where a_add collate Chinese_PRC_CS_AS_WS = 'Aa'
/*
a_nam a_add
---------- ----------

(0 row(s) affected)
*/

鏂規硶涓.涓婇潰鐨勮頒笉浣忥紝閭d箞灝辯敤鏈絎ㄧ殑鏂規硶錛岃漿鍖栦負ascii
select * from a
where
ascii(substring(a_add,1,1)) = ascii(substring('Aa',1,1))
and
ascii(substring(a_add,2,1)) = ascii(substring('Aa',2,1))
/*
a_nam a_add
---------- ----------

(0 row(s) affected)
*/

鏂規硶涓夛細浠諱綍鐗堟湰閮藉彲浠
select * from a
where cast(a_add as varbinary(10))= cast('aa' as varbinary(10))

㈡ 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,

㈢ MySQL鏁版嵁搴撲腑濡備綍璁劇疆瀛楃﹂泦

璁劇疆鏈嶅姟鍣ㄧ駭鍜屾暟鎹搴撶駭瀛楃﹂泦鐨勬柟娉曞備笅錛


瀵逛簬鏈嶅姟鍣ㄧ駭瀛楃﹂泦錛屽彲浠ラ氳繃浠ヤ笅姝ラよ繘琛岃劇疆錛


鎵撳紑鏈嶅姟鍣ㄩ厤緗鏂囦歡錛堝俶y.cnf鎴杕y.ini錛夛紝鎵懼埌[mysqld]閮ㄥ垎銆


鍦╗mysqld]閮ㄥ垎涓娣誨姞浠ヤ笅琛岋細


character-set-server=瀛楃﹂泦鍚嶇О


鍏朵腑錛屽瓧絎﹂泦鍚嶇О鏄鎮ㄩ夋嫨鐨勫瓧絎﹂泦鐨勫悕縐般備緥濡傦紝濡傛灉鎮ㄦ兂浣跨敤UTF-8瀛楃﹂泦錛屽彲浠ユ坊鍔犱互涓嬭岋細


character-set-server=utf8


瀵逛簬鏁版嵁搴撶駭瀛楃﹂泦錛屽彲浠ュ湪鍒涘緩鏁版嵁搴撴椂鎸囧畾瀛楃﹂泦銆備緥濡傦紝濡傛灉鎮ㄦ兂灝嗘暟鎹搴撶殑瀛楃﹂泦璁劇疆涓篣TF-8錛屽彲浠ユ墽琛屼互涓婼QL璇鍙ワ細


CREATE DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;


鍏朵腑錛宒atabase_name鏄鎮ㄨ佸壋寤虹殑鏁版嵁搴撶殑鍚嶇О銆


璇鋒敞鎰忥紝浠ヤ笂璁劇疆鏂規硶浠呬緵鍙傝冦傚叿浣撹劇疆鏂規硶鍙鑳藉洜涓嶅悓鐨凪ySQL鐗堟湰鍜岀幆澧冭屾湁鎵涓嶅悓銆

㈣ mysql中怎麼設置字元集

方法1:通過客戶端修改表欄位的默認字元集
打開SQLyog客戶端,連接資料庫如下圖所示,點擊connection 按鈕 連接資料庫
我的資料庫名稱為e,然後我隨意找到資料庫中test2表,右鍵-----》Alter Table
如果安裝資料庫的 時候 沒有選擇字元集設置,那麼mysql資料庫默認為latin1,在箭頭部分選擇utf8字元集
方法2:用資料庫命令修改字元集
首先查看當前資料庫字元集,在命令框中執行如下命令:show variables like 'character_set_%';
查看字元集排序設置,執行命令:show variables like 'collation_%';
修改伺服器級別字元集,執行命令:
1,臨時修改:SET GLOBAL character_set_server=utf8;
修改表級別,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;
修改資料庫級別,命令如下:use e(換成你要修改的資料庫名,在這里我的資料庫為e),,然後執行命令:alter database e character set utf-8;
或者修改mysql的my.ini文件中的字元集鍵值
[mysql]
[mysqld]
重啟mysql

㈤ mysql建表的時候設置表裡面的欄位的字元集是utf-8要怎麼設置默認建好後我去mysql里看字元集都是gbk

1、建表時指定字元集utf-8:

CREATE TABLE表名

( `id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`content` VARCHAR( 255 ) NOT NULL)

DEFAULT CHARACTER SET = utf8;

2、修改表的字元集為utf-8:

alter table 表名 convert to character set utf8;

(5)在哪裡設置資料庫的字元類型擴展閱讀:

1、創建資料庫時設置字元集:

CREATE DATABASE資料庫名 CHARACTER SET utf8 COLLATE utf8_general_ci;

注意後面三個單詞之間是有下劃線的對於每個選項所給定的值,前面沒有等號;在第一個選項和第二個選項之間也沒有逗號。

2、修改資料庫的字元集:

alter database資料庫名 character set utf8;

3、顯示某資料庫字元集設置:

show create database 資料庫名;

4、顯示某數據表字元集設置:

show create table 表名;

5、修改欄位:

alter table 表名 modify column '欄位名' varchar(30) character set utf8 not null;

6、添加表欄位:

alter table 表名 add column '欄位名' varchar (20) character set utf8;

閱讀全文

與在哪裡設置資料庫的字元類型相關的資料

熱點內容
微信不訪問視頻文件夾嗎 瀏覽:259
文件夾加密大師注冊碼 瀏覽:1
onedrive怎麼上傳文件 瀏覽:488
android多線程寫文件棧溢出 瀏覽:242
台電酷閃量產工具 瀏覽:837
如何破壞文件 瀏覽:15
從什麼網站上查找國家標准 瀏覽:254
iphone5s最省電的瀏覽器 瀏覽:225
用數據線如何接攝像頭 瀏覽:110
qq手機電腦互傳文件 瀏覽:613
linux內核升級方法 瀏覽:986
iphone5沒有熱點 瀏覽:189
哪裡有在線幼兒c語言編程 瀏覽:959
iframe跨域調用js對象 瀏覽:178
蘋果手機能分文件夾嗎 瀏覽:679
fdb文件怎麼刪除裡面內容 瀏覽:638
龍江網路配置什麼路由器 瀏覽:169
如何使用指標導入數據 瀏覽:866
平時用什麼app看nba 瀏覽:503
win10想以管理員身份運行bat文件 瀏覽:85

友情鏈接