首页 > 数据库 >mysql创建百万条虚假数据进行学习

mysql创建百万条虚假数据进行学习

时间:2023-04-13 16:59:18浏览次数:41  
标签:COMMENT varchar DEFAULT 创建 虚假 -- 百万条 mysql NULL

1.创建基础表

CREATE TABLE `app_user` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT '' COMMENT '用户昵称',
`email` varchar(50) NOT NULL COMMENT '用户邮箱',
`phone` varchar(20) DEFAULT '' COMMENT '手机号',
`gender` tinyint(4) unsigned DEFAULT '0' COMMENT '性别(0:男;1:女)',
`password` varchar(100) NOT NULL COMMENT '密码',
`age` tinyint(4) DEFAULT '0' COMMENT '年龄',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='app用户表'

2.生成百万条数据

-- 1418错解决方案(创建函数前执行此语句)
set global log_bin_trust_function_creators=true;

-- 插入100万条数据
DELIMITER $$ -- 写函数之前要写的标志
CREATE FUNCTION mock_data() -- 创建mock_data()函数
RETURNS INT
BEGIN
DECLARE num INT DEFAULT 1000000;
DECLARE i INT DEFAULT 0;
WHILE i < num DO
INSERT INTO app_user(`name`, `email`, `phone`, `gender`, `password`, `age`)
VALUES(CONCAT('用户', i), '[email protected]', CONCAT('18', FLOOR(RAND()*(999999999-100000000)+100000000)),FLOOR(RAND()*2),UUID(), FLOOR(RAND()*100));
SET i = i + 1;
END WHILE;
RETURN i;
END;

-- 执行函数
SELECT mock_data();

标签:COMMENT,varchar,DEFAULT,创建,虚假,--,百万条,mysql,NULL
From: https://www.cnblogs.com/qingmu1999/p/17315377.html

相关文章

  • mysql,dorics数据库查询不同类型数据前10条信息
    selectt1.id,t1.namefrom(selectt.id,t.name,row_number()over(partitionbyt.idorderbyt.date)rnfromAt)t1wheret1.rn<=10;结果如下:  ......
  • Docker MySql8 创建、删除、授权用户
    1、登录MySql8#登录数据库dockerexec-itmysql8mysql-uroot-proot123456#切换数据库实例usemysql;2、用户操作2.1、查看用户selecthost,user,authentication_string,pluginfromuser;2.2、创建本地用户#创建一个用户名为admin,密码为admin123456的......
  • Linux安装MySQL
    1、下载MySQLMySQL官网:https://downloads.mysql.com/archives/community/。下载Linux版本的MySQL安装包,这里我选择的是64位、8.0.31版本,下载的压缩包名称:mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz。  2、Linux安装MySQL1、将下载的压缩包,上传到Linux的指定目录并解压......
  • MySQL的锁机制
    锁概述锁是计算机协调多个进程或线程并发访问某一资源的机制。并发控制技术在数据库中,数据可以允许多个用户同时访问,因此在并发场景下需要确保数据的一致性,并发场景有三种:读-读:多用户并发读不会有问题读-写:可能出现脏读、幻读、不可重复读写-写:并发更新同一行会导致丢失更......
  • 对于为何设置mySql连接字符串为生么设置useSSL=false
    不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL5.5.45+、5.6.26+和5.7.6+的要求,如果不设置显式选项,则必须建立默认的SSL连接。需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。所以建议设置useSSL为false,有时遇到的问题......
  • Centos上卸载MySQL8.0
    1、查看当前mysql安装状况rpm-qa|grepmysql#或yumlistinstall|grepmysql2、查看mysql的服务是否启动systemctlstatusmysqld2.1、如果启动则关闭mysql服务systemctlstopmysqld.service#service可加可不加#停止MySQL的服务[root@chenstudy~]\#......
  • mysql主从故障恢复
    之前遇到过一次Slave_SQL_Running:no的情况,解决方法请参考:https://www.cnblogs.com/sxFu/p/16022876.html而这次遇到的故障为:Slave_IO_Running:no一方面原因是因为网络通信的问题也有可能是日志读取错误的问题 再看错误信息可以判断为日志读取错误的问题 解决办法1、......
  • mysql时间字段自动填充
    场景数据库中的表需要两个字段,创建时间,更新时间。了解mysql有这个机制,可以自动填充,就百度了下,就是不知道用了之后有什么弊端。altertable`issue`addcolumncreateTimedatetimedefaultCURRENT_TIMESTAMPafter`jira_id`altertable`issue`addcolumnupdateTimeda......
  • 力扣1127(MySQL)-用户购买平台(困难)
    题目:支出表:Spending这张表记录了用户在一个在线购物网站的支出历史,该在线购物平台同时拥有桌面端(‘desktop’)和手机端(‘mobile’)的应用程序。这张表的主键是(user_id,spend_date,platform)。平台列platform是一种ENUM,类型为(‘desktop’,‘mobile’)。问题写一段SQL......
  • 力扣1126(MySQL)-查询活跃业务(中等)
    题目:事件表:Events此表的主键是(business_id,event_type)。表中的每一行记录了某种类型的事件在某些业务中多次发生的信息。问题写一段SQL来查询所有活跃的业务。如果一个业务的某个事件类型的发生次数大于此事件类型在所有业务中的平均发生次数,并且该业务至少有两个这样......