1. 程式人生 > >MySQL declare語句用法介紹

MySQL declare語句用法介紹

MySQL declare語句是我們經常用到的語句,下文就為您舉例說明了MySQL declare語句的用法,希望對您學習MySQL declare語句的使用能有所幫助。

MySQL declare語句是在複合語句中宣告變數的指令。

(1)Example with two DECLARE statements 
兩個DECLARE語句的例項

  1. CREATE PROCEDURE p8 ()   
  2. BEGIN   
  3. DECLARE a INT;   
  4. DECLARE b INT;   
  5. SET a = 5;   
  6. SET b = 5;   
  7. INSERT INTO t VALUES (a);   
  8. SELECT s1 * a FROM t WHERE s1 
    >= b;   
  9. END; // /* I won't CALL this */   

在過程中定義的變數並不是真正的定義,你只是在BEGIN/END塊內定義了而已(譯註:也就是形參)。注意這些變數和會話變數不一樣,不能使用修飾符@你必須清楚的在BEGIN/END塊中宣告變數和它們的型別。變數一旦宣告,你就能在任何能使用會話變數、文字、列名的地方使用。

(2)Example with no DEFAULT clause and SET statement 
沒有預設子句和設定語句的例子

  1. CREATE PROCEDURE p9 ()   
  2. BEGIN   
  3. DECLARE a INT /* there is no DEFAULT clause */;   
  4. DECLARE b INT /* there is no DEFAULT clause */;   
  5. SET a = 5; /* there is a SET statement */   
  6. SET b = 5; /* there is a SET statement */   
  7. INSERT INTO t VALUES (a);   
  8. SELECT s1 * a FROM t WHERE s1 >= b;   
  9. END; // /* I won't CALL this */   

有很多初始化變數的方法。如果沒有預設的子句,那麼變數的初始值為NULL。你可以在任何時候使用SET語句給變數賦值。

(3)Example with DEFAULT clause 
含有DEFAULT子句的例子

  1. CREATE PROCEDURE p10 ()   
  2. BEGIN   
  3. DECLARE a, b INT DEFAULT 5;   
  4. INSERT INTO t VALUES (a);   
  5. SELECT s1 * a FROM t WHERE s1 >= b;   
  6. END; //   

我們在這裡做了一些改變,但是結果還是一樣的。在這裡使用了DEFAULT子句來設定初始值,這就不需要把DECLARE和SET語句的實現分開了。 

(4)Example of CALL 
呼叫的例子

  1. mysql> CALL p10() //   
  2. +--------+   
  3. | s1 * a |   
  4. +--------+   
  5. | 25 |   
  6. | 25 |   
  7. +--------+   
  8. 2 rows in set (0.00 sec)   
  9. Query OK, 0 rows affected (0.00 sec)   

結果顯示了過程能正常工作

(5) Scope 
作用域

  1. CREATE PROCEDURE p11 ()   
  2. BEGIN   
  3. DECLARE x1 CHAR(5) DEFAULT 'outer';   
  4. BEGIN   
  5. DECLARE x1 CHAR(5) DEFAULT 'inner';   
  6. SELECT x1;   
  7. END;   
  8. SELECT x1;   
  9. END; //   

相關推薦

MySQL declare語句用法介紹

MySQL declare語句是我們經常用到的語句,下文就為您舉例說明了MySQL declare語句的用法,希望對您學習MySQL declare語句的使用能有所幫助。 MySQL declare語句是在複合語句中宣告變數的指令。 (1)Example with t

mysql alter 語句用法,新增、修改、刪除欄位等

//主鍵 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); //增加一個新列 alter table

mysql alter 語句用法,新增、修改、刪除欄位、索引、主鍵等

修改表名: ALTERTABLEadmin_user RENAMETO a_use //增加主鍵 altertable tabelname add new_field_id int(5) unsigned default 0 notnull auto_incr

MySQL if 語句用法

Mysql的if既可以作為表示式用,也可在儲存過程中作為流程控制語句使用 IF表示式 IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則

mysql中模糊查詢的四種用法介紹

包含 如果 正則 搜索 name 模糊查詢 長度 use mysql 下面介紹mysql中模糊查詢的四種用法: 1,%:表示任意0個或多個字符。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。 比如 SELECT * FROM [user] W

mysql查詢語句分析 explain用法

