php mysql数据库备份与数据还原类

 更新时间:2016年11月25日 16:39  点击:1274

 /**
  * 说明,该类适用于小型的网站的数据库备份,内置mysql连接,只需要简单配置数据连接
  * 及存贮备份的位置即可。
  * 类实列化并且连接数据库以后可执行以下操作
  * get_db_table($database)    取得所有数据表
  * export_sql($table,$subsection=0))   生成sql文件,注意生成sql文件只保存到服务器目录,不提供下载
  * import_sql($dir)     恢复数据只导入服务器目录下的sql文件
  * 该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾
  * @author 赵红健[游天小虾]
  * email:328742379@qq.com
  * qq交流群:69574955 聚义堂-网页制作交
  */

 代码如下 复制代码

class data {
 public   $data_dir    = "class/"; //备份文件存放的路径
 public   $transfer     ="";   //临时存放sql[切勿不要对该属性赋值,否则会生成错误的sql语句]

/**
 *数据库连接
 *@param string $host 数据库主机名
 *@param string $user 用户名
 *@param string $pwd  密码
 *@param string $db   选择数据库名
 *@param string $charset 编码方式
 */
 function connect_db($host,$user,$pwd,$db,$charset='gbk'){
  if(!$conn = mysql_connect($host,$user,$pwd)){
   return false;
  }
  mysql_select_db($db);
  mysql_query("set names $charset");
  return true;
 }

/**
 * 生成sql语句
 * @param   $table     要备份的表
 * @return  $tabledump 生成的sql语句
 */
 public function set_sql($table,$subsection=0,&$tabledom=''){
  $tabledom .= "drop table if exists $table ";
  $createtable = mysql_query("show create table $table");
  $create = mysql_fetch_row($createtable);
  $create[1] = str_replace(" ","",$create[1]);
  $create[1] = str_replace(" ","",$create[1]);

  $tabledom  .= $create[1]."; ";

  $rows = mysql_query("select * from $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  $n = 1;
  $sqlarry = array();
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tabledom  .= "insert into $table values(";
     for($i = 0; $i < $numfields; $i++)
     {
    $tabledom  .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
    $tabledom  .= ") ";
     if($subsection != 0 && strlen($this->transfer )>=$subsection*1000){
       $sqlarry[$n]= $tabledom;
       $tabledom = ''; $n++;
     }
  }
  return $sqlarry;
   }

/**
 *列表数据库中的表
 *@param  database $database 要操作的数据库名
 *@return array    $dbarray  所列表的数据库表
 */
 public function get_db_table($database){
  $result = mysql_list_tables($database);
  while($tmparry = mysql_fetch_row($result)){
   $dbarry[]  = $tmparry[0];
  }
  return $dbarry;
 }

/**
 *验证目录是否有效
 *@param diretory $dir
 *@return booln
 */
 function check_write_dir($dir){
  if(!is_dir($dir)) {@mkdir($dir, 0777);}
  if(is_dir($dir)){
   if($link = opendir($dir)){
    $filearry = scandir($dir);
    for($i=0;$i<count($filearry);$i++){
     if($filearry[$i]!='.' || $filearry != '..'){
      @unlink($dir.$filearry[$i]);
     }
    }
   }
  }
  return true;
 }
/**
 *将数据写入到文件中
 *@param file $filename 文件名
 *@param string $str   要写入的信息
 *@return booln 写入成功则返回true,否则false
 */
 private function write_sql($filename,$str){
  $re= true;
  if(!@$fp=fopen($filename,"w+")) {$re=false; echo "在打开文件时遇到错误,备份失败!";}
  if(!@fwrite($fp,$str)) {$re=false; echo "在写入信息时遇到错误,备份失败!";}
  if(!@fclose($fp)) {$re=false; echo "在关闭文件 时遇到错误,备份失败!";}
  return $re;
 }

/**
 *生成sql文件
 *@param string $sql sql    语句
 *@param number $subsection 分卷大小,以kb为单位,为0表示不分卷
 */
     public function export_sql($table,$subsection=0){
      if(!$this->check_write_dir($this->data_dir)){echo '您没有权限操作目录,备份失败';return false;}
      if($subsection == 0){
       if(!is_array($table)){
    $this->set_sql($table,0,$this->transfer);
   }else{
    for($i=0;$i<count($table);$i++){
     $this->set_sql($table[$i],0,$this->transfer);
    }
   }
       $filename = $this->data_dir.date("ymd",time()).'_all.sql';
       if(!$this->write_sql($filename,$this->transfer)){return false;}
      }else{
       if(!is_array($table)){
    $sqlarry = $this->set_sql($table,$subsection,$this->transfer);
    $sqlarry[] = $this->transfer;
   }else{
    $sqlarry = array();
    for($i=0;$i<count($table);$i++){
     $tmparry = $this->set_sql($table[$i],$subsection,$this->transfer);
     $sqlarry = array_merge($sqlarry,$tmparry);
    }
    $sqlarry[] = $this->transfer;
   }
       for($i=0;$i<count($sqlarry);$i++){
        $filename = $this->data_dir.date("ymd",time()).'_part'.$i.'.sql';
        if(!$this->write_sql($filename,$sqlarry[$i])){return false;}
       }
      }
      return true;
    }
/**
 *载入sql文件
 *@param diretory $dir
 *@return booln
 *注意:请不在目录下面存放其它文件,或者目录
 *以节省恢复时间
 */
    public function import_sql($dir){
  if($link = opendir($dir)){
   $filearry = scandir($dir);
    $pattern = "_part[0-9]+.sql$|_all.sql$";
   for($i=0;$i<count($filearry);$i++){
    if(eregi($pattern,$filearry[$i])){
     $sqls=file($dir.$filearry[$i]);
     foreach($sqls as $sql){
      str_replace(" ","",$sql);
      str_replace(" ","",$sql);
      if(!mysql_query(trim($sql))) return false;
     }
    }
   }
   return true;
  }
    }

}

 

应用方法

