重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、一般步骤
在中方等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站设计 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,成都外贸网站建设公司,中方网站建设费用合理。
1、用phpADMIN生成CSV格式文件
以PHP+MySQL模式建立个人主页的读者,在自己的机器上都有PHP+MySQL环境吧?就在这个环境下,用phpADMIN生成以分号为分隔符的dotmud.csv文件。
2、将dotmud.csv文件通过FTP上传到服务器。
3、上传data.php程序(程序附后),在浏览器调用data.php程序,将dotmud.csv文件的内容加入到数据库。
二、特殊处理
一般的数据,通过上述步骤,基本可以顺利上传。但对于包含特殊字符的数据(比如数据库记录中包含换行符、单引号、分号),就要做些特殊的处理。
1、换行符的处理
PHP的fgetcsv()函数以换行符作为每行的结束标志。如果MySQL数据表的记录包含换行符,fgetcsv()就不能完整读取记录行。
笔者的解决方法是修改phpADMIN的lib.inc.php3文件(读者也可以不修改phpADMIN文件,而是用其他方法直接加工phpADMIN生成的dotmud.csv文件,达到同样的效果)的get_table_csv()函数:
在 $schema_insert=ereg_replace($sep."$","",$schema_insert) 行后加入如下命令行
$schema_insert=ereg_replace("\r\n","`return`",$schema_insert)
将换行符转换为不容易出现的换行标识串`return`(读者可根据自己数据的特点设置独特的换行标识串),再在data.php程序中加一行命令$data[$i]=ereg_replace("`return`","\r\n",$data[$i]),用来将换行标识串还原成换行符。
2、分隔符的处理
如果MySQL记录行恰好包含CSV分隔符,fgetcsv()进行分隔处理时就会出现问题。
笔者仍然是通过修改lib.inc.php3文件解决的。
在get_table_csv()的$schema_insert="$row[$j]".$sep行前加一行
$row[$j]=ereg_replace($sep,"`return_sep`",$row[$j]) 命令,将分隔符转为分隔标识串`return_sep`,同时在data.php中用命令行 $data[$i]=ereg_replace("`return_sep`",";",$data[$i]) 进行还原处理。
3、单引号的处理
MySQL的SQL语句行对单引号有特殊的定义,如果直接提交含单引号的SQL语句,就会出错。这种情况需要加上转义符。在data.php中加一行 $data[$i]=ereg_replace("'","\'",$data[$i]) 就可解决。
另外,在数据记录特别多的的情况下,dotmud.csv文件可能比较大,如果在服务器的限定时间内不能执行完data.php程序,就需要按行分拆dotmud.csv。如笔者有个7000行的dotmud.csv文件,在自己的机器上执行到600行就提示超时,便拆成10个文件上传到全路互联(),结果对方的服务器速度快,每个文件的处理时间还不到1秒,而php默认的限定执行时间可是30秒啊!看来我做的分拆实属多余。
以上方法解决了数据库内容的上传问题。对于数据库结构的上传,只要稍微修改一下data.php程序就可实现。其实,如果库结构比较简单,用phpADMIN更方便
平时开放过程中,需要将Excel表格中的数据导入到MySql数据库中,MySQL-Front为我们提供了这个功能,高效,快捷,又方便。
工具/原料
MySQL-Front 5.3
MySQL5.0
BasicCode.xls
方法/步骤
第一步:使用MySQL-Front 5.3访问数据库,打开数据界面如下
第二步,新建表,tb_test字段最好和保持数据一致
第三步,要导入的Excel数据,格式如下
第四步,选中新建的表右键,然后点击"MS excel 文件(M)...",在选中要导入的Excel文件。
第五、选中要导入的数据,以下截图中显示的是excel文件中的sheet名称,点击下一步,然后将excel表中的数据项和数据库表中的字段一一对应,点击下一步,出现界面之后,直接点击“运行”即可。
在这里分享一下在python中上传数据到MySQL的整体流程。
利用for循环,可以依次把列表中的每一组数据写入sql语句并执行。
需要注意的是values的每个值都需要用引号引起来,否则会报错
MySQL数据库的导入,有两种方法:
1)
先导出数据库SQL脚本,再导入;
2)
直接拷贝数据库目录和文件。
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
2.
方法一
SQL脚本形式
操作步骤如下:
2.1.
导出SQL脚本
在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。
2.1.1
用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP
DATABASE”和“DROP
TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
2.1.2
用mysqldump命令行
命令格式
mysqldump
-u用户名
-p
数据库名
数据库名.sql
范例:
mysqldump
-uroot
-p
abc
abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。
2.2.
创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
2.3.
将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。
2.3.1
用phpMyAdmin工具
首先,登录mysql(127.0.0.1/phpmyadmin)输入用户名、密码,用户名通常是root,密码自己看着办,然后在本地导出数据库,存为一个扩展名为xxx.sql的文档。如果你在数据库里用到了GB2312记得用Dreamweaver打开,替换成GBK,因为我的PHPMYADMIN里面没有GB2312编码。
然后通过浏览器打开网址的后台管理界面,用新网给你的用户名和密码登陆。在最下方有一个MYSQL数据库管理入口。
3
进入新网后台以后,进去后再次要求输入密码,再次验证,你照开始一样输入就可以。我的MYSQL数据库没有直接导入功能,所以把刚刚在Dreamweaver编辑的代码全部复制到SQL执行窗口,点击执行即可!接下来就是修改网站文件里的链接代码,将对应的服务器地址、用户名和密码换成对应的就可以了。很简单吧。
1)、数据不多的情况下,可以直接用数据库连接工具,上面有数据库拷贝到数据库的功能来拷贝。
2)、数据量大的情况下,建议用下面的方式:
1、远程服务上面安装mysql服务器
2、本地的数据库的数据导出到一个文件中
3、ftp或者其他方式,把这个数据库文件传到远程服务器
4、用远程服务中source命令,导入