MySQL 5.0´æ´¢¹ý³Ì
Ê×ÏÈ¿´MySQL 5.0²Î¿¼ÊÖ²áÖйØÓÚ´´½¨´æ´¢¹ý³ÌµÄÓ﷨˵Ã÷£º
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
routine_body:
Valid SQL procedure statement
Èç¹ûÄã¶ÔMySQL»¹²»Ì«ÊìϤµÄ»°£¬µ¥µ¥¿´Õâ¸öÓï·¨½á¹¹µ±È»²»×ãÒÔ½øÐÐMySQL´æ´¢¹ý³Ì±à³Ì¡£ÎÒ֮ǰ»ù±¾¶¼ÊÇʹÓÃMS SQL SERVER£¬ËùÒÔÒÔϼǼÎÒÊìϤMySQL´æ´¢¹ý³ÌµÄ¹ý³Ì£¬Ò²ÊÇÖØµã½éÉÜMS SQL SERVERÓëMySQLÇø±ð½Ï´óµÄµØ·½¡£
µÚÒ»²½£¬µ±È»ÊÇд¸öHello WordµÄ´æ´¢¹ý³Ì£¬ÈçÏ£º
CREATE PROCEDURE phelloword()
BEGIN
SELECT 'Hello Word!' AS F;
END;
½«ÉÏÃæ´´½¨phelloword´æ´¢¹ý³ÌµÄÓï¾ä¿½µ½phpMyAdminÖÐÖ´ÐУ¬±¨ÈçÏ´íÎó£º
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
ÔÚÕâ¸öÎÊÌâÉÏÎÒ¾À²øÁ˺ܾã¬ÔÚMySQLµÄÃüÁîÐй¤¾ßÖÐÖ´ÐÐͬÑù²»³É¹¦£¬µ«ÊǸù¾ÝÌáʾÐÅÏ¢¿ÉÒÔÖªµÀÖ´ÐÐÔÚ SELECT 'Hello Word!' AS F;´¦½áÊø£¬ºóÃæµÄEND;ûÓÐÖ´ÐУ¬ÕâÏÔÈ»»áµ¼Ö´íÎó¡£
ÕâÀïÐèҪѡÔñÒÔ¸ö·Ö¸ô·û£¬Óï·¨ÈçÏ£ºDELIMITER //
·Ö¸ô·ûÊÇ֪ͨMySQL¿Í»§¶ËÒѾÊäÈëÍê³ÉµÄ·ûºÅ¡£Ò»Ö±¶¼ÊÇÓÓ;”£¬µ«ÊÇÔÚ´æ´¢¹ý³ÌÖв»ÐУ¬ÒòΪ´æ´¢¹ý³ÌÖкܶàÓï¾ä¶¼ÐèÒªÓõ½·ÖºÅ¡£
Òò´ËÉÏÃæµÄ´æ´¢¹ý³Ì¸ÄΪ£º
CREATE PROCEDURE ptest()
BEGIN
SELECT 'Hello Word!' AS F;
END //
ÁíÍâÔÚphpMyAdminÖÐÖ´ÐÐʱ£¬ÔÚDelimiterÎı¾¿òÖÐÌîд //£¬Õâ´Î´æ´¢¹ý³Ì¼´¿É´´½¨³É¹¦¡£
µÚ¶þ²½£¬Ð´Ò»¸ö°üÀ¨²ÎÊý£¬±äÁ¿£¬±äÁ¿¸³Öµ£¬Ìõ¼þÅжϣ¬UPDATEÓï¾ä£¬SELECT·µ»Ø½á¹û¼¯µÄÍêÕûµÄÒ»¸ö´æ´¢¹ý³Ì£¬ÈçÏ£º
CREATE PROCEDURE plogin
(
p_username char(15),
Ïà¹ØÎĵµ£º
6
¡¢ÐÞ¸ÄÊý¾Ý¿âµÄ×Ö·û¼¯
mysql>use mydb
mysql>alter database mydb character set utf-8;
6
¡¢´´½¨Êý¾Ý¿âÖ¸¶¨Êý¾Ý¿âµÄ×Ö·û¼¯
mysql>create database mydb character set utf-8;
ͨ¹ýÅäÖÃÎļþÉèÖô´½¨Êý¾Ý¿âʱ×Ö·û¼¯:
#vi /var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-col ......
ÈçºÎ´´½¨ÄÚ´æ±í
£¿
´´½¨ÄÚ´æ±í·Ç³£µÄ¼òµ¥£¬Ö»Ðè×¢Ã÷ ENGINE=
MEMORY ¼´¿É:
CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL)
ENGINE=MEMORY DEFAULT CHARSET=utf8 MAX_ROWS=100000000;
×¢Òâ
£º
µ±ÄÚ´æ±íÖеÄÊý¾Ý´óÓÚmax_ ......
linux:
Èç¹û MySQL ÕýÔÚÔËÐУ¬Ê×ÏÈɱ֮£º killall -TERM mysqld¡£
Æô¶¯ MySQL £º/usr/bin/safe_mysqld --skip-grant-tables &
¾Í¿ÉÒÔ²»ÐèÒªÃÜÂë¾Í½øÈë MySQL ÁË¡£
È»ºó¾ÍÊÇ
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
ÖØÐÂɱ MySQL £¬ ......
×öÊý¾Ý¿âµ÷ÓÅ£¬Ò»¸ö¼òµ¥µÄtip¾ÍʹÐÔÄÜÌáÉýÒ»´ó¿éʱ£¬±»°ïÖúµÄÈË×ÔÈ»ÊǸßÐ˶øÇҸм¤£¬ÎÒÒ²ÊÇÂúÐÄ»¶Ï²¡£ÓÃËùѧ°ïÖúÁËËûÈË£¬Ò²ËµÃ÷»¹ÊÇÓÐÒ»¼¼Ö®³¤µÄ£¬ÓÐÒ»ÃÅÄܹ»Ñø»î×Ô¼ºµÄÊÖÒÕ¡£Ò²ËãÊÇÊÖÒÕÈ˰¡¡£
ͬÊÂÈÃÎÒ°ïÖúÓÅ»¯£¬ÔÚslow query logÀï·¢ÏÖÓÐÁ½¸öSQLÖ´ÐеĴÎÊý×î¶à£¬²¢ÇÒÿ´Î¶¼ÔÚÁ½ÃëÒÔÉÏ¡£ÓÃexplain¿´ÁË£¬Ò²Î´·¢ÏÖË÷ÒýʹÓ÷ ......
MySQL+PHP²úÉúÂÒÂëÔÒò£º
¡¡¡¡¡ô MySQLÊý¾Ý¿âĬÈϵıàÂëÊÇutf8,Èç¹ûÕâÖÖ±àÂëÓëÄãµÄPHPÍøÒ³²»Ò»ÖÂ,¿ÉÄܾͻáÔì³ÉMySQLÂÒÂë;
¡¡¡¡¡ô MySQLÖд´½¨±íʱ»áÈÃÄãÑ¡ÔñÒ»ÖÖ±àÂë,Èç¹ûÕâÖÖ±àÂëÓëÄãµÄÍøÒ³±àÂë²»Ò»ÖÂ,Ò²¿ÉÄÜÔì³ÉMySQLÂÒÂë;
¡¡¡¡¡ô MySQL´´½¨±íʱÌí¼Ó×Ö¶ÎÊÇ¿ÉÒÔÑ¡Ôñ±àÂëµÄ,Èç¹ûÕâÖÖ±àÂëÓëÄãµÄÍøÒ³±àÂë²»Ò»ÖÂ,Ò²¿ÉÄÜÔì³É ......