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
Ïà¹ØÎĵµ£º
²éѯÊÇÊý¾Ý¿â¼¼ÊõÖÐ×î³£ÓõIJÙ×÷¡£²éѯ²Ù×÷µÄ¹ý³Ì±È½Ï¼òµ¥£¬Ê×ÏÈ´Ó¿Í»§¶Ë·¢³ö²éѯµÄSQLÓï¾ä£¬Êý¾Ý¿â·þÎñ¶ËÔÚ½ÓÊÕµ½Óɿͻ§¶Ë·¢À´µÄSQLÓï¾äºó£¬ Ö´ÐÐÕâÌõSQLÓï¾ä£¬È»ºó½«²éѯµ½µÄ½á¹û·µ»Ø¸ø¿Í»§¶Ë¡£ËäÈ»¹ý³ÌºÜ¼òµ¥£¬µ«²»Í¬µÄ²éѯ·½Ê½ºÍÊý¾Ý¿âÉèÖ㬶ԲéѯµÄÐÔÄܽ«»áÓкÜÔÚµÄÓ°Ïì¡£
Òò´Ë£¬±¾ÎľÍÔÚMySQLÖг£ÓõIJéѯÓÅ»¯¼¼Êõ½ ......
EXPLAIN ÊÇmysql½âÊÍselect²éѯµÄÒ»¸ö¹Ø¼ü×Ö,¿ÉÒԺܷ½±ãµÄÓÃÓÚµ÷ÊÔ
Óï·¨¸ñʽÈçÏÂ
EXPLAIN tbl_name
»òÕß:
EXPLAIN SELECT select_options
EXPLAIN Óï¾ä¿ÉÒÔ±»µ±×÷ DESCRIBE µÄͬÒå´ÊÀ´Óã¬Ò²¿ÉÒÔÓÃÀ´»ñȡһ¸öMySQLÒªÖ´ÐÐµÄ SELECT Óï¾äµÄÏà¹ØÐÅÏ¢¡£
EXPLAIN tbl_name Óï·¨ºÍ DESCRIBE tbl_name »ò SHOW COLUMNS ......
ÃüÁʽµÄ.×¢ÒâÿÐкó±ß¶¼¸ú¸ö £» ±íʾһ¸öÃüÁîÓï¾ä½áÊø.
¸ñʽ£ºgrant select on Êý¾Ý¿â.* to
Óû§Ãû@µÇ¼Ö÷»ú identified by "ÃÜÂë"
Àý1¡¢Ôö¼ÓÒ»¸öÓû§test1ÃÜÂëΪabc£¬ÈÃËû¿ÉÒÔÔÚÈκÎÖ÷»úÉϵǼ£¬²¢¶ÔËùÓÐÊý¾Ý¿âÓвéѯ¡¢²åÈë¡¢Ð޸ġ¢É¾³ýµÄȨÏÞ¡£Ê×ÏÈÓÃÒÔ
rootÓû§Á¬ÈëMYSQL
£¬
È»ºó¼üÈëÒÔÏÂÃüÁ
gr ......
ÎҵijÌÐòÊÇÓÃADOÀ´Á¬½ÓMysqÊý¾Ý¿âµÄ£¬ÕâÊÇÔÏÈдºÃÓÃÔÚMSSQLÉϵ쬏ÄÁËÏÂÁ¬½Ó×Ö·û´®£¬ËùÒÔÒ²¾ÍûÓÐÓÃMySql C++ APIÀ´ÖØÐÂдÁË¡£¸Õ¿ªÊ¼Ê¹ÓÃMySql£¬Óöµ½µÄÎÊÌâ×ÜÊÇÌØ±ðµÄ¶à£¬ÏÖÔÚÓÖÓöµ½Ò»¸öÖ÷Òªsql×Ö·û´®ÖÐÓÐÖÐÎľͱ¨´íµÄÎÊÌ⣬ûÓÐÖÐÎÄÒ»ÇÐÕý³££¬ÕûÕûŪÁËÒ»¸öÉÏÎ磬ÔÚÍøÉÏÒ²ÕÒÁ˺ܶà×ÊÁÏ£¬·¢ ......
ÏÂÃæÏÈÀ´¿´¿´Àý×Ó£º
table
id name
1 a
2 b
3 c
4 c
5 b
¿â½á¹¹´ó¸ÅÕâÑù£¬ÕâÖ»ÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬Êµ¼ÊÇé¿ö»á¸´Ôӵöࡣ
±ÈÈçÎÒÏëÓÃÒ»ÌõÓï¾ä²éѯµÃµ½name²»Öظ´µÄËùÓÐÊý¾Ý£¬ÄǾͱØÐëʹÓÃdistinctÈ¥µô¶àÓàµÄÖØ¸´¼Ç¼ ......