1. 程式人生 > >MYSQL中利用儲存過程實現模糊查詢

MYSQL中利用儲存過程實現模糊查詢

今做資料庫課程設計時,課設要求利用儲存過程實現模糊查詢。第一次聽到這樣的要求感覺很荒謬,會不會是要求寫錯了。在此我為我的無知感到羞愧。廢話不多說,接下來我們講一下在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
講完了,趕快去試試效果吧!!!