面試題 使用儲存過程造10w條測試資料,資料不重複

2022-10-10 19:24:13 字數 1477 閱讀 8809

面試題:如何造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...