社区
基础编程
帖子详情
求一高效分析SQL语句的算法
ice_berg16
2005-10-29 11:46:57
可以将备份的SQL文件解析成SQL语句数组就可以,
PHPMYADMIN的感觉有点太慢了。
...全文
228
16
打赏
收藏
求一高效分析SQL语句的算法
可以将备份的SQL文件解析成SQL语句数组就可以, PHPMYADMIN的感觉有点太慢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ice_berg16
2005-11-01
打赏
举报
回复
暂时使用;[\r\n]+来处理,结了。
xuzuning
2005-11-01
打赏
举报
回复
如果你的sql文件是由数据库辅助程序产生的就不会,因为已经做了转义
否则是有可能的。
其实判断是否被错误截断了也是很简单的:
遍历结果数组,统计“'”出现的次数是否为奇数,是则误截断了。补上并将下一元素连接上来
或者这样判断,通常在sql文件中出现的sql指令大多都是create、insert。他们都以“)”结束,所以判断数组元素的最后一个字符是否为“)”也是可行的
ice_berg16
2005-11-01
打赏
举报
回复
读取sql文件,按“;[\r\n]+”分割成数组
----------------------
这样如果是字符串中包含了";[\r\n]"不是要被从中间断开?
ice_berg16
2005-10-31
打赏
举报
回复
比如有一个 db.sql文件,
我有一个上传数据库文件的表单,
用户上传后,程序在后台分析该SQL文件,并将结构和数据插入到数据库当中,
就是这样,PHPMYADMIN中就有这个功能。
但是WEB界面就不能用mysql db < db.sql -u root -ppassword这样的命令行。
一般虚拟主机也不会提供给你命令行功能吧,所以想通过WEB界面解决这个问题。
xuzuning
2005-10-31
打赏
举报
回复
不是很明白!举个例子看看
ice_berg16
2005-10-31
打赏
举报
回复
我做的是WEB界面,如果服务器不是自己的肯定不能用命令行了。
也不是CVS,就是SQL语句的文件。想保存成数组
ipeak
2005-10-31
打赏
举报
回复
我两天前也面临同样的问题,找到这样一个程序,我还没有测试,请到家帮忙看看。
导入的程序如下:
< ?
if($table==\"\")exit();
mysql_connect(\"localhost\",\"name\",\"password\");
mysql_select_db(\"database\");
$message = file(\"$table.txt\");
echo $numfields = chop($message[0]);
for($k=1;$k< count($message);$k+=($numfields+1))
{
$value=\"\";
for ($i=$k;$i< ($k+$numfields-1);$i++)
{
$tmp = str_replace(\"&&php2000mysqlreturn&&\",\"\r\n\",chop($message[$i]));
$value .= \"\'\".addslashes($tmp).\"\',\";
}
$tmp = str_replace(\"&&php2000mysqlreturn&&\",\"\r\n\",chop($message[$k+$numfields-1]));
$value .= \"\'\".$tmp.\"\'\";
$query = \"insert into $table values (\".$value.\")\";
echo mysql_error();
mysql_query($query);
echo $k.\" \";
}
echo \"ok\";
?>
使用方法和可能的问题!
1 导入时 file()函数可能会有问题(我的10M的数据没出现问题),可以改为 fopen()然后没次读一行!!
2 导入,导出都需要用 ftp 操作,也就是导出后,用 ftp 把数据转到本机,导入时先用ftp转移数据到服务器!
xuzuning
2005-10-31
打赏
举报
回复
读取sql文件,按“;[\r\n]+”分割成数组
dh20156
2005-10-30
打赏
举报
回复
还原为什么要将备份的SQL文件解析成SQL语句数组呢?
关注。
zhiin1
2005-10-30
打赏
举报
回复
不可以执行 mysql -u root -p << aa.sql 吗?
dreamasp
2005-10-29
打赏
举报
回复
我也想知道
up
xuzuning
2005-10-29
打赏
举报
回复
csv格式 ?
ice_berg16
2005-10-29
打赏
举报
回复
preg_split怎么分的,有代码吗?
ice_berg16
2005-10-29
打赏
举报
回复
现在不是备份,是还原,所以我想将SQL语句分析成数组,再插入。
-神仙-
2005-10-29
打赏
举报
回复
不能调用mysql_dump么
helloyou0
2005-10-29
打赏
举报
回复
我用的preg_split分割开
发现用--注释的东西不用去掉,mysql_query会自动忽略
如何编写一个
高效
的
sql语句
一. 序言 数据库的性能问题,一直以来都是困扰各个事业部的大问题。在性能问题中
SQL语句
的编写又是重中之...在ORACLE RDBMS SERVER软件的内部,对于
SQL语句
的执行有一个优化器(OPTIMIZER)对
SQL语句
的执行进行优化。
SQL语句
性能
分析
sql语句
性能
分析
一条
SQL语句
在MySQL中执行过程全解析
本篇文章会
分析
一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。
SQL语句
的解析过程
本文是我在看了各种资料后手机总结的,会详细的,一步一步地讲述一个
sql语句
的各个关键字的解析过程,欢迎大家互相学习。
SQL语句
的解析顺序 简单地说一个
sql语句
是按照如下的顺序解析的: 1. FROMFROM后面的表...
sql语句
相似度统计的说明
在统计
sql语句
执行次数上,要判断同类
sql语句
的相似度,达到一定相似度的可以定位为同一类
sql语句
。 2.实现描述: ——输入:相似度值,比如90%;操作对象,比如表名Table_name;操作类型,比如insert in
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章