MySQL提供了存儲過程可以幫助我們在數據庫中完成比較復雜的操作,其中存儲過程可以返回列表,這對于我們的數據處理來說非常有用。
CREATE PROCEDURE `get_users` () BEGIN SELECT * FROM `users`; END
在以上的代碼中,我們定義了一個名為get_users的存儲過程,其目的是返回所有的用戶數據。在存儲過程中,我們在BEGIN和END之間定義了具體的SQL查詢語句。由于我們需要返回多條數據,所以在這里我們使用了SELECT *命令,以保證我們可以獲取到所有數據。
CALL `get_users` ();
在調用存儲過程的時候,我們需要使用CALL命令,并傳遞存儲過程名稱。由于我們在上一步中已經定義了get_users,所以在這里我們只需要傳遞其名稱即可。注意,在調用存儲過程的時候,我們不需要加上SELECT命令,否則可能會造成語法錯誤。
+----+--------+-------------+ | id | name | email | +----+--------+-------------+ | 1 | Alice | alice@foo.com | | 2 | Bob | bob@foo.com | | 3 | Charlie| charlie@foo.com | +----+--------+-------------+
在成功調用存儲過程之后,我們就可以得到像上面一樣的數據表,其中包含了id、name和email三個字段的數據。這些數據可以直接被其他程序調用并使用,非常方便。