1)打开你的sql server,找到要导入数据的数据库,右键——〉任务——〉导入数据
2)按照图示选择要导入的excel
3)选择导入到哪个数据库
4)导入excel选择第一项即可,选择第二项是表与表直接内容的筛选复制
5)选择源表和源视图
6)编辑映射页面
7)继续下一步,点击完成,看到传输数据完成页面
8
8)进入数据库刷新,查看刚刚导入的表,完成!
2. 如何把excel表格数据导入到数据库
1、打开SQL Server 2014 Management Studio 数据库,并且登录进去;
2、新建一个数据库,将excel导入,在新建的数据名字上,鼠标右键,选择任务选项,之后导入数据,就会看到导入excel文件的窗口;
3、下拉框选中Microsoft Excel,浏览添加你需要导入到数据库的excel文件,然后点击下一步;
4、下拉框选中sql开头的,验证方式自己选择,一般是默认的验证方式,然后下面的数据库;
5、出现的这个页面不用动任何 *** 作,直接继续点击下一步即可;
6、现在表示导入成功,上面有各类详细的数据,可以选择关闭,这个时候记得刷新数据库的表,否则看不到新导入的数据。
3. 怎样将EXCEL数据表导入到SQL中
第一步:登录到 SQL Server Management Studio
第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在d出列表中单击 “导入数据 ”
第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”
第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。
4. sqlserver中怎么将sql文件导入数据库中
1.打开SQL Server Management Studio,在对象资源管理器中,展开“SQLServer 实例”→“数据库”→“Be”节点,单击鼠标右键,选择“任务”→“导入数据”命令。出现欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框。在“选择数据源”对话框中设置如下选项
2.单击“下一步”按钮,出现“指定表复制或查询”对话框。在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮。出现“选择源表和源视图”对话框,设置如下选项,如图4.9所示,然后单击“下一步”按钮。
3.在“保存并执行包”对话框中选中“立即执行”复选框,然后单击“下一步” 按钮。
在如图所示的对话框中单击“完成”按钮。
当执行完后,单击“关闭”按钮。
SQL Server:一提到SQL Server,大家一般都只想到Microsoft SQL Server,而非Sybase SQL Server。SQL Server最初是由Microsoft, Sybase and Ashton-Tate三家公司拦下的生意,是为IBM(又出现了)公司的OS/2 *** 作系统开发的。随着OS/2项目的失败,大家也分道扬镳。 Microsoft自然转向自己的win *** 作系统,作为windows NT软件方案的一部分。而Sybase则专注于Linux/Unix方向的数据库开发。
MS SQL Server主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具,在快速构建商业智能(BI)方面颇有建树。 MS SQL Server是MS公司在软件集成方案中的重要一环,也为WIN系统在企业级应用中的普及做出了很大贡献。
典型应用场景
关于“大型数据库”,并没有严格的界定,有说以数据量为准,有说以恢复时间为准。如果综合数据库应用场景来说,大型数据库应用有以下特点:海量数据、高吞吐量;复杂逻辑、高计算量,以及高可用性。从这点上来说,Oracle,DB2就是比较典型的大型数据库,Sybase SQL Server也算是吧。下面分别说明之前三种数据库的应用场景。
5. 怎么把excel表格导入sql数据库
方法/步骤
1
打开SQL Server Management Studio,按图中的路径进入导入数据界面。
2
导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。
数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
再次确认文件路径没有问题,点击下一步。
默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。点击下一步。
选择我们需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。
点击进入下一步。
在这里完整显示了我们的导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
可以看到任务执行的过程和进度。
执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据内容。
6. 如何把SQL文件导入到数据库
附加数据库 或者导入数据库
SQL本身有数据导入的 *** 作。但如果要从一个备份的文件中导入数据,则要进行另外的 *** 作。下面以一个例子进行说明。
SQL服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1.BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变。
1、首先,在“SQL企业管理器”中新建一个临时数据库A1。
2、右击A1数据库,选择:所有任务->还原数据库。
3、在“还原数据库”窗口中,选择:“从设备”。
4、点击“选择设备”。
5、点击“添加”。
6、从文件名中选择要还原的数据库文件,如A1.BAK。
7、点击“确定”,返回“还原数据库”窗口。
8、点击“选项”卡,进入选项设置。
9、钩选:“在现有数据库上强制还原”。
10、修改“移到物理文件名”为:“c:\a1.ldf”、“c:\a1.mdf”。
11、点确定,即可导入备份文件中的数据到临时数据库A1中。
12、此时,你可以将数据从A1导入到另外一真正要导入的数据库中,如DOE数据库。
(下面的数据导入 *** 作为SQL2000企业管理器的一般数据导入导出 *** 作。)
13、在“SQL企业管理器”中选择“DOE”数据库。
14、右击DOE数据库,选择:所有任务->导入数据。
15、在“DTS导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库A1。点击下一步。
16、在“选择目的”中,系统已经默认为DOE数据库。
17、连续点击“下一步”,直到完成。
经过上面的 *** 作,你已经成功地将备份文件A1.BAK中数据导入DOE数据库中,并且DOE数据库原有数据不变。
此时,你可以删除临时数据库A1。
-------------------------------------------------------------
1.打开SQLCC
2.连接数据库
3.连接表"ragnarok"(没有的可以新建一个)
4.选择表按CTRL+Q
5.点左侧的"打开"按扭(图标为一个文件夹)导入SQL文件
6.删除深红色的部分(注意要全部删除,不然导入过程可能会出错)
7.修改开头的数据库为"ragnarok",结尾修改数据库的用户名和密码
8.按右侧的"导入"按扭(图标为一个感叹号)开始导入
9.导入完毕后关闭窗口
10.重新连接数据库,即可看到"ragnarok"里的数据表了
7. 怎么将.sql文件导入数据库啊
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->;导入数据,d出DTS导入/导出向导,按 下一步 ,
2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,
3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 ,
4、选择 用一条查询指定要传输的数据,按 下一步 ,
5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,
7、如果要全部导入,则选择 全部行,按 下一步,
8、则会看到根据前面的 *** 作生成的查询语句,确认无误后,按 下一步,
9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表,按 下一步,
10、选择 立即运行,按 下一步,
11、会看到整个 *** 作的摘要,按 完成 即可。
当然,在以上各个步骤中,有的步骤可以有多种选择,你可以根据自己的需要来选择相应的选项。例如,对编程有兴趣的朋友可以在第10步的时候选择保存DTS包,保存成Visual Basic文件,可以看看里面的代码,提高自己的编程水平
using Systemusing System.Collections.Generic
using System.Linq
using System.Web
using System.Web.UI
using System.Web.UI.WebControls
using System.Data
using System.Collections
using System.Windows.Forms
using System.Data.OleDb
using System.Data.Common
using System.Data.SqlClient
public partial class Excel导入_Default : System.Web.UI.Page
{
private static string filename
private static string savePath
private static DataSet ds //要插入的数据
private static DataTable dt
protected void Page_Load(object sender, EventArgs e)
{
}
//上传文件到指定的服务器
protected void Button1_Click1(object sender, EventArgs e)
{
filename = this.fileUploadExcel.FileName
//savePath必须包含表名在内的所有路径名
savePath = @"G:\项目组文件\项目.net学习资料\工程\Health\Excel导入\Files\" + this.fileUploadExcel.FileName //上传服务器文件的存储,存在当前新建的文件夹
this.fileUploadExcel.SaveAs(savePath)
Boolean judge_excel = Judge_Excel()
if (!judge_excel)
{
MessageBox.Show("上传的不是excel文件", "标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
return
}
else
MessageBox.Show("上传文件成功", "标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
//测试,将excel中的sheet1导入到sqlserver中
//string connString = "server=localhostuid=sapwd=sqlgisdatabase=master"
//System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog()
//if (fd.ShowDialog() == DialogResult.OK)
//{
// //TransferData(fd.FileName, "sheet1", connString)
//}
}
//判断文件是否是excel文件函数
protected Boolean Judge_Excel()
{
string fileExtend = System.IO.Path.GetExtension(this.fileUploadExcel.FileName)
if (fileExtend == ".xlsx" || fileExtend == ".xls")
return true
else
return false
}
//获取excel数据按钮的触发,
protected void Button2_Click(object sender, EventArgs e)
{
ExcelToDataSet()
MessageBox.Show("获取数据成功", "标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
}
//从excel表中获取数据的函数
public void ExcelToDataSet()
{
string strConn = "Provider = Microsoft.Jet.OLEDB.4.0 Data Source = " + savePath + "Extended Properties=\"Excel 8.0HDR=YesIMEX=1\""
OleDbConnection conn = new OleDbConnection(strConn) //连接excel
if (conn.State.ToString() == "Open")
{
conn.Close()
}
conn.Open() //外部表不是预期格式,不兼容2010的excel表结构
string s = conn.State.ToString()
OleDbDataAdapter myCommand = null
ds = null
/*DataTable yTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" })//获取表的框架,几行几列
string tableName = yTable.Rows[0]["filename"].ToString() //表示的是几行几列
string strSel = "select * from [" + filename + "]"//xls */
string strExcel = "select * from [sheet1$]" //如果有多个sheet表时可以选择是第几张sheet表
myCommand = new OleDbDataAdapter(strExcel, conn)//用strExcel初始化myCommand,查看myCommand里面的表的数据??
ds = new DataSet()
myCommand.Fill(ds) //把表中的数据存放在ds(dataSet)
conn.Close()
try
{
dt = ds.Tables[0]
this.dataGridView1.DataSource = dt
}
catch (Exception err)
{
MessageBox.Show(" *** 作失败!" + err.ToString())
}
}
//excel导入数据库sql的按钮触发
protected void Button3_Click(object sender, EventArgs e)
{
//string path = @"D:\数据库SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Test.mdf"
string connString = "server=localhostuid=sapwd=1234database=Test" //连接数据库的路径方法
//String connString=@"server=localhostuid=sapwd=1234database=D:\数据库SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Test.mdf"
SqlConnection conn = new SqlConnection(connString)
conn.Open()
DataRow dr = null
int C_Count = dt.Columns.Count//获取列数
for (int i = 0 i < dt.Rows.Count i++) //记录表中的行数,循环插入
{
dr = dt.Rows[i]
insertToSql(dr, C_Count, conn)
}
conn.Close()
if (dataGridView1.Rows.Count > 0) //把数据库表中的数据显示到表中,可判断有没有数据
{
MessageBox.Show("导入成功!")
}
else
{
MessageBox.Show("没有数据!")
}
}
//使用bcp,不容易出错而且效率高
/*try
{
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connString))
{
bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied)
bcp.BatchSize = 100//每次传输的行数
bcp.NotifyAfter = 100//进度提示的行数
bcp.DestinationTableName = savePath//目标表
bcp.WriteToServer(ds.Tables[0])
}
}
catch
{
System.Windows.Forms.MessageBox.Show(ex.Message)
}*/
//插入数据库的函数
protected void insertToSql(DataRow dr, int column_count, SqlConnection conn)
{
//excel表中的列名和数据库中的列名一定要对应
string name = dr[0].ToString()//需要把内个列都列出来
string age = dr[1].ToString()
string sex = dr[2].ToString()
//当数据库中有多个表时,怎么分辨插入的表
string sql = "insert into 客户 values('" + name + "','" + age + "','" + sex + "')"
SqlCommand cmd = new SqlCommand(sql, conn)
cmd.ExecuteNonQuery()
}
//从excel表中获取数据并存在
// protected void ImportFromExcel()
// {
// string execelConnectionStr = @"Provider=Microsoft.Jet.OLEDB.4.0Data Source=filename
// Extended Properties=""Excel 8.0HDR=YESIMEX=1\"""//表第一行是标题,不做为数据使用, Excel 档案只能用来做“读取”用途。
// ds = new DataSet()
// string connString = "Provider = Microsoft.Jet.OLEDB.4.0 Data Source = "
// + savePath + "Extended Properties=\"Excel 8.0HDR=YesIMEX=1\""
// DataTable table = OleDbHelper.GetExcelTables(connString)
// if (table == null || table.Rows.Count <= 0)
// {
// return
// }
// foreach (DataRow dr in table.Rows)
// {
// string cmdText = "select * from [" + dr["TABLE_NAME"].ToString() + "]"
// DataTable dt = OleDbHelper.FillDataTable(connString, cmdText)
// dt.TableName = dr["TABLE_NAME"].ToString()
// ds.Tables.Add(dt)
// }
// }
}
这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们了。但这样一个个更新很明显不是办法,我想通过excel直接把数据导入数据库应该是可行的吧,就开始找方法了。我想至少有这样两种比较容易实现的方法:
1、直接用Sql语句查询
2、先用excle中的数据生成xml文件,再把xml导入数据库
第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:
SELECT* FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:Financeaccount.xls"UserID=AdminPassword=Extendedproperties=Excel5.0')…xactions
语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User ID=AdminPassword=Extended properties=Excel 5.0”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]
最后,看看我成功的测试
数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1.xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:
insertintotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金额],[内容] FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="C:Book1.xls"UserID=AdminPassword=Extendedproperties=Excel5.0')…[Sheet1$]
select里的列名我一开始用*代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。 *** 作成功
回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)