1:只要已经存在表结构的

第一种方式:

CREATE TABLE T1
SELECT * FROM mysql.user
WHERE 1=2;

第二种方式:

CREATE TABLE T2
LIKE mysql.user;
mysql> CREATE TABLE t1
-> LIKE mysql.user;
Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE t2
-> SELECT * FROM mysql.user
-> WHERE 1=2;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

2:表结构和数据都要的

CREATE TABLE T1
SELECT * FROM mysql.user

  

3:需要100W的数据量

DROP TABLE IF EXISTS testdata;
CREATE TABLE testdata
(id int,name varchar(10)); DROP PROCEDURE IF EXISTS pro_testdata; DELIMITER &&
CREATE PROCEDURE pro_testdata(IN inr int)
BEGIN
DECLARE i INT DEFAULT 0;
START TRANSACTION;
WHILE i<inr DO
INSERT INTO testdata(id,name) values(i,'gechong');
SET i=i+1;
END WHILE;
COMMIT;
END && DELIMITER ;

  

call pro_testdata(1000000);

  

mysql> SELECT COUNT(1) FROM testdata;
+----------+
| COUNT(1) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec) mysql> CALL pro_testdata(10000);
Query OK, 0 rows affected (0.24 sec) mysql> SELECT COUNT(1) FROM testdata;
+----------+
| COUNT(1) |
+----------+
| 10000 |
+----------+
1 row in set (0.00 sec)

  

如果表结构不满足要求做简单修改即可。

参数类型:in、out、inout

in表示:调用者传给存储过程

out表示:存储过程返回给调用者的

inout:MySQL 存储过程 inout 参数跟 out 类似,都可以从存储过程内部传值给调用者。不同的是:调用者还可以通过 inout 参数传递值给存储过程。

DROP PROCEDURE IF EXISTS proinout;
DELIMITER &&
CREATE PROCEDURE proinout (in id1 int,out id2 int)
BEGIN
SELECT id INTO id2 FROM t
WHERE id = id1;
END && DELIMITER ;

  

调用

call proinout(100,@id_num);

  

SELECT @id_num;

  

MySQL快速建立测试表的更多相关文章

  1. mysql 快速清除数据表数据

    mysql> truncate tables; 例如: mysql> truncate email_managements;

  2. 在mysql数据库中制作千万级测试表

    在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张 ...

  3. MySQL快速回顾:数据库和表操作

    前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接 ...

  4. MySQL快速生产表的描述

    # mysql快速生成表的描述 SELECT column_name AS `列名`, CONCAT_WS(' (', data_type, character_maximum_length) AS ...

  5. 使用MySQL Workbench建立数据库,建立新的表,向表中添加数据

    使用MySQL Workbench建立数据库,建立新的表,向表中添加数据 初学数据库,记录一下所学的知识.我用的MySQL数据库,使用MySQL Workbench管理.下面简单介绍一下如何使用MyS ...

  6. Mysql快速删除表中重复的数据

    表结构 CREATE TABLE T_VENDOR ( ID ) NOT NULL AUTO_INCREMENT COMMENT 'ID', COUNTRY ) DEFAULT NULL COMMEN ...

  7. Navicat MYSQL 建立关联表 保存时遇到 cannot add foreign key constraint

    首先建立user表,如下图 然后建立message表,userid用作外键,关联user表的id 点击上面的外键按钮,添加外键如下 结果保存时报错: cannot add foreign key co ...

  8. mysql死锁-查询锁表进程-分析锁表原因【转】

    查询锁表进程: 1.查询是否锁表 show OPEN TABLES where In_use > 0;   2.查询进程     show processlist   查询到相对应的进程===然 ...

  9. mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化

    可以从这些方面进行优化: 数据库(表)设计合理 SQL语句优化 数据库配置优化 系统层.硬件层优化 数据库设计 关系数据库三范式 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非 ...

随机推荐

  1. 每天定时备份mysql数据库任务

    需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: #创建shell文件 vim ...

  2. 对于多个button要在同一个监听器中实现自己的单击事件的方法小诀窍。

    在网上的一些教程中往往是把一个button加入多个监听器,却非常少有人会把多个button在同一个监听器中去实现他们的单击事件,并且这杨的事实上是非常有用的,比方说在制作一个简单的计算器是就须要0-9 ...

  3. [转]Linux的SOCKET编程详解

    From : http://blog.csdn.net/hguisu/article/details/7445768 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在 ...

  4. httpModules 不起作用 modules 不起作用 血泪经验

    本人也搜索了哏多解决方案.最后都没有解决... 劝您还会放弃把.. 如果非要用,劝您吧代码写到  Global.asax   里...(血泪经验)

  5. TFS中查看我的所有签入迁出记录 TFS 怎么查看所有的修改

    [源代码资源管理器]=>左边窗口目录树选中一行项目=>右键 查看历史记录=>在历史记录中,双击变更集即可以看到某一次变更的所有记录.

  6. 样条之Akima光滑插值函数

    核心代码: ////////////////////////////////////////////////////////////////////// // Akima光滑插值 // t - 存放指 ...

  7. C/C++ 分支预测(likely unlikely)

    看一些代码时,会遇到likely unlikely, 查了查网上的资料,结合自己的理解记录一下. 1. 一些概念 指令周期是指执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令.分析指令到 ...

  8. 糟糕的css用法 1

    现在网站追求越来越漂亮好看,越来越炫,所以css是必不可少的.可是我发现许多人使用css的方式是不对的,至少是不推荐的. 比如下面的css用法不对 (1)一个页面对应一个css文件 这种做法是我深恶痛 ...

  9. 左手坐标系和右手坐标系 ZZ

    今天记录一下一些基本的数学知识,左手坐标系和右手坐标系.这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识.之所以看这方面资料主要是因为在使用Andr ...

  10. 九度oj-1001-Java

    题目描述:     This time, you are supposed to find A+B where A and B are two matrices, and then count the ...