mysql编码设置
mysql
> SHOW VARIABLES LIKE
'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection |
latin1 |
| character_set_database | latin1 |
|
character_set_results | latin1 |
| character_set_server | latin1 |
|
character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql
/charsets/
|
+--------------------------+----------------------------+
7
rows in set (0.00 sec)
mysql
>
SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
|
collation_database | latin1_swedish_ci |
| collation_server |
latin1_swedish_ci |
+----------------------+-------------------+
3
rows in set (0.00 sec)
默认就是瑞典latin1,一下是换成我们自己的编码,如utf8:
外
部访问数据乱码的问题就出在这个connection连接层上,解决方法是在发送查询前执行一下下面这句:
1.
SET NAMES 'utf8';
它相当于下面的三句指令:
SET character_set_client =
utf8;
SET character_set_results = utf8;
SET
character_set_connection = utf8;
一般只有在访问之前执行这个代码就解
决问题了,下面是创建数据库和数据表的,设置为我们自己的编码格式。
2. 创建数据库
mysql
> create database
name character set utf8;
3.
创建表
CREATE TABLE `type` (
`id`
int(10) unsigned NOT NULL auto_increment,
`flag_deleted`
enum('Y','N') character set utf8 NOT NULL default 'N',
`flag_type`
int(5) NOT NULL default '0',
`type_name` varchar(50) character set
utf8 NOT NULL default '',
PRIMARY KEY (`id`)
) DEFAULT
CHARSET=utf8;
4.
修改数据库成utf8的.
mysql
> alter database
name character set utf8;
5.
修改表默认用
utf8.
mysql
>
alter table type character set utf8;
6.
修改字段用utf8
mysql
>
alter table type
相关文档:
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。
MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。
通过索引优化来实现MySQL的ORDER BY语句优化:
1、ORDER BY的索引优化。如果一个SQL语句形如:
SELECT [column1],[column2],…. fro ......
1、控制面板里的增加删除程序内进行删除
2、删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除
3、开始->运行-> regedit 看看注册表里这几个地方删除没有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\S ......
我的程序是用ADO来连接Mysq数据库的,这是原先写好用在MSSQL上的,改了下连接字符串,所以也就没有用MySql C++ API来重新写了。刚开始使用MySql,遇到的问题总是特别的多,现在又遇到一个主要sql字符串中有中文就报错的问题,没有中文一切正常,整整弄了一个上午,在网上也找了很多资料,发 ......
下面先来看看例子:
table
id name
1 a
2 b
3 c
4 c
5 b
库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录 ......
mysql text 长度
文章分类:数据库
今天在做DB设计的时候在想用TEXT 是否能够满足将来的数据,能够出现装不下的情况。
后来查询了一下官方手册得到了一个答案。
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。
MEDIUMBLOB
MEDIUMTEXT
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。
LONG ......