一、MySQL隨機字符串id
MySQL已經提供了內置函數uuid()可以用來生成一個唯一的UUID值,可以作為唯一標識符,但是它是一個比較長的字符串。可以使用substring()函數截取其中的一部分內容。
SELECT substring(uuid(),1,8);
當然,也可以通過創建表的時候將主鍵設置為UUID值來實現唯一性。
CREATE TABLE test( id varchar(36) NOT NULL DEFAULT uuid(), name varchar(100) NOT NULL, PRIMARY KEY (id) );
二、C++隨機生成字符串
C++可以使用rand()函數生成隨機數,那麼我們可以通過循環來生成隨機字符串。
#include
#include
#include
#include
using namespace std;
string getRandomString(int length) {
srand((unsigned)time(NULL));
string str = "";
for (int i = 0; i < length; i++) {
str += static_cast('a' + rand() % 26);
}
return str;
}
int main() {
cout << getRandomString(8) << endl;
return 0;
}
三、MySQL隨機字符串函數
MySQL自帶了一個random_bytes()函數,用於生成任意長度的隨機二進制位元組串,不過該函數需要安裝RC4 Salsa20或ChaCha20算法插件。
MySQL也提供了一個內置函數rand()來生成隨機數,可以結合substr()函數來生成隨機字符串。
SELECT CONCAT(SUBSTR('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*62+1,1),
SUBSTR('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*62+1,1),
SUBSTR('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*62+1,1),
SUBSTR('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*62+1,1),
SUBSTR('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*62+1,1))
as random_string;
四、MySQL字符串類型
MySQL中字符串類型包括char、varchar、text等類型。其中,char和varchar類型需要指定長度,而text類型可以存儲大量數據,但是需要注意text類型只能在索引中進行全文檢索,而不能進行普通索引。
五、隨機字符串生成器
可以使用Python編寫一個隨機字符串生成器。
import random
import string
def getRandomString(length):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(length))
if __name__ == '__main__':
print(getRandomString(10))
六、隨機字符串生成
可以使用PHP編寫一個隨機字符串生成器。
function getRandomString($length) {
$str = '';
$chars = '0123456789abcdefghijklmnopqrstuvwxyz';
for($i = 0; $i < $length; $i++) {
$str .= $chars[mt_rand(0, strlen($chars) - 1)];
}
return $str;
}
echo getRandomString(8);
七、隨機字符串在線
可以在https://www.random.org/strings/上使用在線隨機字符串生成器,可以自定義長度、字符集、行數等條件。
八、MySQL隨機字符串
可以使用MySQL內置函數生成隨機字符串,可以結合insert語句和循環進行插入操作。
DELIMITER $$
CREATE PROCEDURE sp_generate_random_string(IN length INT)
BEGIN
DECLARE i INT DEFAULT 1;
CREATE TEMPORARY TABLE temp_table AS SELECT 1 col1;
DELETE FROM temp_table;
WHILE i <= length DO
INSERT INTO temp_table SELECT NULL;
SET i = i+1;
END WHILE;
SELECT CONCAT(SUBSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*52+1,1),
SUBSTR('0123456789',RAND()*10+1,1),
SUBSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*52+1,1),
SUBSTR('0123456789',RAND()*10+1,1),
SUBSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*52+1,1),
SUBSTR('0123456789',RAND()*10+1,1),
SUBSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',RAND()*52+1,1),
SUBSTR('0123456789',RAND()*10+1,1)
) FROM temp_table;
END $$
DELIMITER ;
九、js生成隨機字符串
可以使用JavaScript編寫一個隨機字符串生成器。
function getRandomString(length) {
var chars = '0123456789abcdefghijklmnopqrstuvwxyz';
var result = '';
for (var i = 0; i < length; i++) {
var index = Math.floor(Math.random() * chars.length);
result += chars[index];
}
return result;
}
console.log(getRandomString(10));
十、random隨機生成字符串
可以使用Java編寫一個隨機字符串生成器。
public class RandomStringGenerator {
private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
public static String generate(int length) {
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
int index = random.nextInt(CHARACTERS.length());
sb.append(CHARACTERS.charAt(index));
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(generate(8));
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/207076.html
微信掃一掃
支付寶掃一掃