精华内容
下载资源
问答
  • Python批量操作文件写入数据库及从数据库取数据

    万次阅读 多人点赞 2020-07-20 12:55:23
    博主工作长期需使用数据库查询数据,因而接触到了数据库的一些皮毛知识。但是数据库和办公网不互通,远端访问也没法实现,所以长期以来查询数据都相当麻烦。近期博主在自己的工作电脑上搭建了一个的MySQL数据库...

    写在前面

    博主工作长期需使用到数据库查询数据,因而接触到了数据库的一些皮毛知识。但是数据库和办公网不能互通,远端访问也没法实现,所以长期以来查询数据都相当麻烦。近期博主在自己的工作电脑上搭建了一个的MySQL数据库,并尝试导入一些数据进去,顺便自己查询,其中遇到了各种各样的问题,才深刻领悟到后端操作的艰难,写篇博客记录一下其中的艰难过程。

    • 编译环境:Python3.7
    • 编译器:pycharm
    • 数据库可视化软件:Navicat premium 15
    • 数据库:MySQL 8.0.20

    注:以下内容,仅供用于学习交流,而且博主也对相关内容进行的打码处理,文件名和数据库名都是用的XXX来表示的。

    数据库搭建

    博主的数据库是用的MySQL,用的是CMD命令行方式安装和配置的,网上有很多教程,但是良莠不齐,有空了我专门写一篇博客记录安装过程,这边博客就不说了。不过在安装时,一定要牢记系统给你默认设置的连接密码,如果没记住的话,会让你崩溃,网上教程一堆,能实际解决问题的没两个,这个密码是关键,切记、切记。

    数据库可视化软件

    博主用的是Navicat premium 15,界面如下:
    在这里插入图片描述
    为什么需要这个软件呢,这个软件可以让你方便的连接你的数据库,也可以在里面写一些查询语句,甚至可以将数据导入到数据库,而且还支持批量导入,总之,非常方便,可以理解为数据库的前端操作软件。但实际使用过程却没有那么友好,比如我导入数据到我的数据库时,经常出现下面的问题:
    在这里插入图片描述
    finished with error
    也不告诉你那里出了错,反正就是数据不全,大概只导入了1/4的数据。当然也不是所有的数据导入都会出现这个问题,但是确实头疼,博主网上搜了一堆教程没一个能解释明白的,所以才有了后面用Python导入数据库的尝试。不过用Navicat写查询语句确实方便,你的数据库需要这么个数据库可视化软件,不然你操作数据库,就永远像个黑客一样在CMD里写命令行来操作了。

    批量合并数据文件

    博主这边有很多txt文件,但都是同一批字段的数据,至于为什么会这样,博主也懒得解释。反正现在的工作是,把这些txt文件合并到一个文件里去,这样导入数据库也方便点不是吗?
    当然你也可以自己在excel里面一个个的复制粘贴,但是感觉一是工作量太大,十来个文件还好,几百个文件你要这么操作,能让人抓狂,而且逼格也太低了,现在流行自动化办公。
    直接上代码:

    # -*- coding: utf-8 -*-
    """
    Created on Tue Jul 14 15:25:44 2020
    
    @author: HP
    """
    
     
    #合并一个文件夹下的多个txt文件
    #coding=utf-8
    import os
    import pandas as pd
    #获取目标文件夹的路径
    filedir = r'C:\xxx\xxx'  
    #获取当前文件夹中的文件名称列表
    filenames=os.listdir(filedir) 
    i=0
    data = pd.read_csv(r'C:\xxx\xxx\xxx.txt',sep = '\t')
    col = list(data)
    data = pd.DataFrame(columns=col)
    
    #先遍历文件名
    for filename in filenames:
        i+=1
        print(i)
        if i>0:
            filepath = filedir+'\\'+filename
            print(filepath)
            #遍历单个文件,读取行数
            # datai = pd.read_csv(filepath, sep='\t', dtype=str)
            datai = pd.read_csv(filepath, sep='\t', converters={'item': str})
            data = data.append(datai)
            
            '''
            for line in open(filepath, 'r', encoding='utf-8-sig', errors='ignore'):
                # print(str(line))
                f.writelines(line)
                # f.write('\n')
            '''
    #关闭文件
    # f.close()
    
    data.to_excel('XXX.xlsx', index=False)
    
    

    来解释一下代码
    filedir = r’C:\xxx\xxx’ 我把所有的文件放在这个文件夹里,注意是一个绝对的路径
    filenames=os.listdir(filedir) 获取这个文件夹里面所有的文件列表

    data = pd.read_csv(r'D:\xxx\xxx.txt',sep = '\t')
    col = list(data)
    data = pd.DataFrame(columns=col)
    

    这里几行代码呢,目的是创建一个空的dataframe,这个空的dataframe的列就是上面那个文件夹里面某个文件的列名
    后面就是写循环,往列表里面添加数据,然后将列表转换为excel文件了。

            '''
            for line in open(filepath, 'r', encoding='utf-8-sig', errors='ignore'):
                # print(str(line))
                f.writelines(line)
                # f.write('\n')
            '''
    

    博主注释起来的这块代码,是写入txt的方式,看需求,当然,这里f没定义,可以在循环外面定义一下f,比如:

    # f=open('result.txt','w')
    

    将数据写入数据库

    直接上代码了再解释吧

    # -*- coding: utf-8 -*-
    """
    Created on Tue Jul 14 17:34:23 2020
    
    @author: HP
    """
    
    """
    功能:将Excel数据导入到MySQL数据库
    """
    import xlrd
    import MySQLdb
    import pandas as pd
    
    d = pd.read_csv('xxx.txt',sep = '\t')
    col = list(d)
    cols = ','.join(col)
    
    # Open the workbook and define the worksheet
    book = xlrd.open_workbook("XXX.xlsx") # excel文件名
    # book = xlrd.open_workbook("1.xlsx")
    sheet = book.sheet_by_index(0) # excel文件中的sheet名
    
    # 建立一个MySQL连接
    database = MySQLdb.connect(host="xxxxxxx", user="xxxx", passwd="xxxxxx", db="xxxxx", charset="utf8")
    
    # 获得游标对象, 用于逐行遍历数据库数据
    cursor = database.cursor()
    
    # 创建插入SQL语句
    # query = """INSERT INTO acd_file (%s) VALUES (%s)""" %(cols, ss)
    
    # 创建一个for循环迭代读取xls文件每行数据的, 从第二行开始是要跳过标题
    
    data_list = []
    for r in range(1, sheet.nrows):
        row_list = []
        for t in range(len(col)):
            value_rt = sheet.cell(r,t).value
            type_rt = sheet.cell(r,t).ctype
            if type_rt == 2:
                value_rt = str(int(value_rt))
            
            row_list.append(value_rt)
        data_list.append(row_list)
        # values = ','.join(data_list)
        # query = """INSERT INTO acd_file (%s) VALUES (%s)""" %(cols, s)
        # 执行sql语句
        # cursor.execute(query, values)
    
    val = ''
    for i in range(0, len(col)):
        val = val + '%s,'
        
    result =cursor.executemany("insert into xxx (%s) values("  %(cols) + val[:-1] + ")", data_list)
    print(result)
    
    
    # 关闭游标
    cursor.close()
    
    # 提交
    database.commit()
    
    # 关闭数据库连接
    database.close()
    
    # 打印结果
    print("")
    print("Done! ")
    print("")
    columns = str(sheet.ncols)
    rows = str(sheet.nrows)
    print("我刚导入了 ", columns, " 列 and ", rows, " 行数据到MySQL!")
    
    

    真的挺复杂,也不知道博主能不能讲明白,我挑一些自己认为比较晦涩的代码来解释吧

    基础数据导入

    d = pd.read_csv('xxx.txt',sep = '\t')
    col = list(d)
    cols = ','.join(col)
    

    这里主要是把文件的列名变成一串字符串,join函数可以将列表转化为字符串,分割符号是’,'这个逗号

    # Open the workbook and define the worksheet
    book = xlrd.open_workbook("XXX.xlsx") # excel文件名
    # book = xlrd.open_workbook("1.xlsx")
    sheet = book.sheet_by_index(0) # excel文件中的sheet名
    

    把上面合并的那个excel文件读进来,并且获取这个excel的sheet名,从上面批量合并数据文件这一步来看,博主其实只有一个sheet。

    链接数据库

    database = MySQLdb.connect(host="xxxxxxx", user="xxxx", passwd="xxxxxx", db="xxxxx", charset="utf8")
    

    这行代码非常关键,关系到你能否把数据写到数据库里去,connect函数就是用来链接数据库的,里面的参数我来解释一下:

    • host:主机名,如果是访问本机数据库的话,一般是localhost,如果是访问网络数据库的话,就要写服务器的网络地址了
    • user:用户名,你数据库的用户名,这里就与自己当初搭建的数据库密切相关了
    • passwd:这个数据库用户名对应的密码,就是我前面提到的那个密码,很重要、很重要、很重要
    • db:你要讲数据写入的数据库名称
    • charset:这玩意儿很坑,字符格式,主要看你的数据库是什么样的,我的是utf-8,所以这里我写上了,但很多教程并没有这个,所以经常报错,没写上之前,我也是各种报错

    数据处理

    data_list = []
    for r in range(1, sheet.nrows):
        row_list = []
        for t in range(len(col)):
            value_rt = sheet.cell(r,t).value
            type_rt = sheet.cell(r,t).ctype
            if type_rt == 2:
                value_rt = str(int(value_rt))
            
            row_list.append(value_rt)
        data_list.append(row_list)
    

    这段代码的目的是将表中所有的数据全部取出来,并写入到data_list这个列表中
    type_rt = sheet.cell(r,t).ctype用于获取每个字符的类型

    ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

    我将所有数字型的数据全部转换为字符串,便于完整的写入数据,至于到哪里去把字符串修改回来,这个可以到Navicat里面去设置。当然,这不是最佳的数据处理方式,只是比较适合博主的数据而已

    写入数据库

    val = ''
    for i in range(0, len(col)):
        val = val + '%s,'
        
    result =cursor.executemany("insert into xxx (%s) values("  %(cols) + val[:-1] + ")", data_list)
    

    变量val用来生成一串’%s’这个玩意儿,val[:-1]用切片切掉最后一个逗号,其实这里有更简单的写法,像前面一样用join函数

    s =['%s']*len(col)
    ss = ','.join(s)
    

    这里的ss和val[:-1]是等价的。
    executemany是批量写入函数,“insert into xxx (%s) values(” %(cols) + val[:-1] + ")"中的xxx是数据表。还有另外一种写法,不用批量导入,而是用execute函数,每读一行,就写一行,写在循环里面,但是当时老是报错,我就没继续下去了。
    后面就是常规的数据库操作了
    当然,整个过程不断的报错,比如报错说我的字符串长度太长了,等等,要在数据库里面修改一些参数,可能每个人遇到的问题不一样,遇到了就去网上搜索教程,基本都能解决。
    至此完成了数据的写入,接下来看看怎么在Python里查询数据

    Python操作数据库查询数据

    还是先上代码

    # -*- coding: utf-8 -*-
    """
    Created on Thu Jul 16 09:33:42 2020
    
    @author: HP
    """
    
    import MySQLdb
    import pandas as pd
    
    conn = MySQLdb.connect(
        host="xxxx", 
        user="xxxx", 
        passwd="xxxxx", 
        db="xxxxx", 
        charset="utf8")
    
    cur = conn.cursor()
    query = """ select x1, x2, x3, x4 
        from table1
        where x1 >= 1
        and x1 < 100 """
        
    cur.execute(query)
    result = cur.fetchall()
    df_result = pd.DataFrame(list(result), columns=['x1','x2','x3','x4'])
    
    

    第一步,链接数据库并登陆
    第二步,写查询语句,select from where基本查询语法
    第三步,执行查询语句
    顺利出结果
    相对来说,要简单的多

    写在后面

    从博主决定搭建数据库到最后打通数据库,总体来说,感觉很费劲,也走了很多弯路,给我的感觉就是后端的东西要比前端复杂一点,当然,博主水平有限,也就目前的认知水平这样,前端的东西其实也很复杂,只是我个人接触的相对多一点而已。
    不过还是很开心的,毕竟又get了个新技能。

    展开全文
  • 数据库操作dll文件

    热门讨论 2011-08-06 12:19:52
    数据库操作dll文件,请先下载这个,然后添加到项目中
  • C# WPF2012 操作sqlserver2008数据库 上传文件数据库中,可以上传各种文件,例如图片、txt、doc等,存入到数据库中;使用时,下载到本地,路径请自己修改。好用的别忘了给评价
  • 目前来说,Access数据库使用度相对较少,所以在使用Python操作Access数据库文件时,相应的文章和教程也较少。为了解决各位在类似场景下的难题,特意写文章如下: 1.安装模块pyodbc pip install pyodbc 打开...

    目前来说,Access数据库的使用度相对较少,所以在使用Python操作Access数据库文件时,相应的文章和教程也较少。为了解决各位在类似场景下的难题,特意写文章如下:

    1.安装模块pyodbc

    pip install pyodbc

    打开命令指示行,然后正常安装ODBC模块即可

    2.安装驱动程序

    这个主要跟电脑上的office版本有关,如果是64位的,请安装64位,如果是2016版的,请安装相应版本的驱动程序。

    2016驱动程序下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=54920

    2010驱动程序下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=13255

    在这里,笔者安装的是2016版本64位的驱动程序。直接下载链接里的文件,然后安装就好。

    3.操作数据库

    安装完驱动程序,下面就是操作数据库了,下面是链接数据库的代码:

    import pypyodbc
    
    #file_path是access文件的绝对路径。
    file_path=r"D:\work\analyse\test.accdb"
    #链接数据库
    conn = pypyodbc.connect(u'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + file_path)
    #创建游标
    cursor=conn.cursor()
    # tb_name是access数据库中的表名
    tb_name="table1"
    cursor.execute('select * from %s' % tablename)
    # 获取数据库中表的全部数据
    data= cur.fetchall()
    print(data)
    #查看数据的字段名
    field_list=[]
    for field in cursor.discription:
        field_list.append(field[0])
    print(filed_list)
    #关闭游标和链接
    cursor.close() 
    conn.close()
    

    4.基础的增删改查

    写相应的SQL语句,执行即可

    展开全文
  • C#操作mdb数据库文件

    千次阅读 2017-09-25 17:58:30
    C#操作mdb数据库文件 源码如下: namespace CSharpWindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

    C#操作mdb数据库文件


    源码如下:

    namespace CSharpWindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private string _fileName;
            private string _connectionString;
            private OleDbConnection _odcConnection;
    
            private void button1_Click(object sender, EventArgs e)
            {
                //根据IMEI 862075035979565 进行查找
                string exefilepath = System.IO.Directory.GetCurrentDirectory();
                string mdbfilepath = exefilepath + "\\M02C_KMD_ST2017040801_13000.MDB";
                string mdbFile = mdbfilepath;
                string strimei = "7762075035979565";
                //MAC在数据库文件中的名称
                string strMACSection = "";
                //IMEI在数据库文件中的名称
                string strIMEISection = "";
                //SN在数据库文件中的名称
                string strSNSection = "";
    
                DataTable dt = new DataTable();
                try
                {
                    DataRow dr;
                    this._fileName = mdbFile;
                    this._connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbFile + ";";
                    //1、建立连接 C#操作Access之读取mdb 
                    this._odcConnection = new OleDbConnection(this._connectionString);
                    //2、打开连接 C#操作Access之读取mdb 
                    this._odcConnection.Open();
                    //建立SQL查询   
                    OleDbCommand odCommand = _odcConnection.CreateCommand();
                    //3、输入查询语句 C#操作Access之读取mdb  
                    odCommand.CommandText = "select * from " + "SNTable";
                    //建立读取   
                    OleDbDataReader odrReader = odCommand.ExecuteReader();
                    //查询并显示数据   
                    int size = odrReader.FieldCount;
                    for (int i = 0; i < size; i++)
                    {
                        DataColumn dc;
                        string sstr = odrReader.GetName(i);
                        sstr.ToLower();
                        if (0==sstr.IndexOf("MAC"))
                        {
                            strMACSection = odrReader.GetName(i);
                        }
                        else if (0 == sstr.IndexOf("IMEI"))
                        {
                            strIMEISection = odrReader.GetName(i);
                        }
                        else if (0 == sstr.IndexOf("SN"))
                        {
                            strSNSection = odrReader.GetName(i);
                        }
                        else
                        {
    
                        }
    
                        dc = new DataColumn(odrReader.GetName(i));
                        dt.Columns.Add(dc);
                    }
                    while (odrReader.Read())
                    {
                        dr = dt.NewRow();
                        for (int i = 0; i < size; i++)
                        {
                            string s1 = odrReader.GetName(i);
                            string s2 = odrReader[s1].ToString();
                            string s3 = odrReader[s1].ToString();
                            if (-1 != s1.IndexOf(strIMEISection) && -1 != s3.IndexOf(strimei))
                            {
                                //string strMAC = "MAC";
                                string s4 = odrReader[strMACSection].ToString();
                                //00:1E:C8:98:9C:F1
                                //string strSN = "SN";
                                string s5 = odrReader[strSNSection].ToString();
                                //M02C17051501447 
    
                                //关闭连接 C#操作Access之读取mdb  
                                odrReader.Close();
                                _odcConnection.Close();
    
                                return;
                            }
                            dr[s1] = s3;
                            //dr[odrReader.GetName(i)] =
                            //odrReader[odrReader.GetName(i)].ToString();
                        }
                        dt.Rows.Add(dr);
                    }
                    //关闭连接 C#操作Access之读取mdb  
                    odrReader.Close();
                    _odcConnection.Close();
                    //success = true;
                }
                catch
                {
                    //success = false;
                }            
            }
        }
    }

    C#操作mdb文件引用的库为

    using System.Data;
    using System.Data.OleDb;



    展开全文
  • 1、文件文件组 在SQL Server 中数据库是由数据库文件和事务日志文件组成的。一个数据库至少应包含一个数据库文件和一个事物日志文件。...有多个数据库文件时,有一个文件被定义为主数据库文件(Primary Da

    1、文件与文件组

    在SQL Server 中数据库是由数据库文件和事务日志文件组成的。一个数据库至少应包含一个数据库文件和一个事物日志文件。

    (1) 数据库文件(Database File)

    数据库文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(Primary Database File), 扩展名为mdf, 它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据库文件。其它数据库文件被称为次数据库文件(Secondary Database File), 扩展名为ndf, 用来存储主文件没存储的其它数据。

    采用多个数据库文件来存储数据的优点体现在:

      数据库文件可以不断扩充,而不受操作系统文件大小的限制;

      可以将数据库文件存储在不同的硬盘中,这样可以同时对几个硬盘做数据存取,提高了数据处理的效率。对于服务器型的计算机尤为有用。

    (2) 事务日志文件(Transaction Log File)

    事务日志文件是用来记录数据库更新情况的文件,扩展名为ldf。例如使用INSERT、UPDATE、 DELETE、 等对数据库进行更的操作都会记录在此文件中,而如SELECT 等对数据库内容不会有影响的操作则不会记录在案。一个数据库可以有一个或多个事务日志文件。

    SQL Server 中采用“Write-Ahead (提前写)”方式的事务,即对数据库的修改先写入事务日志中,再写入数据库。其具体操作是,系统先将更改操作写入事务日志中,再更改存储在计算机缓存中的数据,为了提高执行效率,此更改不会立即写到硬盘中的数据库,而是由系统以固定4 的时间间隔执行CHECKPOINT 命令,将更改过的数据批量写入硬盘。SQL Server 有个特点,它在执行数据更改时会设置一个开始点和一个结束点,如果尚未到达结束点就因某种原因使操作中断,则在SQL Server 重新启动时会自动恢复已修改的数据,使其返回未被修改的状态。 由此可见,当数据库破坏时,可以用事务日志恢复数据库内容。

    (3) 文件组(File Group)

    文件组是将多个数据库文件集合起来形成的一个整体。每个文件组有一个组名。与数据库文件一样,文件组也分为主文件组(Primary File Group) 和次文件组(Secondary FileGroup) 一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。主文件组中包含了所有的系统表。当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件。在次文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组则主文件组,为缺省文件组。

    注意:事务日志文件不属于任何文件组。



    用系统存储过程显示数据库信息

    SQL Server 提供了许多很有用的系统存储过程,可以用它们来得到许多从EnterpriseManager 界面中所不易或不能看到的信息(有关存储过程的详细介绍请参见“存储过程”章节。读者如果目前不了解存储过程也不要紧,可以把它当作函数或命令来用)。

    (1) 用系统存储过程显示数据库结构

    可以使用系统提供的系统存储过程Sp_helpdb 来显示数据库结构。

    其语法如下:

    sp_helpdb [[@dbname=] 'name']

    使用Sp_helpdb 系统存储过程可以显示指定数据库的信息。如果不指定[@dbname=]

    'name'子句,则会显示在master.dbo.sysdatabases 表中存储的所有数据库信息。命令执行成

    功会返回0, 否则返回1。

    用系统存储过程显示文件信息

    可以使用系统提供的系统存储过程Sp_helpfile 来显示当前数据库中的文件信息。其语法如下:

    sp_helpfile [[@filename =] 'name']如果不指定文件名称,则会显示当前数据库中所有的文件信息。命令执行成功会返回0, 否则返回1。

    用系统存储过程显示文件组信息

    可以使用系统提供的系统存储过程Sp_helpfilegroup 来显示当前数据库中文件组信息。其语法如下:

    sp_helpfilegroup [[@filegroupname =] 'name']

    如果不指定文件组名称,则会显示当前数据库中所有的文件组。命令执行成功会返回0 ,否则返回1。



    展开全文
  • python数据库,python操作sqlite数据库
  • 1.背景所谓外部数据库文件此处指的就是一个在外部单独创建的db文件,假设有这么一个场景,我们项目中有一些本地数据,不需要接口去获取的(不需要进行网络操作),写死的数据,比如全国各个省各个市的一些基本信息,...
  • 1 浅析DMP ...导出数据库的DMP文件一般使用命令提示符或SQLPlus两种方式。这两种方式在命令上有些许不同,下面做详细介绍。 2.1 使用命令提示符方式导出 使用“窗口+R”快捷键打开运行窗口,如...
  • 可视化操作android数据库文件

    千次阅读 2012-08-15 21:40:46
    在开发Android应用的过程中,有时候需要利用可视化工具看到或修改数据库的内容,有时候希望把数据库到处到文件中,有没有这样的工具? 回答: SQLite Database browser是一个专门为Sqlite数据
  • 数据库操作——附加数据库

    千次阅读 多人点赞 2014-07-27 11:37:05
    在附加数据库的时候,出现错误“附加数据库时出错,有关详细信息,请单击“消息”列中的超链接。...请将数据库文件设为可写,然后重新运行恢复操作。” 错误原因:这是NTFS的权限问题(磁盘分区格式),NTFS格
  • 一般我们在使用程序连接、操作数据库时,通常会写一个Dao类,做门用作操作数据库,以方便之,但是对数据库的连接、登录信息一般都是写死的代码,如果更换操作其他的数据库,就必须更改代码,数据库文件配置就是...
  • 还原bak后缀的数据库文件如何操作

    千次阅读 2017-11-14 22:08:05
    还原数据库bak文件时 先创建一个数据库,还原数据库,选择bak文件,如果出现下面的问题,按照问题下面的图操作,进行覆盖现有的数据库操作就可以了
  • 数据库 数据文件 日志文件 文件

    千次阅读 2018-04-18 12:55:20
    就好像有人有写日记的习惯那样 他会把他每天所做的事情都记录下来 ,日记就相当于这里的日记文件 而人每天所做的事情就相当于对数据库操作 某个时刻 人忘记了之前所做过的事情时(或所做的事情对现在有影响...
  • 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 所以一般推荐SQL脚本形式导入。下面分别介绍两种方法。 Linux下: 2. 方法一 SQL脚本形式 ...
  • 数据库的基本创建和一些简单的操作
  • node操作数据库

    千次阅读 2018-05-20 10:41:13
    问题描述 ...如果你确实要学习node是如何操作数据库的,最起码,你需要知道一些基本的东西:nodejs、mysql。 其中,nodejs你最好知道一些基本的模块——Stream流、Buffer对象、fs文件系统、模...
  • 使用c语言操作sql server数据库

    万次阅读 2019-08-21 18:47:10
    本文使用c语言来对sql server数据库进行操作,实现通过程序来对数据库进行增删改查操作操作系统:windows 10 实验平台:vs2012 + sql server 2008 ODBC简介:开放数据库连接(Open Database Connectivity,ODBC...
  • 由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法。 实现思路如下: 1、创建文件...
  • 使用工具 navicat for mysql,查看、修改等操作均很方便。 下载和安装可参考:https://blog.csdn.net/Henry_Lin_Wind/article/details/80927803 1、数据库A文件全部复制到另一个数据库B 将待复制数据库导出。...
  • 文件数据库试用

    万次阅读 2006-02-15 11:16:00
     数据操作接口SQL92标准,不管是传统数据库,还是文件数据库,都必须支持SQL92标准。2. 数据保存格式传统数据库(DB2, Oracle, SQL server等)数据保存的方式各异。文件数据库将数据保存在单一文件
  • 数据库还原-bak文件

    万次阅读 热门讨论 2019-05-19 21:41:07
    一种方式是直接在数据库操作,一种是在数据库代码还原 第一种方法 1、数据库上右击,选择还原文件文件组 2、选择目标数据库,选择bak文件,确定即可还原数据库 一般情况下这样就可以还原数据库了,但有时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,723,670
精华内容 689,468
关键字:

文件操作能当数据库用吗