MySQLʵÏÖÊ÷µÄ±éÀú
¾³£ÔÚÒ»¸ö±íÖÐÓи¸×Ó¹ØÏµµÄÁ½¸ö×ֶΣ¬±ÈÈçempnoÓëmanager£¬ÕâÖֽṹÖÐÐèÒªÓõ½Ê÷µÄ±éÀú¡£ÔÚOracle ÖпÉÒÔʹÓÃconnect by¼òµ¥½â¾öÎÊÌ⣬²Î¼ûhttp://blog.csdn.net/wzy0623/archive/2007/06/18/1656345.aspx£¬µ«MySQL 5.1Öл¹²»Ö§³Ö£¨¾Ý˵ÒÑÄÉÈëto doÖУ©£¬Òª×Ô¼ºÐ´¹ý³Ì»òº¯ÊýÀ´ÊµÏÖ¡£
Ò»¡¢½¨Á¢²âÊÔ±íºÍÊý¾Ý£º
DROP TABLE IF EXISTS `channel`;
CREATE TABLE `channel` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cname` varchar(200) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
/*Data for the table `channel` */
insert into `channel`(`id`,`cname`,`parent_id`)
values (13,'Ê×Ò³',-1),
(14,'TV580',-1),
(15,'Éú»î580',-1),
(16,'×óÉÏ»ÃµÆÆ¬',13),
(17,'°ïæ',14),
(18,'À¸Ä¿¼ò½é',17);
¶þ¡¢ÀûÓÃÁÙʱ±íºÍµÝ¹é¹ý³ÌʵÏÖÊ÷µÄ±éÀú£¨mysqlµÄUDF²»Äܵݹéµ÷Óã©£º
DELIMITER $$
USE `db1`$$
-- ´Óij½ÚµãÏòϱéÀú×Ó½Úµã
-- µÝ¹éÉú³ÉÁÙʱ±íÊý¾Ý
DROP PROCEDURE IF EXISTS `createChildLst`$$
CREATE PROCEDURE `createChildLst`(IN rootId INT,IN nDepth INT)
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE b INT;
DECLARE cur1 CURSOR FOR SELECT id from channel WHERE parent_id=rootId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SET max_sp_recursion_depth=12;
INSERT INTO tmpLst VALUES (NULL,rootId,nDepth);
OPEN cur1;
FETCH cur1 INTO b;
WHILE done=0 DO
CALL createChildLst(b,nDepth+1);
FETCH cur1 INTO b;
END WHILE;
CLOSE cur1;
END$$
-- ´Óij½ÚµãÏòÉÏ×·Ëݸù½Úµã
-- µÝ¹éÉú³ÉÁÙʱ±íÊý¾Ý
DROP PROCEDURE IF EXISTS `createParentLst`$$
CREATE PROCEDURE `createParentLst`(IN rootId INT,IN nDepth INT)
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE b INT;
DECLARE cur1 CURSOR FOR SELECT parent_id from channel WHERE id=rootId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SET max_sp_recursion_depth=12;
INSERT INTO tmpLst VALUES
Ïà¹ØÎĵµ£º
ʹÓÃÄÚ²¿º¯Êýinstr£¬¿É´úÌæ´«Í³µÄlike·½Ê½²éѯ£¬²¢ÇÒËٶȸü¿ì¡£
instrº¯Êý£¬µÚÒ»¸ö²ÎÊýÊÇ×ֶΣ¬µÚ¶þ¸ö²ÎÊýÊÇÒª²éѯµÄ´®£¬·µ»Ø´®µÄλÖ㬵ÚÒ»¸öÊÇ1£¬Èç¹ûûÕÒµ½¾ÍÊÇ0.
ÀýÈ磬
select name from tpl_user where 1 and instr(`name`,’jack’);
¿É²éѯÃû×ÖÖдøjackµÄÃû×Ö¡£ ......
MYSQLÃüÁî´óÈ«
Ò»¡¢Á¬½ÓMYSQL¡£
¸ñʽ£º mysql -hÖ÷»úµØÖ· -uÓû§Ãû £pÓû§ÃÜÂë
1¡¢Á¬½Óµ½±¾»úÉϵÄMYSQL¡£Ê×ÏÈ´ò¿ªDOS´°¿Ú£¬È»ºó½øÈëĿ¼mysql\bin£¬ÔÙ¼üÈëÃüÁîmysql -u root -p£¬»Ø³µºóÌáʾÄãÊäÃÜÂë.×¢ÒâÓû§Ãûǰ¿ÉÒÔÓпոñÒ²¿ÉÒÔûÓпոñ£¬µ«ÊÇÃÜÂëǰ±ØÐëûÓпոñ£¬·ñÔòÈÃÄãÖØÐÂÊäÈëÃÜÂë. Èç¹û¸Õ°²×°ºÃMYSQL£¬³¬¼¶Óû ......
130 £ºÎļþ¸ñʽ²»ÕýÈ·¡££¨»¹²»ÊǺÜÇå³þ´íÎóµÄ×´¿ö£©
145 £ºÎļþÎÞ·¨´ò¿ª¡£
1005£º´´½¨±íʧ°Ü¡£
1006£º´´½¨Êý¾Ý¿âʧ°Ü¡£
1007£ºÊý¾Ý¿âÒÑ´æÔÚ£¬´´½¨Êý¾Ý¿âʧ°Ü¡£
1008£ºÊý¾Ý¿â²»´æÔÚ£¬É¾³ýÊý¾Ý¿âʧ°Ü¡£
1009£º²»ÄÜɾ³ýÊý¾Ý¿âÎļþµ¼ÖÂɾ³ýÊý¾Ý¿âʧ°Ü¡£
1010£º²»ÄÜɾ³ýÊý¾ÝĿ¼µ¼ÖÂɾ³ýÊý¾Ý¿âʧ°Ü¡£
1011£ºÉ ......
Èç¹ûÒªËæ»ú»ñÈ¡¼Ç¼Êý£¬ÔÚmysqlÀï×î¼òµ¥µÄ·½·¨¿Ï¶¨ÊÇorder
by
rand
()ÁË£¬µ«ÊÇÕâÖÖ·½·¨Ö»ÄÜÔÚ±í¼Ç¼¼«ÉÙµÄÇé¿öϲÅÄÜʹÓá£Ö÷ÒªÊÇÒòΪorder
by
rand
()µ¼ÖÂÁËusing filesort.Õâ¸öʱºò²éѯÀàÐÍ»á±ä³Éall£¬Ë÷Òý»áʧЧ¡£Ö»Ðè¼òµ¥µÄ±äͨÏ£¬Íê³É¿ÉÒÔ×öµ½Í¬ÑùµÄЧ¹û¡£
¸ù¾Ý¼Ç¼µÄÀàÐÍ£¬·ÖÀàÁ¬ÐøºÍ·ÇÁ¬ÐøÁ½ÖÖ¡£
Á¬ÐøÖ ......