利用sql语句进行修改,举例说明:
1、ALTER
TABLE
`test`
DEFAULT
CHARACTER
SET
utf8;该命令用于将表test的编码方式改为utf8;
2、ALTER
TABLE
`test`
CHANGE
`name`
`name`
VARCHAR(36)
CHARACTER
SET
utf8
NOT
NULL;
该命令用于将表test中name字段的编码方式改为utf8
2. MsSQL中汉字默认编码是UTF8还是GBK应该怎样调整
编码UNICODE,GBK,UTF-8的区别详解
简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk
就是不一样
3. sql修改表编码的语句
1、修改my.ini文件来修改编码:加上default-character-set=字符集(utf8.gbk.gb2312等)
2、命令行修改:alterdatabaseda_namedefaultcharacterset"charset';或setnames'charset';或;
参考:http://www.2cto.com/database/201406/307694.html
4. 如何改变sql server 2005数据库的编码方式为gbk形式
具体:
1.sp_helpsort
SELECT SERVERPROPERTY ('Collation')
查看排序规则.
应该字符集关.
2.更改服务器排序规则
更改 SQL Server 2005 实例默认排序规则操作能比较复杂包括步骤:
确保具重新创建用户数据库及些数据库所象所需全部信息或脚本
使用工具(例容量复制)导所数据
删除所用户数据库
重新 setup 命令 SQLCOLLATION 属性指定新排序规则 master 数据库例:
复制代码
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 句更改些列排序规则
更改数据库排序规则需要更改列内容:
数据库默认排序规则新默认排序规则应用于数据库续创建所列、用户定义数据类型、变量参数根据数据库定义象解析 SQL 语句指定象标识符使用新默认排序规则
系统表任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改使用新排序规则
存储程用户定义函数所现 char、varchar、text、nchar、nvarchar 或 ntext 参数标量返值更改使用新排序规则
char、varchar、text、nchar、nvarchar 或 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 --区写
.安装SQL选择区写
或安装完重建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 排序规则名称Windows 排序规则名称由排序规则指示器比较风格构
语
< Windows_collation_name > :: =
CollationDesignator_ <ComparisonStyle>
< ComparisonStyle > ::=
CaseSensitivity_AccentSensitivity
[_KanatypeSensitive [_WidthSensitive ] ]
| _BIN
参数
CollationDesignator
指定 Windows 排序规则使用基本排序规则基本排序规则包括:
指定按字典排序应用其排序规则字母表或语言
用于存储非 Unicode 字符数据代码页
例 Latin1_General 或文两者都使用代码页 1252或土耳其文使用代码页 1254
CaseSensitivity
CI 指定区写CS 指定区写
AccentSensitivity
AI 指定区重音AS 指定区重音
KanatypeSensitive
Omitted 指定区写KS 指定区假名类型
WidthSensitivity
Omitted 指定区写WS 指定区写
BIN
指定使用二进制排序序
目前查询区要改免反悔查询:
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)
*/
三.面记住用笨转化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))
5. mysql用sql语句创建表和数据库怎么设置字符编码'
方法如下:
我们先建一个DEMO表,来做我们今天的实现,建表语句如下:
CREATE TABLE
DEMO
(
NAME VARCHAR(50) COMMENT '姓名',
SEX CHAR(1) COMMENT '性别',
PRIMARY KEY (NAME)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表';
并且select查询一下,如下图
6. 把SQL语句保存在记事本里,然后把语句复制粘贴进数据库就出错了,是编码错误,怎么改回来
那就是你
在安装Mysql或者oracle的时候编码没有设置正确,你可以去
配置文件
里把编码设置成gbk,或者重写安装一下(注意设置它的编码形式不要都选择默认)就可以了
7. mssql编码转换gbk
一种是在数据库连接的时候设置 set names gbk一种是在数据库中,直接改数据库的编码
8. 怎么将sql语句从UTF-8编码改成GBK编码
这个和sql语句有什么关系? 数据库字符集的问题吧,UTF8的占3个,GBK占两个
9. 如何设置Mysql数据库默认的字符集编码为GBK
1、更改服务器的编码方式,在终端输入以下命令:
mysqld
--character-set-server=gbk
--collation-server=gbk_chinese_ci;
2、更改某个数据库的编码方式
mysql
-u
root
-p
alter
database
character
set
gbk
collate
gbk_chinese_ci;
3、在创建数据库时指定编码:
mysql
-u
root
-p
create
database
db_name
character
set
gbk
collate
gbk_chinese_ci;
4、更改某个表的编码方式
mysql
-u
root
-p
db_name
alter
table
table_name
convert
to
charachter
set
gbk
collate
gbk_chinese_ci;
5、在创建表时指定编码方式
mysql
-u
root
-p
db_name
create
table
table_name
(....)
character
set
gbk
collate
gbk_chinese_ci;
6、更改某行的编码方式
mysql
-u
root
-p
db_name
alter
table
table_name
modify
column_name
varchar(20)
character
set
gbk
collate
gbk_chinese_ci;
7、在创建列时指定编码方式:
</pre><pre
name="code"
class="sql">mysql
-u
root
-p
db_name
create
table
table_name
(...,
col1
varchar(20)
character
set
gbk
collate
gbk_chinese_ci,
...)
character
set
utf8
collate
utf8_general_ci;