‘壹’ mysql怎么在select语句中使用变量
SELECT
FirstName,
@flag:=1
AS
flag
FROM
user;
试下这样
行不行
。
MySQL里
局部变量
用一个@标识,@flag:=1
就是使用
flag
变量保存数据
1,AS
设定它的别名。
‘贰’ mysql 定义变量
在PHP、C++等语言里面可以使用变量,在存储过程里面可以使用变量,SQL语句里面不能使用变量的。
不过你的要求可以用下面的一个SQL语句实现:
insert into YYY表(字段1,字段2,字段3) SELECT 字段1,表达式2,常量3 FROM XXX表
注意:上面是两个表,一般不允许同时对一个表进行操作,如果是一个表,你可以考虑使用临时表:
SELECT 字段1,表达式2,常量3 FROM XXX表 INTO TEMP TMP表;
insert into YYY表(字段1,字段2,字段3) SELECT * FROM TMP表;
‘叁’ 怎样在mysql 存储过程的sql语句里插入变量
mysql> create procere pro10()
-> begin
declare @i int;
-> set @i=1;
-> while @i<5 begin
-> insert into t1(ff) values('第'+ @i +'条');
-> set @i=@i+1;
end
end
‘肆’ 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
这样就完成了赋值。
‘伍’ 关于SQL语句中使用变量的问题
插入进去的数据的类型不匹配. 以int型和nvarchar型为例,其他的像日期型的你自己发挥.
问:
存储过程这样的:
CREATE PROCEDURE insertxuesheng @xuehao int,@xingming varchar,@banji varchar,@zhuanye varchar,@nianling int,@xingbie varchar AS
insert 学生(学号,姓名,班级,专业,年龄,性别) values(@xuehao,@xingming,@banji,@zhuanye,@nianling,@xingbie)
代码这样的:
SqlCommand cmd = new SqlCommand("insertxuesheng", conn);
cmd.CommandType = CommandType.StoredProcere;
cmd.Parameters.AddWithValue("@xuehao", TextBox1.Text);
cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
cmd.Parameters.AddWithValue("@banji", TextBox3.Text);
cmd.Parameters.AddWithValue("@zhuanye", TextBox4.Text);
cmd.Parameters.AddWithValue("@nianling", TextBox5.Text);
cmd.Parameters.AddWithValue("@xingbie", TextBox6.Text);
cmd.ExecuteNonQuery();
插入数据后我去看数据库里的表,发现只有学号和年龄有数据,其他都是空值,怎么回事
答:
传入的数据类型不对.
因为学号和年龄是int型,所以传入TextBoxN.Text可以. 因为这时TextBoxN.Text = " 123", 实际上的SQL语句中就是:xuehao=123
而针对其他的字段,则都是字符型的,因此 在SQL语句中应该是: xingming = 'abc' .
而:cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
执行的结果是: xingming=abc.这当然就不行啦.
所以改为: cmd.Parameters.AddWithValue("@xingming","'" + TextBox2.Text + "'"); 就是给TextBoxN.Text前后各加一个引号再传给存储过程.
‘陆’ Qt关于操作mysql的语句中使用变量,如何使用。
query.exec(QString("DELETE FROM information WHERE name='%1'").arg(name_del));
1可以在query.exec前,声明QString sqlquery;将带变量的sql语句放入sqlquery中
sqlquery=QObject::tr("insert into table values('%1','%2')").arg(value1,value2);
执行query.exec(sqlquery);就可以了
2可以使用query.prepare()和query.bindvalue();
例如:
query.prepare("UPDATE table SET value1 = ? WHERE id = 1");
query.bindValue(0, 100);
query.exec();
‘柒’ sql查询中where后面可以使用变量吗
sql查询中where后面可以使用变量,使用方法为;
1、select 字段名 from 数据库表 where 字段=条件值;如下图所示。
‘捌’ sql update语句中怎么使用变量
m_Res=mysql_query(&m_My_Cont,"update pswd set my_pswd='"+我的变量名+"'");
另外,你这条update如果没有where限制,会更新这张表中所有的my_pswd。
‘玖’ 在mysql中怎么用sql语句输入Date类型的变量,求高手!!!
如果是直接用拼接sql语句的方式,那建议你用格式化的方式将日期格式化成yyyy-MM-dd这样的形式。
使用SimpleDateFormat进行格式化。