mysql中变量怎么赋值 mysql用变量赋值创建表

mysql环境中,如何用sql语句给字符串变量赋值?mysql给字符串变量赋值的方法是用select into 变量结构完成赋值 。
使用sql的结构语法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定义一个sql变量:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
这样就完成了赋值 。
如何将MYSQL查询结果赋值给一个变量sprintf(query, "SELECT*FROM history WHERE serialnumber='%s' AND adtcode='%s' LIMIT 1;", dataStr,modulename);
if (!mysql_real_query(mysql, query, (unsigned long)strlen(query))) {
res = mysql_use_result(mysql);
numfields = mysql_field_count(mysql);
while (row=mysql_fetch_row(res)) {
fprintf(outfile, "\r\n");
lengths = mysql_fetch_lengths(res);
fields=mysql_fetch_fields(res);
【mysql中变量怎么赋值 mysql用变量赋值创建表】for (i=0; inumfields; i) {
fprintf(outfile, "%.*s ", (int)lengths[i], row[i]);
}
}
mysql 存储过程怎么赋值?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);
-- 注意mysql中变量怎么赋值:请修改数据库名称
DECLARE cursor_name CURSORFOR SELECT TABLE_NAMEFROM 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 intotemp_table values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT sqlStr INTO @sqlStr;
BEGIN
PREPARE stepInsertIntoTable FROM @sqlStr;
EXECUTE stepInsertIntoTable;
END;
UNTIL stopFlagEND REPEAT;
CLOSE cursor_name;
SELECT table_name,table_count FROM temp_table ORDER BY table_count DESC;
-- PREPARE step FROM @sql1;
-- EXECUTE step;
DROP TABLEtemp_table;
END$$
DELIMITER ;
mysql 进:在存储过程中用select 如何给变量赋值用select...into语句
下面是mysql 5.0的帮助文档的mysql中变量怎么赋值:
这个SELECT语法把选定的列直接存储到变量 。因此mysql中变量怎么赋值,只有单一的行可以被取回 。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意mysql中变量怎么赋值 , 用户变量名在MySQL 5.1中是对大小写不敏感的 。请参阅9.3节mysql中变量怎么赋值 , “用户变量” 。
重要: SQL变量名不能和列名一样 。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量 , MySQL当前把参考解释为一个变量的名字 。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的mysql中变量怎么赋值:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’ 。
Mysql将存储过程执行后的值赋值给变量Mysql存储过程查询结果赋值到变量的方法
把查询结果赋值到变量 , 大部分情况下使用游标来完成 , 但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值 。示例代码:
drop table if exists test_tbl;
create table test_tbl (name varchar(20), status int(2));
insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
drop procedure IF EXISTS pro_test_3;
delimiter //
create procedure pro_test_3()
begin
DECLARE cnt INT DEFAULT 0;
select count(*) into cnt from test_tbl;
select cnt;
--多个列的情况下似乎只能用 into 方式
select max(status), avg(status) into @max, @avg from test_tbl;
select @max, @avg;
end
delimiter ;
call pro_test_3();
关于mysql中变量怎么赋值和mysql用变量赋值创建表的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读