SQL批量插入資料並且實現字串的數字部分遞增

2021-08-14 10:33:03 字數 1342 閱讀 5898

問題:實現編號「a001」中數字部分遞增

解決:方式一:

①實現編號中數字部分「001」+1後變為「002,而不是2

declare @id varchar (10)

set @id='a001'

set @id = right(@id, 3) + 1

set @id = 'a' + right ('000' +@id, 3)

select @id

--------

結果:列印出的id為a002

②使用迴圈批量插入資料

declare @id varchar(10),@counter int

set @id='a001'

set @counter = 0 /*設定變數*/

while (@counter < 10) /*設定迴圈次數*/

begin

insert into tablename values(@id); /*插入表中,tablename為你的表*/

set @id= right(@id, 3) + 1

set @id = 'a' + right ('000' +@id, 3)

set @counter=@counter+1

end

方式二:通過excel批量生成sql語句

①方法一:

將excel的資料整理好,通過sql的匯入功能直接匯入到資料庫中,但是要保證資料庫的字段和excel的字段一致。

②方法二:

通過excel生成相應的sql語句,然後放到sql的新建查詢中執行

在單元格中寫入公式:="insert into tablename(column1,column2) values('"&a1&"','"&b1&"') "

然後直接從頭拉到尾(或者選中公式的單元格,在指標變為十字後雙擊,即可自動填充),然後直接複製相關的sql語句在資料庫中執行

③改進:

一次插入多條資料比逐次一條一條的插入資料效率高很多,因此將語句改為如下:

insert into tablename(column1,column2)

values

('value1.1','value1.2'),

('value2.1','value2.2'),

('value3.1','value3.2')

之後還是通過excel批量生成values後面的要插入的數值。

SQL批量插入資料

select frompersonsp 批量插入 insert intopersonsvalues bx9 z 上海 松江 2 bx1 z 上海 松江 2 bx2 z 上海 松江 2 bx3 z 上海 松江 2 bx4 z 上海 松江 2 bx5 z 上海 松江 2 bx6 z 上海 松江 2 bx...

批量插入SQL

sql語句是有長度限制,在進行資料合併在同一sql中務必不能超過sql長度限制,通過max allowed packet配置可以修改,預設是1m,測試時修改為8m。事務需要控制大小,事務太大可能會影響執行的效率。mysql有 innodb log buffer size 配置項,超過這個值會把inn...

sql批量插入

批量插入 第一種 insert into mytable id,name values 1,123 insert into mytable id,name values 2,456 insert into mytable id,name values 3,789 第二種方法,使用union all來...