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

mysql中插入隨機(jī)字符串?dāng)?shù)據(jù)及常見(jiàn)問(wèn)題說(shuō)明

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

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

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

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

id要求自增長(zhǎng)

content  varchar(30)

二、實(shí)現(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)建存儲(chǔ)過(guò)程

DROP PROCEDURE IF EXISTS myfinal;
DELIMITER $
CREATE PROCEDURE myfinal(IN num INT)
BEGIN
	DECLARE i INT DEFAULT 1;#定義一個(gè)循環(huán)變量i,表示插入次數(shù)
	DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';	
	DECLARE startIndex INT DEFAULT 1;#代表起始索引
	DECLARE len INT DEFAULT 1;#代表截取的字符的長(zhǎng)度
	WHILE i<=num DO
		SET startIndex=FLOOR(RAND()*26+1);#產(chǎn)生一個(gè)隨機(jī)的整數(shù),代表起始索引1~26
		SET len=FLOOR(RAND()*(26-startIndex+1)+1);#產(chǎn)生一個(gè)隨機(jī)的整數(shù),代表截取長(zhǎng)度,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)用存儲(chǔ)過(guò)程并顯示結(jié)果

CALL myfinal(10)$
SELECT * FROM stringcontent$

結(jié)果如下:


在這里插入圖片描述

三、常見(jiàn)問(wèn)題

1.字符串長(zhǎng)度的聲明

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

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

本文定義:

content  varchar(30);

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

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

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

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

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

本文定義:

DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';

總結(jié)

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

相關(guān)文章

  • MYSQL 淺談MyISAM 存儲(chǔ)引擎

    MYSQL 淺談MyISAM 存儲(chǔ)引擎

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

    MySQL查詢和修改auto_increment的方法

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

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

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

    解決net start mysql--服務(wù)無(wú)法啟動(dòng) 服務(wù)沒(méi)有報(bào)告任何錯(cuò)誤問(wèn)題

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

    CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程圖文教程

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

    MySQL數(shù)據(jù)表設(shè)計(jì)之自動(dòng)增長(zhǎng)的實(shí)現(xiàn)

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

    MySQL索引失效的14種場(chǎng)景分享

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

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

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

    mysql釋放表空間的方法示例

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

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

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

最新評(píng)論