数据库批量导入
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;