mysql給字符串變量賦值的方法是用select into 變量結(jié)構(gòu)完成賦值。
成都創(chuàng)新互聯(lián)是專業(yè)的蘭考網(wǎng)站建設(shè)公司,蘭考接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行蘭考網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
使用sql的結(jié)構(gòu)語(yǔ)法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定義一個(gè)sql變量:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
這樣就完成了賦值。
$sql="select * from list order by id asc ";
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs))
{
$data[] = $row //需要保存到2維數(shù)組中才可以調(diào)用的
}
echo "這是第一條記錄。ID=".$data[0][0].",title=".$data[0][2];
運(yùn)行這個(gè)看看 有不明白的請(qǐng)看我給的參考資料 和PHP手冊(cè)
set@num=1;或set@num:=1。
set@num=1;或set@num:=1;//這里要使用變量來保存數(shù)據(jù),直接使用@num變量。
在mysql中因?yàn)闆]有比較符號(hào)==,所以是用=代替比較符號(hào),有時(shí)候在賦值的時(shí)候,會(huì)報(bào)錯(cuò)。1.mysql為了避免系統(tǒng)分不清是賦值還是比較,特定增加了一個(gè)變量的賦值符號(hào) ":=" 。
DELIMITER?$$
USE?`test`$$
DROP?PROCEDURE?IF?EXISTS?`p_getAllTablesCount`$$
CREATE?DEFINER=`root`@`localhost`?PROCEDURE?`p_getAllTablesCount`()
BEGIN
DECLARE?tableName?VARCHAR?(100);
DECLARE?tablesn?VARCHAR?(100);
DECLARE?tableCount?INT;
DECLARE?stopFlag?INT;
DECLARE?sqlStr?VARCHAR(1000);
--?注意:請(qǐng)修改數(shù)據(jù)庫(kù)名稱
DECLARE?cursor_name?CURSOR??FOR?SELECT?TABLE_NAME??FROM?information_schema.tables?WHERE?table_schema='test';
DECLARE?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'??SET?stopFlag=1;
CREATE?TABLE?IF?NOT?EXISTS?temp_table(table_name?VARCHAR(100),table_count?VARCHAR(100));???
OPEN?cursor_name;
REPEAT
FETCH?cursor_name?INTO?tableName;
SET?sqlStr?=?CONCAT('SELECT?COUNT(1)?into?@tableCount?FROM?',?tableName);
SELECT?sqlStr?INTO?@sqlStr;
--?select??@sqlStr;
SELECT?@tableCount?INTO?tableCount;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
SET?sqlStr?=?CONCAT('insert?into??temp_table?values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT?sqlStr?INTO?@sqlStr;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
UNTIL?stopFlag??END?REPEAT;
CLOSE?cursor_name;???
SELECT?table_name,table_count?FROM?temp_table?ORDER?BY?table_count?DESC;
--?PREPARE?step?FROM?@sql1;
--?EXECUTE?step;
DROP?TABLE??temp_table;
END$$
DELIMITER?;
一、變量的定義
mysql中變量定義用declare來定義一局部變量,該變量的使用范圍只能在begin...end
塊中使用,變量必須定義在復(fù)合語(yǔ)句的開頭,并且是在其它語(yǔ)句之前,也可以同時(shí)申明多個(gè)變量,如果需要,可以使用default賦默認(rèn)值。
定義一個(gè)變量語(yǔ)法如下:
declare
var_name[,...]
type[default
value]看一個(gè)變量定義實(shí)例
declare
last
date;二、mysql存儲(chǔ)過程變量賦值
變量的賦值可直接賦值與查詢賦值來操作,直接賦值可以用set來操作,可以是常量或表達(dá)式如果下
復(fù)制代碼
代碼如下:
set
var_name=
[,var_name
expr]...給上面的last變量賦值方法如下
set
last
=
date_sub(
current_date(),interval
1
month);下面看通過查詢給變量賦值,要求查詢返回的結(jié)果必須為一行,具體操作如下
select
col
into
var_name[,...]
table_expr我們來通過查詢給v_pay賦值。
create
function
get
_cost(p_custid
int,p_eff
datetime)
return
decimal(5,2)
deterministic
reads
sql
data
begin
declare
v_pay
decimail(5,2);
select
ifnull(
sum(pay.amount),0)
into
vpay
from
payment
where
pay.payd=p_eff
and
pay.custid=pid
reutrn
v_rent
+
v_over
-
v_pay;
end
$$
好了,這篇簡(jiǎn)單的存儲(chǔ)過程中變量的定義賦值教程就到這里了,下面我們會(huì)接著講關(guān)于myql存儲(chǔ)過程的條件的定義與處理。
以下是其它網(wǎng)友的補(bǔ)充
在MySQL的存儲(chǔ)過程中,可以使用變量,它用于保存處理過程中的值。
定義變量使用DECLARE語(yǔ)句,語(yǔ)法格式如下:
DECLARE
var_name[,...]
type
[DEFAULT
value]
其中,var_name為變量名稱,type為MySQL支持的任何數(shù)據(jù)類型,可選項(xiàng)[DEFAULT
value]為變量指定默認(rèn)值。一次可以定義多個(gè)同類型的變量,各變量名稱之間以逗號(hào)“,”隔開。
定義與使用變量時(shí)需要注意以下幾點(diǎn):
◆
DECLARE語(yǔ)句必須用在DEGIN…END語(yǔ)句塊中,并且必須出現(xiàn)在DEGIN…END語(yǔ)句塊的最前面,即出現(xiàn)在其他語(yǔ)句之前。
◆
DECLARE定義的變量的作用范圍僅限于DECLARE語(yǔ)句所在的DEGIN…END塊內(nèi)及嵌套在該塊內(nèi)的其他DEGIN…END塊。
◆
存儲(chǔ)過程中的變量名不區(qū)分大小寫。
定義后的變量采用SET語(yǔ)句進(jìn)行賦值,語(yǔ)法格式如下:
SET
var_name
=
expr
[,var_name
=
expr]
...
其中,var_name為變量名,expr為值或者返回值的表達(dá)式,可以使任何MySQL支持的返回值的表達(dá)式。一次可以為多個(gè)變量賦值,多個(gè)“變量名=值”對(duì)之間以逗號(hào)“,”隔開。
例如:
復(fù)制代碼
代碼如下:
begin
declare
no
varchar(20);
declare
title
varchar(30);
set
no='101010',title='存儲(chǔ)過程中定義變量與賦值';
end
提示:存儲(chǔ)過程中所有的關(guān)鍵字也是不區(qū)分大小寫的,如BEGIN可以寫出begin。
標(biāo)題名稱:mysql中=怎么賦值 mysql 變量賦值
文章網(wǎng)址:http://jinyejixie.com/article26/hpcpcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、外貿(mào)建站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)