您的位置:首页 > 数据库 > MySQL

mysql 插入随机数据

2010-04-24 17:55 246 查看
前言
有时需要测试插入数据库的记录来测试,所以就非常需要用到这些脚本。

创建表
CREATE TABLE `tables_a` (
`id` int(10) NOT NULL DEFAULT '0',
`name` char(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建产生随机字符串的函数(转载之http://hi.baidu.com/smallchicken/blog/item/6efcb6302e35d790a9018e84.html)
set global log_bin_trust_function_creators = 1;
DROP FUNCTION IF EXISTS rand_string;
DELIMITER //
CREATE FUNCTION rand_string(n INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str varchar(255) DEFAULT '';
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END //
delimiter ;

创建插入表的procedure,x是从多少开始。y是多少结束,z是产生多少位随机数
delimiter //
create procedure test(x int(10),y int(10),z int(10))
begin
DECLARE i INT DEFAULT x;
while i<y do
insert into tables_a values(i,rand_string(z));
set i=i+1;
end while;
end //
delimiter ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息