Posts tagged: mysql

mysql分省号段与电话号码的连接查询

比如,有用户手机号码: mysql> select * from user_numbers; +—-+————–+ | id | phone_number | +—-+————–+ |  1 | 13701338000  | |  2 | 13701338001  | |  3 | 13701337000  | +—-+————–+   有分省的号段,一般是8位来区分: mysql> select * from province_numbers; +—-+———-+———-+ | id | number   | province | +—-+———-+———-+ |  1 | 13701338 | bj       | |  2 | [...]

星期四 十一月 19th, 2009 in , | No Comments »

实现mysql触发器用于重排索引

接着上文mysql存储过程实现树形结构索引表,如果插入一个新的分类到categories表,比如: insert into categories(name,parent_id) values(‘new category’,1); 可以触发一个插入后触发器,用于插入后的重排索引。比如: DELIMITER $$ USE `mytest`$$ DROP TRIGGER /*!50032 IF EXISTS */ `categories_add_node`$$ CREATE    /*!50017 DEFINER = ‘root’@’localhost’ */    TRIGGER `categories_add_node` AFTER INSERT ON `categories`     FOR EACH ROW BEGIN    DECLARE current_number BIGINT;    DELETE FROM categories_tree_index;    SET current_number=0;    CALL categories_create_index(1,current_number);    END;$$ DELIMITER ;      发送文章为PDF   

星期一 十月 19th, 2009 in , | No Comments »

mysql存储过程实现树形结构索引表

在mysql存储过程编写最简单的树的遍历的表结构和数据基础上,增加一个索引表,比如叫:categories_tree_index,表结构如下: 按照上文中的深度优先遍历,并给所有树的节点两个序号,从1开始,即第一次遍历的号和第二次遍历的号。以下是上文数据形成的一个顺序: 日志引用实现mysql触发器用于重排索引    发送文章为PDF   

星期日 十月 18th, 2009 in , | No Comments »

mysql存储过程编写最简单的树的遍历

数据库经常被用来存储树形结构的内容,比如商品分类,或者是链接的层次关系等。比如,有一个表categories,包括自己id和父id,可能还有一个名称(name)字段: 日志引用mysql存储过程实现树形结构索引表    发送文章为PDF   

星期日 十月 18th, 2009 in , | No Comments »

使用sqlyog编写一个最简单的存储过程

sqlyog的具体安装见使用sqlyog替代toad做mysql开发。连接到数据库后,可以通过objects>stored procedures创建存储过程,会创建一个空的存储过程代码。在begin和end$$中间写代码即可。以下是一个最简单的示例,打印出mysql数据库的版本。 DELIMITER $$ CREATE    /*[DEFINER = { user | CURRENT_USER }]*/    PROCEDURE `mytest`.`test_procedure`()    /*LANGUAGE SQL    | [NOT] DETERMINISTIC    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }    | SQL SECURITY { DEFINER | INVOKER }    | COMMENT ‘string’*/    BEGIN    SELECT VERSION();    END$$ DELIMITER ;      发送文章为PDF [...]

星期六 十月 17th, 2009 in , | No Comments »

使用sqlyog替代toad做mysql开发

toad和sqlyog都可以做mysql的客户端,而且都可以开发存储过程。另外,二者都有免费的版本。toad for mysql是free的(http://www.toadsoft.com/toadmysql/Overview.htm),sqlyog有社区版本(http://code.google.com/p/sqlyog/),比企业版缺少一些方便的功能,见: http://www.webyog.com/en/sqlyog_feature_matrix.php 以前用toad,缺点是需要安装微软dot net 2.0框架,比较麻烦。另外就是软件体积较大,运行速度较慢。 这次要写一些mysql存储过程,就用sqlyog吧。 日志引用使用sqlyog编写一个最简单的存储过程    发送文章为PDF   

星期六 十月 17th, 2009 in , | No Comments »

MySQL丢失ROOT密码的解决方法

恢复以前系统的一个MySQL,中间人员变动密码不知道了。MySQL 5.1,Linux RedHat AS4。 处理办法是,先在/etc/my.cnf文件中的[mysqld]部分增加: [mysqld]skip-grant-tables 重启mysql。    发送文章为PDF   

星期二 七月 14th, 2009 in , | No Comments »

mysql支持事务的设置

默认情况下,mysql使用innodb引擎,但是建表默认情况下是使用不支持事务的MyISAM。如果需要对表的操作支持事务,比如通过jdbc。那需要建表中指定innodb引擎,比如: create table USERS ( ID int not null auto_increment, NAME varchar(100) not null, BIRTHDAY date, PHOTO longblob, primary key (ID) )engine = innodb;    发送文章为PDF   

星期二 二月 24th, 2009 in , | No Comments »

mysql数据库的备份与恢复

虽然有类似phpmyadmin这样的图形化工具,但是对于经常性的备份与恢复,这显得没有效率。还是命令行快速和可靠。以下记录数据库备份和恢复中需要使用的命令。    发送文章为PDF   

星期四 七月 20th, 2006 in , , | No Comments »

mysql创建用户和授权

如果需要mysql远程访问,而且ip地址不固定,用户权限只是select,可以这样: grant select on db_name.* to usr_name@’%’ identified by “password”;    发送文章为PDF   

星期一 五月 15th, 2006 in , | No Comments »