『壹』 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進行格式化。