利用PHP执行SQL文件,将SQL文件导入到数据库

如何利用php自动执行.sql文件。其实很简单,就是获取sql文件中的内容,然后将每一句sql语句一次执行就行啦。

这是代码

//读取文件内容
$_sql = file_get_contents(‘test.sql‘);

$_arr = explode(‘;‘, $_sql);
$_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS);
if (mysqli_connect_errno()) {
    exit(‘连接数据库出错‘);
}
//执行sql语句
foreach ($_arr as $_value) {
    $_mysqli->query($_value.‘;‘);
}
$_mysqli->close();
$_mysqli = null;

上面text.sql是你需要执行的sql文件,DB_HOST主机名,DB_USER用户名,DB_PASS密码!

这只是最基本的自动执行sql文件,你还可以自定义生成数据库的名称,方法就是将sql文件中下面的代码删去


1

2

	CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE 数据库名

然后在text.php中执行所有的sql语句前添加代码

$_mysqli->query("CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;");
$_mysqli->query("USE 数据库名");

将数据库名换成你需要修改的名称即可!

时间: 2024-10-12 17:20:36

利用PHP执行SQL文件,将SQL文件导入到数据库的相关文章

当地使用impdp导出服务器转储文件,本地使用impdp导入远程数据库用户

本地使用impdp导出服务器转储文件,本地使用impdp导入远程数据库用户 1)expdp是可以在客户端上生成转储文件的 2)impdp是可以在不同的实例之间进行数据的迁移复制的 练习1: 1)将远程数据库WSJB用户使用expdp命令导出到本地磁盘的D:\下 Microsoft Windows [版本 6.1.7600] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\windows\system32>sqlplus system/system S

使用sqlldr将文件中的数据导入到数据库

1.创建数据文件: ?如,在D:\创建 zhaozhenlong.txt 文件,文件内容为: 11,12,1321,22,2331,32,33 2.创建控制文件: 如,在D:\创建 zhaozhenlong.ctl 文件,文件内容为: load da tainfile 'd:\zhaozhenlong.txt'append into table zhaozhenlongfields terminated by ','(c1,c2,c3) 3.在数据库中创建表: create table zhao

SQL Server批量数据导出导入BCP使用

BCP简介 bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据.bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出.在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中 BCP执行方式 bcp通过控制台命令行执行 通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行 *

[转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Server导入导出向导”中的数据源没有原来的丰富,缺少对DBF文件的支持. 1.右击数据库,选择“任务”>“导入数据”,打开“SQL Server导入和导出向导”对话框.2.在“数据源”中选择Microsoft OLE DB Provider for Visual FoxPro,单击“属性”按钮,打开“

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

让EFCore更疯狂些的扩展类库(一):通过json文件配置sql语句

前言 EF通过linq和各种扩展方法,再加上实体模型,编写数据库的访问代码确实是优美.舒服,但是生成的sql不尽如意.性能低下,尤其是复杂些的逻辑关系,最终大家还是会回归自然,选择能够友好执行sql语句的ORM,认认真真的编写sql:问题是:EF是否也能够很友好的执行sql语句?EF提供直接执行sql语句的方法并不多,而且也是极其简单的:那是否容易进行扩展?答案是肯定的,在DbContext下提供了Database属性就是为了执行sql用的,然后自己就通过Database下的方法属性进行了扩展(

SQL Server里在文件组间如何移动数据?

平常我不知道被问了几次这样的问题:“SQL  Server里在文件组间如何移动数据?“你意识到这个问题:你只有一个主文件组的默认配置,后来围观了“SQL Server里的文件和文件组”后,你知道,有多个文件的自定义文件组会是个更好的主意.但你现在如何从主文件组里移动现有数据到新加的文件组? 这篇文章的目的是向你展示你如何在文件组间移动数据.首先我会谈下聚集和非聚集索引,然后我会谈下如何在堆表里移动数据.让我们开始吧! 移动聚集和非聚集索引 一般来说在你的表上通常应该有一个聚集索引.有了现存的聚集

SQL Server 在缺少文件组的情况下如何还原数据库

SQL Server 在缺少文件组的情况下如何还原数据库 一.背景 我有一个A库,由于a,b两张表的数据量比较大,所以对表进行分区:在把A库迁移到一个新的集群上去,我只备份了A库的主分区过去进行还原为B库(主分区的备份还原可参考:SQL Server 维护计划备份主分区 和 主分区备份与还原),为了对a,b表进新的数据,我修改了a,b表名,在B库新建了两张不分区的a,b表: 这样运行都没有什么问题的,但是在一次我分离了数据库B,拷贝了mdf和ldf文件,现在想使用mdf和ldf还原为B库的时候出

SQLLite 可以通过SQL语言来访问的文件型SQL数据库

Web Storage分为两类: - sessionStorage:数据保存在session 对象中(临时) - localStorage:数据保存在本地硬件设备中(永久) sessionStorage: 保存数据的两种方法: sessionStorage.setItem('key','val'); sessionStorage.key = 'val'; 读取数据的两种方法: sessionStorage.getItem('key'); var temp = sessionStorage.key

Python 操作文件模拟SQL语句功能

Python操作文件模拟SQL语句功能 一.需求 当然此表你在文件存储时可以这样表示 1,Alex Li,22,13651054608,IT,2013-04-01 现需要对这个员工信息文件,实现增删改查操作 1. 可进行模糊查询,语法至少支持下面3种: 1. select name,age from staff_table where age > 22 2. select * from staff_table where dept = "IT" 3. select * from