mysql建立乙個考試表 MySQL快速建立測試表

2021-10-17 12:40:47 字數 1773 閱讀 9350

1:只要已經存在表結構的

第一種方式:

create tablet1select * from mysql.user

where 1=2;

第二種方式:

create tablet2like 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

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建立乙個儲存過程

mysql 儲存過程是從 mysql 5.0 新功能。儲存過程的長處有一籮筐。只是最基本的還是執行效率和sql 封裝。特別是 sql 封裝功能,假設沒有儲存過程,在外部程式訪問資料庫時 比如 php 要組織非常多 sql 語句。特別是業務邏輯複雜的時候,一大堆的 sql 和條件夾雜在 php 中,讓...

乙個簡單的考試系統

做了乙個簡單的系統,其實也就是個小功能。是乙個考試系統,主要試用人群是老師,大致功能與相關 羅列一下 大概涉及到了兩個表,分別是學生表和分數表,暫時不需要太完善的功能,所以只有乙個管理員,沒必要再設計管理員表了。學生表的字段說幾個重要的 名稱,年齡,家長郵箱,年齡在資料庫裡可以給個char型別,長度...

又是乙個考試的分析

在4月11日,我又參加了一場比賽 考試 接下來,我們就來分析一下這次考試的題目。題目大意 有乙個字串,其中有n 1 n 100 個單詞,每個單詞最大15個字元。讀入之後需要排版成每行只能放k 1 k 80 個字元 不包括空格 在每行結尾不能有空格,按照格式輸出。演算法分析 這道題十分簡單,就是純粹的...