
正文
php拷贝数据库 php数据导入
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP中链接数据库的代码
数据库有很多种类:mysql,oracle,mssql,db2等等。PHP操作数据库的时候,要保证该类型数据库的扩展已开启。这里连接的数据库以mysql为例:?php
//数据库服务器地址
$host="localhost";
//连接数据库用户名
$uname="root";
//连接数据库密码
$upass="";
//连接数据库
$conn=mysql_connect($host, $uname,$upass);
//判断连接
if(!$conn){
die("连接数据库失败!").mysql_errno();
}
//连接成功,其他操作省略
?
相关问答
Q1: PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
本文实例讲述了PHP利用pdo_odbc实现连接数据库。分享给大家供大家参考,具体如下:
目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上。
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务。重启Apache服务器。
在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库:
代码如下:
?php
return
[
//
数据库类型
'type'
=
'sqlsrv',
//
服务器地址
'hostname'
=
'localhost',
//
数据库名
'database'
=
'mysql',
//
用户名
'username'
=
'sa',
//
密码
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
连接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
数据库连接参数
'params'
=
[],
//
数据库编码默认采用utf8
'charset'
=
'utf8',
//
数据库表前缀
'prefix'
=
'',
//
数据库调试模式
'debug'
=
true,
//
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
=
0,
//
数据库读写是否分离
主从式有效
'rw_separate'
=
false,
//
读写分离后
主服务器数量
'master_num'
=
1,
//
指定从服务器序号
'slave_no'
=
'',
//
是否严格检查字段是否存在
'fields_strict'
=
true,
//
数据集返回类型
'resultset_type'
=
'array',
//
自动写入时间戳字段
'auto_timestamp'
=
false,
//
时间字段取出后的默认时间格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要进行SQL性能分析
'sql_explain'
=
false,
//
Builder类
'builder'
=
'',
//
Query类
'query'
=
'\\think\\db\\Query',
//
是否需要断线重连
'break_reconnect'
=
false,
//
断线标识字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一个控制文件Test.php
代码如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后调用入口文件即可访问。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:ThinkPHP实现多数据库连接的解决方法tp5(thinkPHP5)框架实现多数据库查询的方法ThinkPHP3.1新特性之多数据库操作更加完善tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】thinkPHP5实现的查询数据库并返回json数据实例tp5(thinkPHP5)操作mongoDB数据库的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
Q2: PHP中高级面试题 – 第三天
一、简述一下MongoDB的应用场景
mongodb 支持副本集、索引、自动分片,可以保证较高的性能和可用性。
更高的写入负载
默认情况下,MongoDB 更侧重高数据写入性能,而非事务安全,MongoDB 很适合业务系统中有大量 “低价值” 数据的场景。但是应当避免在高事务安全性的系统中使用 MongoDB,除非能从架构设计上保证事务安全。
高可用性
MongoDB 的复副集 (Master-Slave) 配置非常简洁方便,此外,MongoDB 可以快速响应的处理单节点故障,自动、安全地完成故障转移。这些特性使得 MongoDB 能在一个相对不稳定(如云主机)的环境中,保持高可用性。
数据量很大或者未来会变得很大
依赖数据库 (MySQL) 自身的特性,完成数据的扩展是较困难的事,在 MySQL 中,当一个单达表到 5-10GB 时会出现明显的性能降级,此时需要通过数据的水平和垂直拆分、库的拆分完成扩展,使用 MySQL 通常需要借助驱动层或代理层完成这类需求。而 MongoDB 内建了多种数据分片的特性,可以很好地适应大数据量的需求。
基于位置的数据查询
MongoDB 支持二维空间索引,因此可以快速及精确地从指定位置获取数据。
表结构不明确
在一些传统 RDBMS 中,增加一个字段会锁住整个数据库 / 表,或者在执行一个重负载的请求时会明显造成其它请求的性能降级。通常发生在数据表大于 1G 的时候(当大于 1TB 时更甚)。 因 MongoDB 是文档型数据库,为非结构货的文档增加一个新字段是很快速的操作,并且不会影响到已有数据。另外一个好处当业务数据发生变化时,是将不再需要由 DBA 修改表结构。
二、数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?
1、为什么要分表
当一张表的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。
分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。
2、分表的方案
做 mysql 集群,有人会问 mysql 集群,根分表有什么关系吗?虽然它不是实际意义上的分表,但是它启到了分表的作用,做集群的意义是什么呢?为一个数据库减轻负担,说白了就是减少 sql 排队队列中的 sql 的数量,举个例子:有 10 个 sql 请求,如果放在一个数据库服务器的排队队列中,他要等很长时间,如果把这 10 个 sql 请求,分配到 5 个数据库服务器的排队队列中,一个数据库服务器的队列中只有 2 个,这样等待时间是不是大大的缩短了呢?
linux mysql proxy 的安装,配置,以及读写分离
mysql replication 互为主从的安装及配置,以及数据同步
优点:扩展性好,没有多个分表后的复杂操作(php 代码)
缺点:单个表的数据量还是没有变,一次操作所花的时间还是那么多,硬件开销大。
三、简述一下数据库主从复制,读写分离
* 什么是主从复制
主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;
* 主从复制的原理:
1.数据库有个bin-log二进制文件,记录了所有的sql语句。
2.只需要把主数据库的bin-log文件中的sql语句复制。
3.让其从数据的relay-log重做日志文件中再执行一次这些sql语句即可。
* 主从复制的作用
1.做数据的热备份,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
2.架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问频率,提高单机的I/O性能
3.主从复制是读写分离的基础,使数据库能制成更大 的并发。例如子报表中,由于部署报表的sql语句十分慢,导致锁表,影响前台的服务。如果前台服务使用master,报表使用slave,那么报表sql将不会造成前台所,保证了前台的访问速度。
* 主从复制的几种方式:
1.同步复制:所谓的同步复制,意思是master的变化,必须等待slave-1,slave-2,…,slave-n完成后才能返回。
2.异步复制:如同AJAX请求一样。master只需要完成自己的数据库操作即可。至于slaves是否收到二进制日志,是否完成操作,不用关心。MYSQL的默认设置。
3.半同步复制:master只保证slaves中的一个操作成功,就返回,其他slave不管。
这个功能,是由google为MYSQL引入的。
* 关于读写分离
在完成主从复制时,由于slave是需要同步master的。所以对于insert/delete/update这些更新数据库的操作,应该在master中完成。而select的查询操作,则落下到slave中。
关于php拷贝数据库和php数据导入的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







