mysql创建表插入随机数_在MySQL中的表格中插入随机数

要插入随机数,请使用RAND()MySQL中的function。让我们首先创建一个表-mysql> create table DemoTable

(

Value int

);

使用插入命令在表中插入一些记录-mysql> insert into DemoTable values(10);

mysql> insert into DemoTable values(20);

mysql> insert into DemoTable values(30);

使用select语句显示表中的所有记录-mysql> select *from DemoTable;

这将产生以下输出-+-------+

| Value |

+-------+

| 10 |

| 20 |

| 30 |

+-------+

3 rows in set (0.00 sec)

让我们在MySQL的表格中插入随机数-mysql> update DemoTable set Value=FLOOR(@number * rand()) + 1;

Rows matched: 3 Changed: 3 Warnings: 0

让我们再次检查表记录-mysql> select *from DemoTable;

这将产生以下输出-+-------+

| Value |

+-------+

| 2 |

| 2 |

| 1 |

+-------+

3 rows in set (0.00 sec)

1) 产生0到1000间的随机数
SELECT RAND() * 10000;

对应产生相应的整数
SELECT FLOOR(RAND() * 10000)

2) 使用md5()产生32位随机字符串

SELECT MD5(RAND() * 10000)

3) 产生500-1000间的整形
SELECT FLOOR( 500 + RAND() * (1000 - 500))
4) 假设某表如下结构
CREATE TABLE fact (
dim1 int,
dim2 int,
name varchar(20),
hash varchar(32),
measure1 double
);

则可以自动产生适合其结构的大量随机记录
create table names(id int auto_increment primary key, name varchar(20));
insert into names (name) values (‘Justin’,‘Jerry’,‘James’,‘Josh’,‘Julien’);
select (select name from names where id = 1 + rand() * 4);

这里有一个表专门产生随机的字符串;

INSERT INTO fact
SELECT FLOOR(1+ rand()*9999),
FLOOR(1 + rand()*499),
(select name from names where id = 1 + rand() * 4),
MD5(1+rand()*9999),
rand()
FROM fact;

    A+
发布日期:2023年02月21日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: