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 個字元 不包括空格 在每行結尾不能有空格,按照格式輸出。演算法分析 這道題十分簡單,就是純粹的...