 代码如下 复制代码

//$d = new data();

//连接数据库
//if(!$d->connect_db('localhost','root','','guestbook','gbk')){
// echo '数据库连接失败';
//}

//查找数据库内所有数据表
//$tablearry = $d->get_db_table('guestbook');

//备份并生成sql文件
//if(!$d->export_sql($tablearry)){
// echo '备份失败';
//}else{
// echo '备份成功';
//}

//恢复导入sql文件夹
//if($d->import_sql($d->data_dir)){
// echo '恢复成功';
//}else{
// echo '恢复失败';
//}

 /***
  * 说明,该类适用于小型的网站的数据库教程备份,内置mysql连接,只需要简单配置数据连接
  * 及存贮备份的位置即可。
  * 类中show_dir_file() 方法可直接返回备份目录下的所有文件,返回以数组形式
  * 方法 expord_sql() 直接生成sql文件
  * 该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾
  * 制作人:游天小虾
  * emial:328742379@qq.com
  * **/

class data {
 public   $data_dir    = "class/";     //备份文件存放的路径
 public   $data_name   = "111cnnet.sql";   //备份文件名
 private  $mysql_host  = "localhost";    //数据库地址
 private  $mysql_user  = "root";     //用户名
 private  $mysql_pwd   = "lpl19881129";    //密码
 private  $mysql_db    = "date";     //数据库名
 private  $mysql_code  = "gbk";      //编码方式

/***
 * 1.连接数据库
 * **/
 function __construct(){
  $conn = mysql_connect($this->mysql_host,$this->mysql_user,$this->mysql_pwd);
  mysql_select_db($this->mysql_db);
  mysql_query("set names $this->mysql_code");
 }

/***
 * 2.生成sql语句
 * **/
 private function set_sql($table){
  $tabledump = "drop table if exists $table; ";
  $createtable = mysql_query("show create table $table");
  $create = mysql_fetch_row($createtable);
  $tabledump .= $create[1]."; ";

  $rows = mysql_query("select * from $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tabledump .= "insert into $table values(";
     for($i = 0; $i < $numfields; $i++)
     {
    $tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
     $tabledump .= "); ";
  }
  $tabledump .= " ";

  return $tabledump;
   }

/***
 * 3.显示存放目录下已经备份的文件
 * **/
    public function show_dir_file() {
  $dir = $this->data_dir;
     if(!is_dir($dir)){
   if(!mkdir($dir)){
    echo "文件夹不存在,尝试创建文件夹,创建失败,可能是您没有相关权限";
    exit();
   }else{
    chmod($dir,755);
   }
     }

  if(!is_writable($dir)){
   echo " 文件不可写";
   exit();
  }

  $link = opendir($dir);
  if(!$link){
   echo "创建链接失败";
   exit();
  }
  return scandir($dir);
    }

/***
 * 4.生成sql文件
 * **/
    public function expord_sql(){
     $this->show_dir_file();
     $result = mysql_list_tables($this->mysql_db);
  while($arr = mysql_fetch_row($result)){
   $tables .= $this->set_sql($arr[0]);
  }
  $file = $this->data_dir.$this->data_name;
  $link = fopen($file,"w+");
  if(!is_writable($file)){
   echo "文件不可写";
   exit();
  }
  fwrite($link,$tables);
  fclose($link);
  echo "备份成功";
    }

}

Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。 Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

windows下的memcache安装:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:memcachedmemcached.exe -d install

’ 安装
3. 再输入: ‘c:memcachedmemcached.exe -d start’ 启动。note: 以后

memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完

毕了。
4.下载http://cmy2009.ihost.tw/download,(php_memcache地址)请自己查找对应的

php版本的文件
5. 在c:winntphp.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

memcached的基本设置:

-p 监听的端口
-l 连接的ip地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位mb。默认64mb
-m 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

memcache环境测试:
运行下面的php文件,如果有输出,就表示环境搭建成功。开始领略memcache的魅力把

 代码如下 复制代码

<?php

$memcache = memcache_connect('localhost', 11211);

if ($memcache) {
$memcache->set("str_key", "string to store in memcached");
$memcache->set("num_key", 123);

$object = new stdclass;
$object->attribute = 'test';
$memcache->set("obj_key", $object);

$array = array('assoc'=>123, 345, 567);
$memcache->set("arr_key", $array);

var_dump($memcache->get('str_key'));
var_dump($memcache->get('num_key'));
var_dump($memcache->get('obj_key'));
}
else {
echo "connection to memcached failed";
}
?>


为什么不使用数据库做这些?

暂且不考虑使用什么样的数据库(ms-sql, oracle, postgres, mysql教程-innodb, etc..), 实现事务(acid,atomicity, consistency, isolation, and durability )需要大量开销,特别当使用到硬盘的时候,这就意味着查询可能会阻塞。当使用不包含事务的数据库(例如mysql-myisam ),上面的开销不存在,但读线程又可能会被写线程阻塞。
memcached从不阻塞,速度非常快。

这是一个完整理的php+mysql+ajax的用户注册实例程序,可以提供检测用户名是否被注册,这样可以增强用户体验哦,在你填写好用户名后就会提供你当前所有注册的用户是否己经被注册了。

本程序包括三个文件

reg.html 用户注册html页面
reg.php php处理代码
conn.php 数据库教程连接文件


reg.html代码

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>php+ajax用户注册验证用户是否在存(php mysql完整实例)</title>
<style type="text/css教程">
body{
 font-size:12px;
 text-align:center;
}
.text{
 width:180px;
 height:12px;
}
p{
 width:600px;
 height:20px;
 line-height:20px;
 text-align:left;
}
p label{
 display:block;
 width:80px;
 height:20px;
 line-height:20px;
 float:left;
 text-align:right;
}
p span{
 margin-left:10px;
}
</style>
</head>
<body>
<script language="网页特效">
function createxmlhttprequest(){
 var xmlhttp;
 if(window.activexobject){
  xmlhttp = new activexobject("microsoft.xmlhttp");
 }else if(window.xmlhttprequest){
  xmlhttp = new xmlhttprequest();
 }
 return xmlhttp;
}

function checkname(){
 var name = document.getelementbyid('name'); //获取用户名文本框
 var span = document.getelementbyid('name_info'); //获取用于显示结果的span标记
 if(name.value.length <= 4){
  span.style.color = '#ff0000'; //设置span标记内的字体颜色为红色
  span.innerhtml = '用户名长度不能少于4个字符!'; //span标记内容
  return false;
 }
 var xmlhttp = createxmlhttprequest();//创建异步请求对象
 var time = new date().gettime();
 var url = 'reg.php?act=reg&name=' + name.value.tolowercase() + '&tmp=' + time;//构造出请求地址
 xmlhttp.open("get",url,true); //建立一个异步请求
 /*这里我们使用get方式请求
   post方式的请求基本差不多,朋友们自己试试如果不行,在下面给我留言*/
 xmlhttp.onreadystatechange = function(){ //监视请求状态
  span.style.color = '#ff9900';
  span.innerhtml = '查询中,请稍候!';
  if(xmlhttp.readystate == 4 && xmlhttp.status == 200){
   if(xmlhttp.responsetext.indexof('no') != -1){ //如果服务器返回的信息中有no
    span.style.color = '#cb2121'; //设置span标记颜色为红色
    span.innerhtml = '用户名[' + name.value + ']已经被别的用户使用!';
   }else{//如果返回信息中没有no
    span.style.color = '#00a800';//设置颜色为绿色
    span.innerhtml = '恭喜您,该用户名未被注册!';
   }
   return true;
   delete xmlhttp; //删除请求对象
  }
 }
 xmlhttp.send(null); //发送请求
}
</script>
<form method="post" action="reg.php">
<p><label>用户名:</label><input type="text" class="text" id="name" name="user_name"/><span id="name_info"></span></p>
<p><label></label><input type="button" value="检查用户名" onclick="checkname()"/></p>
<p><label>密码:</label><input type="password" class="text" /></p>
<p><label>&nbsp;</label><input type="submit" value="注册" /></p>
</form>
</body>
</html>

reg.php文件

 代码如下 复制代码


<?php

include("conn.php");
$name=$_get['name'];
$name=urldecode($name);

if(strlen($name)>0){
 $sql="select username from registration where username = '$name'";
 $result=mysql_query($sql);
 $row=mysql_fetch_array($result);
 
 if($_get['act'] == 'reg'){
  if(!empty($row['username'])){ //只要注册用户名为kaixin的时候,注册页面就会用红色字体提示次用户已被注册!
  echo 'no';
  }else{
  echo 'yes';
  }
 }
}
?>

conn.php数据库文件

 代码如下 复制代码
<?php
/* created on 下午12:08:25*/
 $conn=@mysql_connect("localhost","root","")or die("111cn.net提示你:连接失败!");
 mysql_select_db("reg",$conn);
 mysql_query("set names 'gbk'");
?>

registration数据表结构

-- phpmyadmin sql dump
-- version 2.11.2.1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2009 年 05 月 20 日 05:29
-- 服务器版本: 5.0.45
-- php 版本: 5.2.5

set sql_mode="no_auto_value_on_zero";

--
-- 数据库: `reg`
--

-- --------------------------------------------------------

--
-- 表的结构 `registration` phpmyadmin导入数据
--

 代码如下 复制代码

create table `registration` (
  `id` tinyint(6) not null auto_increment,
  `username` varchar(14) not null comment '注册用户名',
  `userpwd` varchar(14) not null comment '注册密码',
  primary key  (`id`)
) engine=innodb  default charset=gb2312 auto_increment=6 ;

--


-- 导出表中的数据 `registration`
--

 代码如下 复制代码

insert into `registration` (`id`, `username`, `userpwd`) values
(1, 'admin', 'admin888'),
(2, 'lyn', '111cn.net'),
(3, 'xiaot', 'xiaot'),
(4, 'xiaoe', 'xiaoe'),
(5, '我爱www.111cn.net', '5201314110');

 

$login = "root";
$passwd = "mysql教程";
try{
  $db=new pdo('mysql:host=localhost;dbname=mysql',$login,$passwd);
  foreach($db->query('select * from test') as $row){
  print_r($row);
  }
  $db=null;
}catch(pdoexception $e){
  echo $e->getmessage();
}

看一个高级一点的

$dbms='mysql'; //数据库类型 oracle 用odi,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了
$host='localhost'; //数据库主机名
$dbname='test'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbname";
class db extends pdo {  
 public function __construct(){       
 try {            
 parent::__construct("$globals[dsn]", $globals['user'], $globals['pass']);        
 } catch (pdoexception $e) {        
  die("error: " . $e->__tostring() . "<br/>");      
  }   
  }       
 public final function query($sql){       
 try {          
  return parent::query($this->setstring($sql));       
  }catch (pdoexception $e){           
  die("error: " . $e->__tostring() . "<br/>");      
   }   
   }       
   private final function setstring($sql){       
   echo "我要处理一下$sql";       
   return $sql;    }}
   $db=new db();
   $db->setattribute(pdo::attr_case, pdo::case_upper);
   foreach ($db->query('select * from xxxx_menu') as $row) {   
   print_r($row);
   }
   $db->exec('delete from `xxxx_menu` where mid=43');

/*
关于pdo说明

pod(php data object)扩展在php5中加入,php6中将默认识用pdo连接数据库,所有非pdo扩展将会在php6被从扩展中移除。该扩展提供php内置类 pdo来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
我是配置在windows下做开发用的。
■pdo的目标

提供一种轻型、清晰、方便的 api
统一各种不同 rdbms 库的共有特性,但不排除更高级的特性。
通过 php 脚本提供可选的较大程度的抽象/兼容性。
■pdo的特点:

性能。pdo 从一开始就吸取了现有数据库扩展成功和失败的经验教训。因为 pdo 的代码是全新的,所以我们有机会重新开始设计性能,以利用 php 5 的最新特性。
能力。pdo 旨在将常见的数据库功能作为基础提供,同时提供对于 rdbms 独特功能的方便访问。
简单。pdo 旨在使您能够轻松使用数据库。api 不会强行介入您的代码,同时会清楚地表明每个函数调用的过程。
运行时可扩展。pdo 扩展是模块化的,使您能够在运行时为您的数据库后端加载驱动程序,而不必重新编译或重新安装整个 php 程序。例如,pdo_oci 扩展会替代 pdo 扩展实现 oracle 数据库 api。还有一些用于 mysql、postgresql、odbc 和 firebird 的驱动程序,更多的驱动程序尚在开发。
*/

[!--infotagslink--]

相关文章

  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • c#异步读取数据库与异步更新ui的代码实现

    这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
  • Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
  • springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-10
  • MYSQL数据库使用UTF-8中文编码乱码的解决办法

    1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • PHP连接公司内部服务器的MYSQL数据库的简单实例

    “主机,用户名,密码”得到连接、“数据库,sql,连接”得到结果,最后是结果的处理显示。当然,数据库连接是扩展库为我们完成的,我们能做的仅仅是处理结果而已。...2013-09-29
  • C#连接加密的Sqlite数据库的方法

    对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密,下面通过本文给大家介绍C#连接加密的Sqlite数据库的方法,感兴趣的朋友一起看看吧...2020-06-25
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • 深入分析C#连接Oracle数据库的连接字符串详解

    本篇文章是对C#连接Oracle数据库的连接字符串进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • 修改MySQL数据库中表和表中字段的编码方式的方法

    今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输...2014-05-31