欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中插入隨機字符串?dāng)?shù)據(jù)及常見問題說明

 更新時間:2023年10月18日 16:27:39   作者:WINNER_QIUQIU  
這篇文章主要介紹了mysql中插入隨機字符串?dāng)?shù)據(jù)及常見問題說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

插入隨機字符串?dāng)?shù)據(jù)可用于大量數(shù)據(jù)的測試。

一、數(shù)據(jù)表

已知表stringcontent,其中包含字段:

id要求自增長

content  varchar(30)

二、實現(xiàn)步驟

1.按要求創(chuàng)建表

DROP TABLE IF EXISTS stringcontent;#防止該表已經(jīng)存在
CREATE TABLE stringcontent(
	id INT PRIMARY KEY AUTO_INCREMENT,
	content VARCHAR(30)
);

2.創(chuàng)建存儲過程

DROP PROCEDURE IF EXISTS myfinal;
DELIMITER $
CREATE PROCEDURE myfinal(IN num INT)
BEGIN
	DECLARE i INT DEFAULT 1;#定義一個循環(huán)變量i,表示插入次數(shù)
	DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';	
	DECLARE startIndex INT DEFAULT 1;#代表起始索引
	DECLARE len INT DEFAULT 1;#代表截取的字符的長度
	WHILE i<=num DO
		SET startIndex=FLOOR(RAND()*26+1);#產(chǎn)生一個隨機的整數(shù),代表起始索引1~26
		SET len=FLOOR(RAND()*(26-startIndex+1)+1);#產(chǎn)生一個隨機的整數(shù),代表截取長度,1~(26-startIndex+1)
		INSERT INTO stringcontent(content) VALUES(SUBSTR(str,startIndex,len));
		SET i=i+1;#循環(huán)變量更新
	END WHILE;

END$

3.調(diào)用存儲過程并顯示結(jié)果

CALL myfinal(10)$
SELECT * FROM stringcontent$

結(jié)果如下:


在這里插入圖片描述

三、常見問題

1.字符串長度的聲明

個人認(rèn)為 content 對應(yīng)類型varchar長度應(yīng)定義在26以上,通過分析在截取子串時可能出現(xiàn)索引為1,字符串為26的情況。

因此在建表時,長度應(yīng)定義在26以上。

本文定義:

content  varchar(30);

2.len會不會為負(fù)數(shù)

mysql中rand()函數(shù)產(chǎn)生的隨機數(shù)范圍為:0~1,因此按上述方式進行定義不會出現(xiàn)負(fù)數(shù)。

3.為什么結(jié)果會出現(xiàn)空值的情況

隨機字符串產(chǎn)生的原理是產(chǎn)生隨機起始索引和隨機長度,根據(jù)這兩個參數(shù)對默認(rèn)字符串進行截取。

因此結(jié)果出現(xiàn)空值情況的可能原因是截取到了沒有定義的字符,因此在定義字符串默認(rèn)值時輸入字母的長度一定要大于等于可截取字符串的最大長度。

本文定義:

DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MYSQL 淺談MyISAM 存儲引擎

    MYSQL 淺談MyISAM 存儲引擎

    mysql中用的最多存儲引擎就是innodb和myisam。做為Mysql的默認(rèn)存儲引擎,myisam值得我們學(xué)習(xí)一下,以下是我對《高性能MYSQL》書中提到的myisam的理解,請大家多多指教
    2012-04-04
  • MySQL查詢和修改auto_increment的方法

    MySQL查詢和修改auto_increment的方法

    這篇文章主要介紹了MySQL查詢和修改auto_increment的方法,實例分析了select查詢auto_increment及ALTER修改auto_increment的技巧,需要的朋友可以參考下
    2015-02-02
  • Mysql關(guān)于數(shù)據(jù)庫是否應(yīng)該使用外鍵約束詳解說明

    Mysql關(guān)于數(shù)據(jù)庫是否應(yīng)該使用外鍵約束詳解說明

    MySQL 外鍵約束(FOREIGN KEY)是表的一個特殊字段,經(jīng)常與主鍵約束一起使用。對于兩個具有關(guān)聯(lián)關(guān)系的表而言,相關(guān)聯(lián)字段中主鍵所在的表就是主表,外鍵所在的表就是從表。外鍵用來建立主表與從表的關(guān)聯(lián)關(guān)系,為兩個表的數(shù)據(jù)建立連接,約束兩個表中數(shù)據(jù)的一致性和完整性
    2021-10-10
  • 解決net start mysql--服務(wù)無法啟動 服務(wù)沒有報告任何錯誤問題

    解決net start mysql--服務(wù)無法啟動 服務(wù)沒有報告任何錯誤問題

    這篇文章主要介紹了解決net start mysql--服務(wù)無法啟動 服務(wù)沒有報告任何錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • CentOS 6.5下yum安裝 MySQL-5.5全過程圖文教程

    CentOS 6.5下yum安裝 MySQL-5.5全過程圖文教程

    在linux安裝mysql是一個困難的事情,yum安裝一般是安裝的mysql5.1,現(xiàn)在經(jīng)過自己不懈努力終于能用yum安裝mysql5.5了。下面通過兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過程,一起學(xué)習(xí)吧
    2016-05-05
  • MySQL數(shù)據(jù)表設(shè)計之自動增長的實現(xiàn)

    MySQL數(shù)據(jù)表設(shè)計之自動增長的實現(xiàn)

    本文主要介紹了MySQL數(shù)據(jù)表設(shè)計之自動增長的實現(xiàn),包括創(chuàng)建數(shù)據(jù)表時設(shè)置自動增長和修改數(shù)據(jù)表時添加自動增長,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • MySQL索引失效的14種場景分享

    MySQL索引失效的14種場景分享

    作為一名后端程序員,經(jīng)常會對慢查詢SQL語句進行調(diào)優(yōu),而SQL語句出現(xiàn)慢查詢,很多情況是由于索引失效造成的,本文為大家整理了14種MySQL索引失效的場景,需要的可以參考一下
    2023-05-05
  • MySQL 復(fù)制表詳解及實例代碼

    MySQL 復(fù)制表詳解及實例代碼

    這篇文章主要介紹了MySQL 復(fù)制表詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • mysql釋放表空間的方法示例

    mysql釋放表空間的方法示例

    本文主要介紹了mysql釋放表空間的方法示例,可以使用OPTIMIZE TABLE命令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • spark rdd轉(zhuǎn)dataframe 寫入mysql的實例講解

    spark rdd轉(zhuǎn)dataframe 寫入mysql的實例講解

    今天小編就為大家分享一篇spark rdd轉(zhuǎn)dataframe 寫入mysql的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論