資料庫批量導入
A. 資料庫數據如何批量插入
使用 INSERT...SELECT 插入行
INSERT 語句中的 SELECT 子查詢可用於將一個或多個其它的表或視圖的值添加到表中。使用 SELECT 子查詢可同時插入多行。
例如:
INSERT INTO MyBooks (title_id, title, type) SELECT title_id, title, type FROM titles WHERE type = 'mod_cook'
B. 怎麼批量插入mysql資料庫(1000條)
常見的insert語句,向資料庫中,一條語句只能插入一條數據:
insert
into
persons
(id_p,
lastname
,
firstname,
city
)
values(204,'haha'
,
'deng'
,
'shenzhen');
(如上,僅插入回了一條記錄)
怎樣答一次insert插入多條記錄呢?
使用示例:
insert
into
persons
(id_p,
lastname
,
firstname,
city
)
values
(200,'haha'
,
'deng'
,
'shenzhen'),
(201,'haha2'
,
'deng'
,
'gd'),
(202,'haha3'
,
'deng'
,
'beijing');
這樣就批量插入數據了,
遵循這樣的語法,就可以批量插入數據了。
執行成功,截圖:
據說,在程序開發中,一次插入多條數據,比逐次一條一條的插入數據,效率高很多
所以在程序開發的時候,使用此批量插入,也是比較不錯的。
此語句在mysql
5,
postgresql
9.3執行通過。
C. 如何在資料庫中批量插入數據
你可以將兩個日期之前的天數求出來,然後作為控制循環的次數,然後定義個起始日期,循環里對這個日期進行遞增。
像下面這樣 :
DECLARE
V_DATE DATE;
V_DAYS NUMBER;
V_DATE_BEGIN DATE;
V_DATE_END DATE;
BEGIN
V_DATE_BEGIN := TO_DATE('20101101',
'yyyymmdd');
V_DATE_END := TO_DATE('20100301',
'yyyymmdd');
V_DAYS := V_DATE_END - V_DATE_BEGIN;
FOR I IN 1 .. V_DAYS
LOOP
V_DATE := V_DATE_BEGIN + I;
insert into tablename values (v_days) ;
END LOOP;
END;
D. mysql資料庫如何批量導入數據
寫sql語句嘛。update tablename set photo=name+".jpg" where name !=""
E. 如何向資料庫中批量添加數據
用存儲過程就可以啊,在查詢分析器里運行你的數據插入腳本,即sql語句insert into 表(欄位) values(欄位)
F. 如何將Excel數據批量導入SQL資料庫
string connString = server=localhost;uid=sa;pwd=sqlgis;database=master;
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
if (fd.ShowDialog() == DialogResult.OK){TransferData(fd.FileName, sheet1″, connString);}}public void TransferData(string excelFile, string sheetName, string connectionString){DataSet ds = new DataSet();try{//獲取全部數據
string strConn = Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + excelFile + ; + Extended Properties=Excel 8.0;;
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = ;
OleDbDataAdapter myCommand = null;
strExcel = string.Format(select * from [{0}$], sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
//如果目標表不存在則創建
string strSql = string.Format(if object_id(』{0}』) is null create table {0}(, sheetName);
foreach (System.Data.DataColumn c in ds.Tables[0].Columns){strSql += string.Format([{0}] varchar(255),, c.ColumnName);}strSql = strSql.Trim(』,') + );
using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString)){sqlconn.Open();
System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
command.CommandText = strSql;
command.ExecuteNonQuery();
sqlconn.Close();}//用bcp導入數據
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString)){bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = 100;//每次傳輸的行數
bcp.NotifyAfter = 100;//進度提示的行數
bcp.DestinationTableName = sheetName;//目標表
G. 如何批量導入數據
利用中間件,如VFP,效率是很高的,批量導入數據可以解決你的現狀.
1.建立SQLite數據源數據連接,從SQLite批量讀出數據,寫入中間表
2.建立SQLSERVER數據連接,使用APPEND
FROM命令,極塊的完成數據向SQLSERVER導入.
----------
我意思還是寫個程序,並且最好做成可維護的,可以選擇要導入導出的文件名,方便自己維護.
我說的方法是可行的,幾十萬條記錄我進出速度都是很快的.可以和SQLSERVER自帶的導入導出速度媲美
H. 怎樣從資料庫批量導入產品
根據資料庫里這個表的欄位名,修改這個XLS文件。
然後進入導入過程:
1)打開你的sql server,找到要導入數據的資料庫,右鍵——〉任務——〉導入數據
2)選擇要導入的excel
3)選擇導入到哪個資料庫
4)導入excel選擇第一項即可(復制一個或多個表或視圖的實例),選擇第二項是表與表直接內容的篩選復制
5)選擇源表和源視圖
6)編輯映射頁面
7)繼續下一步,點擊完成,看到傳輸數據完成頁面
8)進入資料庫刷新,查看剛剛導入的表,完成!
I. 如何用SQL語句來實現批量導入
用如下語句,選中一起執行
insertintotable1
withtas
(<=100)
select
rn,
'測試數據'||rn,
TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(TO_DATE('2013-07-01','yyyy-mm-dd'),'J')),TO_NUMBER(TO_CHAR(TO_DATE('2013-07-31','yyyy-mm-dd'),'J')))),'J')
fromt;