sql语句插入百万测试数据

开发的过程中,很多时候我们需要插入百万数据来测试功能和性能,今天我来教大家最简单的插入方法

1-----------------1、新建表--------------------- 2 3CREATE TABLE [student] ( 4[ID] [int] IDENTITY (1, 1) NOT NULL, 5[sid] [varchar] (20) NOT NULL,[age] [int]  NOT NULL, 6[name] [nvarchar] (50) NOT NULL 7) 8 9-----------------2、插入百万数据--------------------- 10 11DECLARE @LN VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200) 12DECLARE @LN_N INT,@MN_N INT,@FN_N INT 13SET @LN='李王张刘陈杨黄赵周吴徐孙朱马胡郭林何高梁郑罗宋谢唐韩曹许邓萧冯曾程蔡彭潘袁于董余苏叶吕魏蒋田杜丁沈姜范江傅钟卢汪戴崔任陆廖姚方金邱夏谭韦贾邹石熊孟秦阎薛侯雷白龙段郝孔邵史毛常万顾赖武康贺严尹钱施牛洪龚' 14SET @MN='德绍宗邦裕傅家積善昌世贻维孝友继绪定呈祥大正启仕执必定仲元魁家生先泽远永盛在人为任伐风树秀文光谨潭棰' 15SET @FN='丽云峰磊亮宏红洪量良梁良粮靓七旗奇琪谋牟弭米密祢磊类蕾肋庆情清青兴幸星刑' 16SET @LN_N=LEN(@LN) 17SET @MN_N=LEN(@MN) 18SET @FN_N=LEN(@FN) 19DECLARE @TMP VARCHAR(1000),@I INT 20SET @I=1 21WHILE @I<1000000 22BEGIN 23 SET @TMP=CAST(SUBSTRING(@LN,CAST(RAND()*@LN_N AS INT),1) AS VARCHAR) 24 SET @TMP=@TMP+CAST(SUBSTRING(@MN,CAST(RAND()*@MN_N AS INT),1) AS VARCHAR) 25 SET @TMP=@TMP+CAST(SUBSTRING(@FN,CAST(RAND()*@FN_N AS INT),1) AS VARCHAR) 26 INSERT INTO student(sid,age,name)VALUES('2018-'+convert(varchar,@I),cast(floor(rand() * 50+18) as int),@TMP)SET @I=@I+1 27end 28 29-----------------统计--------------------- 30 31select COUNT(ID) from student 32 33-----------------查看--------------------- 34 35select top 100 * from student 36 37-----------------删除表--------------------- 38 39drop table student
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

sql循环语句在update中的应用

sql循环语句在update中的应用在实际的开发场景中,我们有时候要对表中的所有数据进行批量修改,但是当数据量十分盘庞大时,比如几百万几千万条数据,这时候我们执行update语句的话就会长时间锁住该表。这样非常容易造成死锁现象(在企业中DBA肯定是不允许执行这种sql语句的)。所以为了避免出现这种问题,我们在执行批量

Excel数据转化为sql脚本

在实际项目开发中,有时会遇到客户让我们把大量Excel数据导入数据库的情况。这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库。1在数据前插入一列单元格,用来拼写sql语句。 具体写法:"insertintot\_student(id,name,age,class)value("&B2&",'"&C2&"',"&D2&"

Mysql_项目1:group by和having的使用(删除重复的电子邮箱)

项目1:查找重复的电子邮箱创建email表,并插入如下三行数据\创建表CREATETABLEemail(idINTNOTNULLauto_increment,emailVARCHAR(20)NOTNULL,PRIMARYKEY(id));\插入数据

mysql字段默认值不生效的问题解决(上)

在项目中使用mybatis做为持久层框架,mysql数据库。项目上线前,DBA要求我们将每张数据库表中的字段都设置默认值和notnull。之前项目中有一些insert语句是将表中所有字段都列出来,然后把它做为一个通用的插入语句来使用。举个简单的例子:假如一张数据库表blog中有如下几个字段:id,title,content,author,除id外,每个字段

ElasticSearch 使用不同表结构存储时间序列数据的查询效率分析

这里我们使用和之前完全相同的测试数据,来测试elasticsearch存储时间序列的表结构选择问题。一个点一个doc的表结构同样我们以最简单的表结构开始。在elasticsearch中,先要创建index,然后index下有mapping。所谓的mapping就是表结构的概念。建表的配置如下:settings