insert是sql中常用的語句,主要用途就是向表中新增資料。下面說說insert子句的幾種形式:
1、insert into table(field1,fields2,……)values(value1,value2,……)
這種語法形式的insert語句,一般用於向表中所有字段或者部分字段新增字串。
如果是向表中部分字段新增資料,table後面的括號內容就不能省略。形式就是上面的形式insert into table(field1,fields2,……)values(value1,value2,……);
如果是向表中所有字段新增資料,table後面的括號就可以省略。就是這樣:insert into table values(value1,value2,……)
2、insert into table1 select value1,value2,value3,…… from table2 where ……
這種語法形式的insert語句,主要用於表複製。它能將table2中的部分或者全部資料複製到table1中。
如果我們要實現的功能是複製table2中的一部分資料,和一部分字串,我們只需要將table2中所需資料和所需字串放在select後面。insert語句會自動識別。
下面來個例子:
今日做收費系統的時候,我想實現這樣乙個功能:就是將卡表中的部分資料(最新餘額)連同bll層傳過來的字串一起複製到充值記錄表中,這是就要用到上面講的insert into select表複製語句了。
我們來看下面的實現:
''' ''' 向充值表中增加充值記錄,新增時為true
'''
''' addchargerecord
'''
'''
public function addchargerecord(byval chargerec as entry.chargerecord) as boolean
dim sql as string = "insert into chargerecordset select '" &
chargerec.cardid & "'," & "card.newestcash" & ",'" &
chargerec.chargedate & "','" & chargerec.chargetime & "','" &
chargerec.actor & "'" & " from card where card.cardnumber='" & chargerec.cardid & "'"
dim sqlcmd as sqlcommand = new sqlcommand(sql, con)
trycon.open()
sqlcmd.executereader()
return true
catch ex as exception
con.close()
con = nothing
return false
end try
if not isnothing(con) then
con.close()
con = nothing
end if
end function
Mysql 表複製和表資料複製
mysql中用命令列複製表結構的方法主要有一下幾種 1 create table 新錶 select from 舊表 where 1 2 或 1 create table 新錶 like 舊表 注意上面兩種方式,前一種方式是不會複製時的主鍵型別和自增方式是不會複製過去的,而後一種方式是把舊表的所有字...
表複製語句
1.insert into select語句 語句形式為 insert into table2 field1,field2,select value1,value2,from table1 要求目標表table2必須存在 如 insert into teachercopy select from t...
mysql複製同表資料 MySQL 同表複製資料
我覺得再這麼下去,我真敢說我寫過php了 需求很簡單,在同乙個表中複製資料。以前的 是在php裡先 select 然後 extract 成變數,再組合成乙個大 sql,最後插入。我覺得這樣不好,首先要執行兩次 sql,其次寫那麼一大篇 sql 也挺麻煩的。於是研究了下,發現並不複雜,這裡總結一下 如...