mySQL 7 儲存過程

2022-06-26 23:36:19 字數 1421 閱讀 6692

建立與呼叫。

1.無參建立

2.有參建立

3.結果集與out

4.python的呼叫

1.無參建立

delimiter //

create procedure p1()

begin

select * from t1;

insert into teacher(tname) values("ct");

end//

delimiter ;

call p1()

cursor.callproc('p1') -- 程式裡呼叫

2.有參建立

delimiter //

create procedure p1(

in in1 int,

in in2 int,

out r1 int,

inout i3 int

)

begin

declare temp1 int;

declare temp2 int default 0;

set temp1 = 1;

set r1 = i1 + i2 + temp1 + temp2;

set i3 = i3 + 100;

end//

delimiter ;

call p2(12,2)

cursor.callproc('p2',(12,2)) -- 程式裡呼叫

3.結果集與out

set @v1=0;        --全域性變數 引用

call p2(12,@v1)

@v1                  --外部可以獲取到,並已經修改了。

cursor.execute('select  @_p2_0,@_p2_1')

r2=cursor.fetchall()

cursor.callproc('p3',(12,2))

r1=cursor.fetchall()

4.python的呼叫

import pymysql

conn=pymysql.connect(host="localhost",user='root',password='',database='frist')

cursor=conn.cursor()

cursor.callproc('p1')

cursor.commit()

result=cursor.fetchall() # 返回結果集

cursor.close()

conn.close()

mysql 7 忘記密碼

1 停止mysql 服務 etc rc.d init.d mysqld stop 2 mysql 配置檔案 etc my.cnf mysqld 程序配置檔案中新增 skip grant tables。啟動mysql 服務 3 此時mysql 是免密碼登入的。mysql uroot p 連續兩次回車鍵...

MYSQL 7 資料過濾

小於等於10,並且vend id為1001的資料 select prod id,prod name,prod price from products where prod price 10 and vend id 1001 產品 大於等於10,並且產品編號為1002或者為1003。返回的結果按 從高...

資料庫與Mysql 7

union 聯合 合併 將多條查詢語句的結果合併成乙個結果 語法 查詢語句1 union all 查詢語句2 union all 應用場景 要查詢的結果來自多個表,且多個表沒有直接的連線關係,但查詢的資訊一致 列數也要求一致 特點 1.要求多條查詢 2.要求多條查詢語句的 其查詢的每一列的型別和順序...