MySQL数据库中查找中文字符

MySQL数据库中查找中文字符,第1张

SELECT * FROM `tableA` WHERE LENGTH(`row_name`)<>CHARACTER_LENGTH(`row_name`)

这样就能找出含有中文的记录了;如果查找全英文的记录,长度是相等的,把“<>”换成“=”就可以了,即

SELECT * FROM `tableA` WHERE LENGTH(`row_name`)=CHARACTER_LENGTH(`row_name`)

直接用中文名称即可查询。

可按如下方法做测试:

1、创建表插入数据:

create table test

(序号 int,

名称 varchar(10))

insert into test values (1,'张三')

insert into test values (2,'李四')

2、执行查询:

select * from test where 序号=1

结果显示:

也就是说中文字段名在查询中可以直接引用。

–查看字符集

mysql>

show

variables

like

'character%'

mysql>

show

variables

like

'collation_%'

修改配置文件:

shell>

vi

/etc/mysql/my.cnf

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

collation-server

=

utf8_unicode_ci

init-connect=’SET

NAMES

utf8′

character-set-server

=

utf8

2.修改数据库:

mysql>ALTER

DATABASE

db_name

DEFAULT

CHARACTER

SET

character_name

[COLLATE

…]

3.把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

mysql>ALTER

TABLE

tbl_name

CONVERT

TO

CHARACTER

SET

character_name

[COLLATE

…]

mysql>ALTER

TABLE

logtest

CONVERT

TO

CHARACTER

SET

utf8

COLLATE

utf8_general_ci

只是修改表的默认字符集:

mysql>ALTER

TABLE

tbl_name

DEFAULT

CHARACTER

SET

character_name

[COLLATE…]

mysql>ALTER

TABLE

logtest

DEFAULT

CHARACTER

SET

utf8

COLLATE

utf8_general_ci

4.修改字段的字符集:

mysql>ALTER

TABLE

tbl_name

CHANGE

c_name

c_name

CHARACTER

SET

character_name

[COLLATE

…]

mysql>ALTER

TABLE

logtest

CHANGE

title

title

VARCHAR(100)

CHARACTER

SET

utf8

COLLATE

utf8_general_ci

5.临时更改连接字符集:mysql>

SET

NAMES

utf8

查看数据库的字符集

mysql>

show

create

database

test

查看表的字符集,包括各个字段的字符集,如果各字段没有标明,表示与表的字符集一致

mysql>

show

create

table

books

\G

查看字段编码

SHOW

FULL

COLUMNS

FROM

tbl_name


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7378925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存