問題:實現編號「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來...