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文件夹