表示 join 行數 請求 獨立 mysql 問題 完整 tab http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html Mysql Explain 詳解一.語法explain < table_

MySQL exists 和 not exists 的用法介紹

存在 query null bool -a lean company cit lines 有一個查詢如下: 1 SELECT c.CustomerId, c.CompanyName 2 FROM Customers c 3

MySQL 中delete刪除sql語句用法

用法 where子句 語句 com del mysq 如何 子句 關鍵詞 mysql如何要刪除一個一行或者多行,用sql語句delete關鍵詞,固定用法 delete from 表名。 1,delete刪除一行 delete from stude

MySQL 存儲過if語句用法

elseif custom ble latin roc where varchar 文章 用法 MySQL 存儲過if語句用法,MySQL IF語句允許您根據表達式的某個條件或值結果來執行一組SQL語句。 1,if 結構 IF expression

MySQL 存儲過程CASE語句用法

mysql 語法 並且 follow command express 條件語句 getc exp MySQL提供了一個替代的條件語句CASE。 MySQL CASE語句使代碼更加可讀和高效。 CASE語句有兩種形式:簡單的搜索CASE語句。下面講講MySQL 存儲過程CAS

Python3常用語句用法介紹(二)——條件語句

條件語句 ①if elif else條件語句 n=int(input('Enter a number:')) if n>0: print('Positive number') elif n<0: print('Negative number') else:

Python3常用語句用法介紹(一)——print/import/賦值語句

1.print語句 ①括號括起來(自python3),逗號隔開 ②輸出時,隔開的各個字串前會自動加空格 ③需要輸出的符號可包含在字串中,也可單獨輸出,使用+號則不增加空格 ④同行列印的幾種方法 2.import語句 ①輕量化:匯入某模組的某函式 ②大塊匯入:匯入某

php 資料庫 mysql 語句用法

$result=mysql_query($query),該函式的作用是執行一個正確的sql語句,如果是insert、update、delete這樣簡單的查詢,都不會返回結果, 而$result將會是1或者“”(也就是什麼都沒有),雖然網上資料說返回是TRUE或者FALSE,但是經過實踐驗證,返回的是1或者什

Mysql全文搜尋之MATCH...AGAINST的用法介紹

前提:mysql只支援英文內容的全文索引,所以只考慮英文的全文搜尋。假定資料表名為post,有三列:id、title、content。id是自增長序號,title是varchar,content是text,給content新增全文索引。 mysql全文搜尋有三種模式:一、自

mysql 刪除語句幾種常見的用法

根據表刪除另一個表   DELETE刪除多表資料,怎樣才能同時刪除多個關聯表的資料呢?這裡做了深入的解釋:   www.2cto.com   1、 delete from t1 where 條件   2、delete t1 from t1 where 條件   3、 de

Mysql基本語句操作(二)---一對多的實現和關聯語句用法

二、一對多 ※案例的需求: 一個人可以擁有多輛汽車,要求查詢出某人所擁有的所有汽車 資料庫設計 方案一(差的設計) 編號  姓名   性別   年齡   汽車編號    車型   排量   價格 P001  Jack   男     25     C001      BMW

MySQL用法介紹

摘要:《深入淺出MySQL——資料庫開發、優化與管理維護》從資料庫的基礎、開發、優化、管理4方面對MySQL進行了詳細的介紹,其中每一部分都獨立成篇,每一篇又包括多個章節。本書面向實用,內容覆蓋廣泛,講解由淺入深,適合於各個層次的讀者。 第20章 鎖問題 鎖是計算機協調

Mysql中explain用法和結果欄位的含義介紹

使用 explain 查詢和分析SQl的執行記錄,可以進行sql的效能優化! explain用法 mysql> explain select * from students; +----+-------------+----------

有關mysql中CASE的sql語句用法

1.在mysql資料庫中,有關case when語句的用法,介紹了case when語句的基礎知識,並提供了相關例項,供大家學習參考,有需要的朋友不要錯過 mysql資料庫中CASE WHEN語句。 case when語句,用於計算條件列表並返回多個可能結果表示式之一

MySQL的INSERT和REPLACE語句用法

INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條語句的語法類似。它們的主要區別是如何處理重複的資料。 1. INSERT的一般用法   MySQL中的INSERT語句和標準的INSERT不太一樣,在標準的SQL語句中,一次插入一條記錄的INSERT語句只