在 mysql 中,@ 符號的用法主要有:1. 聲明和獲取用戶變量;2. 獲取系統變量的值;3. 存儲過程參數聲明和傳遞;4. 檢查查詢緩存命中;5. 創建臨時表。
MySQL 中的 @ 符號用法
在 MySQL 中,@
符號具有以下幾種用法:
1. 用戶變量
@
符號可用于聲明和獲取用戶變量。語法為:
<code>SET @variable_name = value;</code>
登錄后復制
例如:
<code>SET @total_sales = (SELECT SUM(sales) FROM orders);</code>
登錄后復制
2. 系統變量
@
符號還可用于獲取系統變量的值。語法為:
<code>SELECT @@system_variable_name;</code>
登錄后復制
例如:
<code>SELECT @@version;</code>
登錄后復制
3. 存儲過程參數
在存儲過程中,@
符號用于聲明和傳遞參數。語法為:
<code>CREATE PROCEDURE procedure_name ( IN @param_name1 data_type, IN @param_name2 data_type, ... );</code>
登錄后復制
例如:
<code>CREATE PROCEDURE GetCustomerOrders ( IN @customer_id INT );</code>
登錄后復制
4. 查詢緩存命中
@
符號可用于檢查查詢是否命中查詢緩存。語法為:
<code>SELECT /*!@SQL_CACHE*/ * FROM table_name;</code>
登錄后復制
如果查詢命中緩存,則 @SQL_CACHE
的值為 1,否則為 0。
5. 創建臨時表
@
符號可用于創建臨時表。語法為:
<code>CREATE TEMPORARY TABLE table_name ( column_name1 data_type, column_name2 data_type, ... ) ;</code>
登錄后復制
例如:
<code>CREATE TEMPORARY TABLE OrderSummary ( order_id INT, product_id INT, quantity INT ) ;</code>
登錄后復制