MySQL向一张表中插入多条测试数据的方法_MySQL
在MySQL数据库中,有时为了建立测试表格,需要向一张表中插入很多条数据,可以使用下面的存储过程实现:
首先建立一个测试表:
mysql> create table t_1 (id serial,name char(5)) ;
Query OK, 0 rows affected (0.26 sec)
然后建立一个存储过程:
delimiter $$
SET AUTOCOMMIT = 0$$
create procedure test01()
begin
declare v_cnt decimal (10) default 0 ;
dd:loop
insert into t_1 values (null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa'),(null,'aaaaa');
commit;
set v_cnt = v_cnt+10 ;
if v_cnt = 10000 then leave dd;
end if;
end loop dd ;
end;$$
delimiter ;
调用存储过程向表格中插入数据:
mysql> select count(*) from t_1;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
mysql>
mysql>
mysql> call test01;
Query OK, 0 rows affected (21.25 sec)
mysql> select count(*) from t_1;
+----------+
| count(*) |
+----------+
| 10000 |
+----------+
1 row in set (0.01 sec)
再次执行存储过程,会插入更多数据:
mysql> call test01;
Query OK, 0 rows affected (21.70 sec)
mysql> select count(*) from t_1;
+----------+
| count(*) |
+----------+
| 20000 |
+----------+
1 row in set (0.01 sec)
注:上面的测试表结构,插入数据,表格行数,都可以根据需要进行修改,以便生成需要的数据测试环境。
对于MySQL的存储过程,有以下几个命令进行操作:
select name from mysql.proc where db='test';
select routine_name from information_schema.routines where routine_schema='test';
show procedure status where db='test';
show create procedure test.test01;
删除存储过程的命令:
drop procedure test01;
查询数据库中的存储过程:
方法一:(直接查询)
select `specific_name` from mysql.proc where db = 'your_db_name' and `type` = 'procedure'
方法二:(查看数据库里所有存储过程+内容)
show procedure status;
方法三:(查看当前数据库里存储过程列表)
select specific_name from mysql.proc ;
方法四:(查看某一个存储过程的具体内容)
select body from mysql.proc where specific_name = 'your_proc_name';
查看存储过程或函数的创建代码 :
show create procedure your_proc_name;
show create function your_func_name;
删除存储过程:
drop procedure your_proc_name;
但如果测试表格中存在主键,使用上面的存储过程可能出现问题,可以使用下面的存储过程:
建立测试表:
CREATE TABLE t1(id1 INT,a1 INT,b1 INT,PRIMARY KEY(id1));
CREATE TABLE t2(id2 INT,a2 INT,b2 INT);
CREATE TABLE t3(id3 INT NUIQUE,a3 INT,b3 INT);
CREATE TABLE t4(id4 INT,a4 INT,b4 INT);
CREATE TABLE t5(id5 INT UNIQUE,a5 INT,b5 INT);
建立插入数据的存储过程:
建立 while ···· end while存储过程(执行前检查执行条件):
DELIMITER //
CREATE PROCEDURE proc4()
begin
declare var int;
set var=0;
while varinsert into t1 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
建立 repeat......end repeat 存储过程(执行后检查执行条件):
DELIMITER //
CREATE PROCEDURE proc01 ()
begin
declare v int;
set v=0;
repeat
insert into t1 values(v,v,v);
set v=v+1;
until v>=100
end repeat;
end;
//
DELIMITER ;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

InnoDB的全文搜索功能非常强大,能够显著提高数据库查询效率和处理大量文本数据的能力。1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

是的,可以在 Windows 7 上安裝 MySQL,雖然微軟已停止支持 Windows 7,但 MySQL 仍兼容它。不過,安裝過程中需要注意以下幾點:下載適用於 Windows 的 MySQL 安裝程序。選擇合適的 MySQL 版本(社區版或企業版)。安裝過程中選擇適當的安裝目錄和字符集。設置 root 用戶密碼,並妥善保管。連接數據庫進行測試。注意 Windows 7 上的兼容性問題和安全性問題,建議升級到受支持的操作系統。

全表掃描在MySQL中可能比使用索引更快,具體情況包括:1)數據量較小時;2)查詢返回大量數據時;3)索引列不具備高選擇性時;4)複雜查詢時。通過分析查詢計劃、優化索引、避免過度索引和定期維護表,可以在實際應用中做出最優選擇。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

聚集索引和非聚集索引的區別在於:1.聚集索引將數據行存儲在索引結構中,適合按主鍵查詢和範圍查詢。 2.非聚集索引存儲索引鍵值和數據行的指針,適用於非主鍵列查詢。
