mysql號存儲
創建存儲過程
mysql> delimiter $ -- delimiter $是設置 $為命令終止符號,代替默認的分號,因為分號有其他用處.
mysql> create procere sp_test(IN pi_id int, OUT po_name varchar(10))
-> begin
-> select * from test.tb_test;
-> select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; -- 恢復分號作為分隔終止符號
5.調用存儲過程
mysql> set @po_name='';
Query OK, 0 rows affected (0.00 sec)
mysql> call sp_test(1,@po_name);
⑵ Mysql 資料庫文件存儲在哪個目錄
mysql資料庫
在系統上是以一個文件夾的形式出現的,你創建了ac資料庫,那麼在磁碟上就會出現ac的目錄,而ac資料庫的全局配置則是ac文件夾中的db.opt文件來管理。
mysql的
數據文件
在datadir下,你在資料庫中執行
show
variables
like
'%datadir%';就會顯示
資料庫文件
的路徑,你可以找到ac文件夾。
1.
在
MySQL
客戶端鍵入如下命令:
show
global
variables
like
"%datadir%"
2.
MySQL
的數據文件就存放在Data目錄。
(2)mysql號存儲擴展閱讀
給定mysql_stmt_init()返回的語句句柄,准備字元串查詢指向的SQL語句,並返回狀態值。字元串長度應由"length"參量給出。字元串必須包含1條SQL語句。不應為語句添加終結用分號(';')或\g。
通過將問號字元"?"嵌入到SQL字元串的恰當位置,應用程序可包含SQL語句中的一個或多個參數標記符。
標記符僅在SQL語句中的特定位置時才是合法的。例如,它可以在INSERT語句的VALUES()列表中(為行指定列值),或與WHERE子句中某列的比較部分(用以指定比較值)。但是,對於ID(例如表名或列名),不允許使用它們,不允許指定二進制操作符(如等於號"=")的操作數。後一個限制是有必要的,原因在於,無法確定參數類型。
一般而言,參數僅在DML(數據操作語言)語句中才是合法的,在DDL(數據定義語言)語句中不合法。執行語句之前,必須使用mysql_stmt_bind_param(),將參數標記符與應用程序變數綁定在一起。
⑶ mysql中如何存儲號碼段以及如何快速查詢
票號是唯一的吧?
如果是的話,建議A單獨存,數字單獨存,然後再存個標識符,大於或者小於
查詢的話,拆分開,首先字母那裡相等,其次按照數字、大於小於來取
⑷ mysql資料庫某一個表中,存儲會員號和密碼
存的時候用md5加密,登錄的時候先把密碼用md5加密再和資料庫比較;
md5隻是其中一種加密方式,你也可以用別的演算法
⑸ 關於mysql 的存儲過程
mysql> delimiter //
這個作用是把;變成//,以後的語句遇到//就結束了,遇到;不結束,下面就可以按你的想法寫了
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; 這里把雙引號改回來
聲明參數要在說明是 輸入還是輸出函數 in\out
給函數變數賦值用
set @a=10;
例子:
drop procere if exists pr_param_in;
create procere pr_param_in
(
in id int -- in 類型的 MySQL 存儲過程參數
)
begin
if (id is not null) then
set id = id + 1;
end if;
select id as id_inner;
end;
set @id = 10;
call pr_param_in(@id);
select @id as id_out;
mysql> call pr_param_in(@id);
⑹ mysql存儲過程的問題
CREATE PROCEDURE transfer_order(
/*出貨倉庫ID號*/
IN out_warehouse_id INT,
/*入貨倉庫ID號*/
IN in_warehouse_id INT,
/*商品ID*/
IN _commodity_id INT,
/*調動數量*/
IN _num INT
)
BEGIN
DECLARE res TINYINT;
/*更新出貨倉庫數量*/
UPDATE `ms_stock_information` SET `inventory_number` = `inventory_number` - _num
WHERE `warehouse_id` = out_warehouse_id AND `commodity_id` = _commodity_id;
/*更新入貨倉庫數量
檢查此商品是否已經存在入貨倉庫*/
SELECT COUNT(*) INTO res FROM `ms_stock_information`
WHERE `warehouse_id` = in_warehouse_id AND `commodity_id` = _commodity_id;
/*執行更新*/
IF res > 0 THEN
UPDATE `ms_stock_information` SET `inventory_number` = `inventory_number` + _num
WHERE `commodity_id` = _commodity_id AND `warehouse_id` = in_warehouse_id;
ELSE
INSERT INTO `ms_stock_information` (`id`,`commodity_id`,`warehouse_id`,`position`,`inventory_number`)
VALUES (NULL,_commodity_id,in_warehouse_id,'',_num);
END IF;
END//
⑺ mysql存儲過程
存儲過程在mysql中是新面孔,最近一直在用存儲過程,但忘記了一個很重要的問題,如何得到存儲過程的列表。
可能是對mysql太有信心了,一開始我沒考慮過這個問題,直到我建立了55個存儲過程後,才意識到問題的嚴重性,我無法用類似show tables獲得表的列表一樣用show PROCEDURES 來獲得存儲過程的列表。我試了show stored routines 、show storedroutines 、show routines等等,結果都在意料之中,得不到。
接著我想到了information_schema庫,在以前,select * from information_schema.tables;是比show tables還要方便得到表信息的辦法,於是我去了information_schema庫中轉了一圈,仍然一無所獲。而完全沒有去想一直用來保存用戶和地址信息的mysql庫。
就在今天為了建立可以調用存儲過程的用戶時,我訪問了mysql庫,在剛進的時候察覺了庫中多了幾個表,也沒在意,在要離開的時候才注意到裡面有一個表的名字叫proc,似乎是建立存儲過程時使用的PROCEDURES前4位字母,於是select了一下,結果掘到了寶。存儲過程的相關數據好好的保存在裡面。看來以後也同樣不能小看mysql庫了。
想要得到你的存儲過程列表,那麼執行下面的語句吧。
select name,db from mysql.proc;
ps:還得知了存儲過程的名稱長度為64個位元組,多於64則自動刪除。可以使用中文-_-!!!
⑻ 手機號在mysql中用什麼欄位儲存
建議使用 varchar字元存儲。
⑼ mysql存儲過程
MySQL存儲過程創建的格式如下:
CREATE PROCEDURE 過程名 ([過程參數[,...]])[特性 ...] 過程體
舉例代碼如下:
CREATE PROCEDURE proc1(OUT s int) BEGIN SELECT COUNT(*) INTO s FROM user; END
存儲過程根據需要可能會有輸入、輸出、輸入輸出參數,這里有一個輸出參數s,類型是int型,如果有多個參數用","分割開。
過程體的開始與結束使用BEGIN與END進行標識。
注意:MySQL在5.0以前並不支持存儲過程
⑽ 如何使用mysql存儲所有文件路徑
1、MySQL如果使用MyISAM存儲引擎,資料庫文件類型就包括.frm、.MYD、.MYI,默認存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
2、MySQL如果使用InnoDB存儲引擎,MySQL資料庫文件類型就包括.frm、ibdata1、.ibd,存放位置有兩個,
.frm文件默認存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data, ibdata1、.ibd文件默認存放位置是MySQL安裝目錄下的data文件夾