mysql如何自動生成大量數據

mysql自動生成大量數據

為了學習驗證高性能mysql,自動生成大量的數據做測試。內容來源于網絡。

推薦:《mysql視頻教程

創建隨機數字生成

DELIMITER?$$ CREATE?DEFINER=`root`@`%`?FUNCTION?`random_num`(?)?RETURNS?int(5) BEGIN??? ?DECLARE?i?INT?DEFAULT?0;?? ?SET?i?=?FLOOR(100+RAND()*10);?? RETURN?i;?? ?END$$ DELIMITER?;

生成隨機字符串

DELIMITER?$$ CREATE?DEFINER=`root`@`%`?FUNCTION?`random_string`(n?INT)?RETURNS?varchar(255)?CHARSET?latin1 BEGIN ?DECLARE?chars_str?VARCHAR(100)?DEFAULT?'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ'; ?DECLARE?return_str?VARCHAR(255)?DEFAULT?''; ?DECLARE?i?INT?DEFAULT?0; ?WHILE?i?<p>生成隨機數字,返回varchar類型數據組合,例如手機號</p><pre class="brush:php;toolbar:false">DELIMITER?$$ CREATE?DEFINER=`root`@`%`?FUNCTION?`random_string_phone`(n?INT)?RETURNS?varchar(255)?CHARSET?latin1 BEGIN ?DECLARE?chars_str?VARCHAR(100)?DEFAULT?'1234567890'; ?DECLARE?return_str?VARCHAR(255)?DEFAULT?''; ?DECLARE?i?INT?DEFAULT?0; ?WHILE?i?<p>創建用戶表myisam引擎</p><pre class="brush:php;toolbar:false">CREATE?TABLE?`sys_user_myisam`?( ??`user_id`?bigint(100)?NOT?NULL?AUTO_INCREMENT, ??`username`?varchar(100)?DEFAULT?NULL?COMMENT?'用戶名', ??`password`?varchar(100)?DEFAULT?NULL?COMMENT?'密碼', ??`salt`?varchar(100)?DEFAULT?NULL?COMMENT?'鹽', ??`email`?varchar(100)?DEFAULT?NULL?COMMENT?'郵箱', ??`mobile`?varchar(100)?DEFAULT?NULL?COMMENT?'手機號', ??`status`?int(1)?DEFAULT?'1'?COMMENT?'狀態??0:禁用???1:正常', ??PRIMARY?KEY?(`user_id`) )?ENGINE=MyISAM?AUTO_INCREMENT=1000001?DEFAULT?CHARSET=utf8?COMMENT='系統用戶MyISAM';

創建存儲過程生成數據

DELIMITER?$$ CREATE?DEFINER=`root`@`%`?PROCEDURE?`insert_sys_user_myisam`(IN?START?INT(10),IN?max_num?INT(10)) BEGIN?? DECLARE?i?INT?DEFAULT?0;??? ?SET?autocommit?=?0;???? ?REPEAT?? ?SET?i?=?i?+?1;?? ?INSERT?INTO?sys_user_myisam?(user_id,username,password,salt,email,mobile,status)?VALUES?(START+i,random_string(10),random_string(6),random_string(10),random_string(20),random_string_phone(12),1);?? ?UNTIL?i?=?max_num?? ?END?REPEAT;?? ?COMMIT;?? ?END$$ DELIMITER?;

創建表innodb引擎

create?table?sys_user_innodb?ENGINE=MyISAM?AUTO_INCREMENT=1000001?DEFAULT?CHARSET=utf8?as?select?*?from?sys_user_myisam;

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享