怎么把数据库表导入数据库

怎么把数据库表导入数据库,第1张

1. 如何将数据文件导入数据库中

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 System

using 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了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9428248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存