Insert into select表複製語句

2021-06-03 10:20:59 字數 1604 閱讀 5200

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 也挺麻煩的。於是研究了下,發現並不複雜,這裡總結一下 如...