面試題:如何造10w條測試資料,如何在資料庫插入10w條資料,資料不重複?
想面試高階測試、高階自動化測試、測試開發崗位,面試時候考察 sql 就不是簡單的增刪改查的,必然會問到儲存過程。
一問到儲存過程基本上是送命題了,本篇講解下如何使用儲存過程在 mysql 資料庫快速造大量測試資料。
mysql 5.0 版本開始支援儲存過程。儲存過程(stored procedure)是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。
儲存過程是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數(需要時)來呼叫執行。
儲存過程思想上很簡單,就是資料庫 sql 語言層面的**封裝與重用。
建立儲存過程語法
create procedure 儲存過程名(引數)
儲存過程開始和結束符號:
begin .... end
定義變數,如定義乙個int型別變數,variable是變數的名稱,自己定義
declare variable int
其它資料型別,如
declare a_int int unsigned default 10086;
declare a_numeric number(8,2) default 1.23;
declare a_date date default '2020-06-15';
declare a_datetime datetime default '2020-06-15 23:59:59';
declare a_varchar varchar(255) default 'this will not be padded';
變數賦值,變數定義後給變數乙個初始值,如設定 variable = 1
set 變數名 = 表示式值 [,variable_name = expression ...]
迴圈, 批量插入資料需用到迴圈:while ···· end while
while 條件 do
--迴圈體 endwhile
執行儲存過程
call 儲存過程名(引數);
我們需要插入的sql,如果id的是是變化的,那麼把id設定乙個變數
儲存過程**如下
使用call 執行儲存過程名稱
全部資料執行完成,大概需要十分鐘,查詢結果
面試題總結10
q1 回文數字猜想 給出乙個數字n,如68,定義它的逆數為86,那麼經過68 86 154,154 451 605,605 506 1111這樣幾次操作後,可以得到回文數字1111。現在需要判斷經過7次操作是否可以得到回文,如果能,輸出回文,如果不能輸出0。思路 拆分各個位數並逆序相加,對和數判斷回...
MySQL面試題 儲存引擎
儲存引擎其實就是一套檔案系統,關於如何實現儲存資料,如何為儲存的資料建立索引以及支援增刪改查操作 可以使用show engines 命令來檢視mysql支援的儲存引擎 使用 show variables like storage engine 來檢視預設的儲存引擎,可以看到目前mysql支援的預設儲...
劍指offer 面試題10
題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中1的個數。例如把9表示成二進位制是1001,有兩位是1.因此如果輸入9,該函式輸出2。我們程式設計的時候需要注意關於負數的處理,忽略負數容易造成死迴圈。有兩種解法 第二種最好 第一種 include using namespace std i...