mysql±äÁ¿ÀàÐÍ
9.3. Óû§±äÁ¿
¿ÉÒÔÏÈÔÚÓû§±äÁ¿Öб£´æÖµÈ»ºóÔÚÒÔºóÒýÓÃËü£»ÕâÑù¿ÉÒÔ½«Öµ´ÓÒ»¸öÓï¾ä´«µÝµ½ÁíÒ»¸öÓï¾ä¡£Óû§±äÁ¿ÓëÁ¬½ÓÓйØ
¡£Ò²¾ÍÊÇ˵£¬Ò»¸ö¿Í»§¶Ë¶¨ÒåµÄ±äÁ¿²»Äܱ»ÆäËü¿Í»§¶Ë¿´µ½»òʹÓᣵ±¿Í»§¶ËÍ˳öʱ£¬¸Ã¿Í»§¶ËÁ¬½ÓµÄËùÓбäÁ¿½«×Ô¶¯ÊÍ·Å¡£
Óû§±äÁ¿µÄÐÎʽΪ@var_name
£¬ÆäÖбäÁ¿Ãûvar_name
¿ÉÒÔÓɵ±Ç°×Ö·û¼¯µÄÎÄ×ÖÊý×Ö×Ö·û¡¢‘.
’¡¢‘_
’ºÍ‘$
’×é³É¡£
ĬÈÏ×Ö·û¼¯ÊÇcp1252
(Latin1)
¡£¿ÉÒÔÓÃmysqld
µÄ--default-character-set
Ñ¡Ïî¸ü¸Ä×Ö·û¼¯¡£²Î¼û5.10.1½Ú£¬“Êý¾ÝºÍÅÅÐòÓÃ×Ö·û¼¯”
¡£Óû§±äÁ¿Ãû¶Ô´óСд²»Ãô¸Ð¡£
ÉèÖÃÓû§±äÁ¿µÄÒ»¸ö;¾¶ÊÇÖ´ÐÐSET
Óï¾ä£º
SET @
var_name
=
expr
[, @
var_name
=
expr
] ...
¶ÔÓÚSET
£¬¿ÉÒÔʹÓÃ=
»ò:=
×÷Ϊ·ÖÅä·û¡£·ÖÅä¸øÃ¿¸ö±äÁ¿µÄexpr
¿ÉÒÔΪÕûÊý¡¢ÊµÊý¡¢×Ö·û´®»òÕßNULL
Öµ¡£
Ò²¿ÉÒÔÓÃÓï¾ä´úÌæSET
À´ÎªÓû§±äÁ¿·ÖÅäÒ»¸öÖµ¡£ÔÚÕâÖÖÇé¿öÏ£¬·ÖÅä·û±ØÐëΪ:=
¶ø²»ÄÜÓÃ=
£¬ÒòΪÔÚ·ÇSET
Óï¾äÖÐ=
±»ÊÓΪһ¸ö±È½Ï
²Ù×÷·û£º
mysql>
SET @t1=0, @t2=0, @t3=0;
mysql>
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
+----------------------+------+------+------+
| @t1:=(@t2:=1)+@t3:=4 | @t1 | @t2 | @t3 |
+----------------------+------+------+------+
| 5 | 5 | 1 | 4 |
+----------------------+------+------+------+
Óû§±äÁ¿¿ÉÒÔÓÃÓÚ±í´ïʽÖС£Ä¿Ç°²»°üÀ¨Ã÷ÏÔÐèÒªÎÄ×ÖÖµµÄÉÏÏÂÎÄÖУ¬ÀýÈçSELECT
Óï¾äµÄLIMIT
×Ӿ䣬»òÕßLOAD
DATA
Óï¾äµÄIGNORE
number LINES
×Ӿ䡣
Èç¹ûʹÓÃûÓгõʼ»¯µÄ±äÁ¿£¬ÆäÖµÊÇNULL
¡£
Èç¹ûÓû§±äÁ¿·ÖÅäÁËÒ»¸ö×Ö·û´®Öµ£¬Æä×Ö·û¼¯ºÍУ¶Ô¹æÔòÓë¸Ã×Ö·û´®µÄÏàͬ¡£Óû§±äÁ¿µÄ¿ÉѹËõÐÔ£¨coercibility
£©ÊÇÒþº¬µÄ¡£(
¼´Îª±íÁÐÖµµÄÏàͬµÄ¿ÉѹËõÐÔ£¨coercibility
£©¡£
×¢ÊÍ£º
ÔÚSELECT
Óï¾äÖУ¬±í´ïʽ·¢Ë͵½¿Í»§¶Ëºó²Å½øÐмÆËã¡£Õâ˵Ã÷ÔÚHAVING
¡¢GROUP
BY
»òÕßORDER
BY
×Ó¾äÖУ¬²»ÄÜʹÓðüº¬SELECT
ÁбíÖÐËùÉèµÄ±äÁ¿µÄ±í´ïʽ¡£ÀýÈ磬ÏÂÃæµÄÓï¾ä²»Äܰ´ÆÚÍû¹¤×÷£º
mysql>
SELECT (@aa:=id) AS a
£¬(@aa+3) AS b
´Ó
Ïà¹ØÎĵµ£º
ÏÔʾmysql»ù±¾ÐÅÏ¢£ºmysql>status;
²é¿´±äÁ¿£ºshow variables like '%version%';
±¸·ÝÓ뻹ÔÃüÁÔÚ×îºó»¹ÓÐ
1.±¸·ÝMySQLÊý¾Ý¿âµÄÃüÁî:
ÔÚcmdÖнøÈëµ½mysqlµÄlibĿ¼ÏÂÖ´ÐÐÈçÏ£º
mysqldump -hhostname -uusername -ppassword databaseName > backupfile.sql
Àý£ºmysqldump -hlocalhost -uroot -p123456 test ......
ΪʲôѡÔñÔ´Âë±àÒë°²×°mysql£ºÎÒÔÚʹÓÃrpm»òÕßÊÇyum°²×°Ê±myql£¬ÀÏÊÇÌáʾÎÒÕÒ²»µ½*.sockÎļþ£¬ÕÒÁ˵ã
×ÊÁÏ˵ÊǸðüÊǷǹٷ½°æ±¾£¨Ã÷Ã÷Êǹٷ½ÏÂÔØ µÄ£©£¬ÆäÖÐÔÒòµ½ÏÖÔÚ»¹Ã»ÓиãÇå³þ¡£Ï£ÍûÖªÇéÈËÊ¿¸æÖª¡££¨¿ªÊ¼±àÒëµÄʱºò£¬ÏµÍ³»·¾³Ò»¶¨ÒªÅäÖúã¬GCC£¬GC++...µÈµÈµÄ±àÒëÆ÷Ò»¶¨Òª×öºÃ,±¾È˵ÄcentosÓÉÓÚ¿ªÊ¼
ϵͳ»·¾ ......
ÐÞ¸Älinux·þÎñÆ÷µÄhttpÅäÖÃÖ®ºó£¬±ØÐëÖØÆôApache·þÎñ£¬ÃüÁîΪ£º /etc/rc.d/init.d/httpd restart
chown -R mysql:mysql Ŀ¼Ãû ¸Ä±äÎļþÊôÐÔ
mysqladmin -u root -p password 'new password' ÉèÖÃÃÜÂë
apt-get remove ɾ³ýÈí¼þ
apt-get clean ÇåÀí
/etc/rc.d/init.d/mysqld restart
php ¾ÍÅäÖÃÁËsession Ö÷ ......
1¡¢mysqlÊý¾Ý¿âÓÐÁ½ÖÖÇý¶¯£º
MySQL Connector/J Driver¡¢MMMysql driver¡£
2¡¢µ¼Èëµ¼³öÊý¾Ý¿âÃüÁ£¨binĿ¼Ï£©
µ¼³ö£ºmysqldump -u root -p bokele >c:/mysql.sql --default-character-set=gbk
µ¼È룺C:\mysql\bin\> mysql -u root -p
˵Ã÷£ºC:\mysql\bin\±íʾ½øÈëmysql³ÌÐò ......
ÔÚÍøÕ¾½¨Éè»òÕßÔËÓªÖУ¬Èç¹û MySQL server ÊǷdz£·±Ã¦£¬¿ÉÒÔ¿ªÆô query cache ÒÔ¼ÓËÙ»ØÓ¦Ê±¼ä£¬¿ªÆô·½·¨¿ÉÒÔÔÚ my.cnf 裡Ãæ¼ÓÈëÒÔÏÂÏîÄ¿: (Redhat ÏÂÃæÊÇ /etc/my.cnf£»Debian ÊÇÔÚ etc/mysql
/my.cnf).
query_cache_size = 64M
query_cache_type = 1
query_cache_limit = 1048576
ÒÔÉÏÓï·¨µÄÉ趨ÀïÃæ£¬ ......