MYSQL中利用儲存過程實現模糊查詢
阿新 • • 發佈:2019-02-07
今做資料庫課程設計時,課設要求利用儲存過程實現模糊查詢。第一次聽到這樣的要求感覺很荒謬,會不會是要求寫錯了。在此我為我的無知感到羞愧。廢話不多說,接下來我們講一下在MYSQL資料庫中如何利用儲存過程實現模糊查詢呢?
假如我們在資料庫中建有這樣的一個表:
接下來我們直接上儲存過程的sql語句:
CREATE PROCEDURE selectGood(in _goodName VARCHAR(20))
BEGIN
SELECT * FROM good where goodName LIKE _goodName;
END
其中:
CREATE PROCEDURE是建立一個儲存過程;
selectGood是儲存過程的名字;
括號中的in表示入引數,引數名是_goodName,引數的型別是VARCHAR(20);
BEGIN表示開始;
select自然表示簡單的查詢語句;
end表示結束;
語句基本都將明白了那麼我們應該如何使用呢?
如果你的資料庫中存在了名字為selectGood的儲存過程那麼你需要執行下面的語句刪除:
DROP PROCEDURE selectGood
如果不存在的話,這個儲存過程就完成了我們可以利用下面的語句呼叫:
CALL selectGood('%小麵包%')
執行結果如下:
goodId | goodName | typeId | price | content |
1 | 小麵包 | 1 | 33 | 無 |
2 | 小麵包 | 1 | 14 | 無 |
3 | 小麵包 | 1 | 12 | 無 |