继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

sqlite3数据库单表转存mysql数据库

守着星空守着你
关注TA
已关注
手记 364
粉丝 39
获赞 267

      本代码属于单表转换,在开始转换之前,假设你已经对应sqlite3数据的某张表在mysql数据库中建立相同名称的表和列,这里假设表中的列为,colname1,colname2,colname3...


<?php     //设置php执行时间无限制    set_time_limit(0);     

//sqlite3 config  

//请注意sqlite3数据库使用sqlite方法去操作会报错    

//提示是一个加密文件或者不是一个数据库    //这里使用PDO驱动来连接和查询sqlite3数据库    

//将sqlite3数据库与该脚本页面放在同目录    

define('CONNECTSTRING'"sqlite:".dirname(__FILE__)."/sqlite3_db_name.db");    

//这里的sqlite3数据库连接用户名和密码随意写,因为创建sqlite3数据库时没有密码    

//如果创建时有密码,请根据设置密码修改成正确值    

define('USERNAME''username');     

define('PASSWORD''password');    

define('CHARSET','SET NAMES utf8');    

//mysql config    $db='localhost';    

$user='usernmae';    

$pass='password';    

$dbname='mysql_db_name';    

//sqlite connection    

$dbh=null;    

if($dbh=new PDO(CONNECTSTRING, USERNAME, PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => CHARSET))){        

$dbh->beginTransaction();        

//设置内存无限制,如果机器配置较高可以这么设置        

ini_set('memory_limit''-1');        

$sth $dbh->prepare('SELECT * FROM sqlite3_table_name');        

$sth->execute();        

//查询结果,得到一个数组        

$result $sth->fetchAll();        

//打开mysql,准备插入        

$conn=mysql_connect($db,$user,$passor die("conn error");        

//设置操作mysql数据库的编码        

mysql_query("set names 'utf8'");        

mysql_select_db($dbname);        

foreach($result as $row){            

$sql="";            

$sql="INSERT INTO mysql_db_name(colname1,colname2,colname3) VALUES('";            

$sql=$sql.$row['colname1']."','".$row['colname2']."','".$row['colname3']."')";            

mysql_query($sql);        

}        

mysql_close($conn);        

//相当于关闭sqlite3数据库        

$dbh=null;    

}          

?>

      新手可以看看,高手勿喷,谢谢。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP