txtSQL简单例子

本文介绍了使用txtSQL这款开源文本数据库的过程,包括创建数据库、表结构定义、数据插入及更新等基本操作,并展示了如何通过PHP脚本实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天为了文库的事情在学txtSQL,这款开源的文本数据库确实功能很强大。虽然还欠缺一些功能,不过也已经足够用了。一边看帮助手册一边写了一些简单的例子,等什么时候有空翻译一下他的帮助手册好了(里面还有一些错误需要修订)


<?php
   include('./txtSQL.class.php');
   $sql = new txtSQL('./data');
   $sql->connect('root', 'bar'); 
   
   /*创建数据库
   $sql->createdb(array('db' => 'demo')) or die('Error creating txtSQL DB, txtSQL said: '.$sql->get_last_error());
   */
  
  /*选择数据库*/
   $sql->selectdb ( 'demo' );
  
   /*创建表
   $columns = array('id'    => array('type' => 'int', 'auto_increment' => 1, 'permanent' => 1 ),
                 'name'  => array('type' => 'string', 'max' => 50), 
                 'email' => array('type' => 'string', 'max' => 50) 
                 );
   foreach($columns as $k => $v){
     echo "\$colums[$k]=";
     foreach($v as $k1 => $v1){
      echo "$k1:$v1 ";
     }
     echo "<br>";
  }
  
  $sql->execute('create table',array(
         'table' => 'table1',
         'columns' => $columns)) or die('建表发生错误:'.$sql->get_last_error());
  if($sql->table_exists('table1','demo')){
   echo "建表成功";
  }else{
   echo "建表失败";
  }
  */
  
  /*插入纪录
  $value = array(0 => array('name' => 'abc','email' => 'abc@123.com'),
         1 => array('name' => '123','email' => '123@bac.com'),
         2 => array('name' => 'df','email' => 'reg@bac.com'),
         3 => array('name' => 'trt','email' => 'hgh@bac.com'),
         4 => array('name' => 'tyty','email' => 'ytyt@bac.com')
  );
  for($i=0;$i<5;$i++){
   echo "\$value[$i]:";
   foreach($value[$i] as $k => $v){
     echo "[$k]=$v ";
   }
   echo "<br>";
  }
  for($i=0;$i<5;$i++){
   if(!$sql->execute('insert',array('table' => 'table1','values' => $value[$i] ))){
    die('An error occurred, txtSQL said: '.$sql->get_last_error()); 
   }else{
    echo "插入成功<br>";
   }
  } 
  */
  
  /*修改表数据
  $value = array('name' => 'abc','email' => 'aaa@123.com');
  if(!$sql->execute('update',array('table' => 'table1','where' => array('id = 1'),'values' => $value))){
   die('An error occurred, txtSQL said: '.$sql->get_last_error()); 
  }else{
   echo "修改成功";
  }
  */
  
  /*删除表内容
  $delete = array('table' => 'table1','where' => array('id > 1'));
  $delcount = $sql->execute('delete',$delete);
  echo $delcount;
  */
  
  /*显示表内容*/
  $select = array('table' => 'table1','orderby' => array('id','asc')/*,'where' => array('email =~ %bac%'),'limit' => array(0,9)*/);
  $data = $sql->execute('select',$select);
   echo "<table border=1><tr><th>id</th><th>name</th><th>email</th></tr>";
  foreach ( $data as $key => $row ) 
{ 
   echo "<tr>";
    foreach($row as $k => $v){
     echo "<td>$v</td>";
    }
   echo "</tr>";
}
 echo "</table>";
 
 echo "表内共有 ".$sql->table_count('table1')." 行<BR>";
 
 /*加入主键
 $sql->execute('alter table',array('table' => 'table1','action' => 'addkey','name' => 'id','values' => array('name' => 'id')));
 */
 
 echo "最后插入ID号:".$sql->last_insert_id('table1') ;
 
 $sql->disconnect();
?>
<title>Demo</title>


TXTSQL是一种文本数据库,文件存储方式类似mysql,兼容部分sql语句.   PHP需4.0以上版本才能运行。   官方网站:http://txtsql.com/ txtSQL简单例子(来源:http://smvcn.xhblog.com/archives/2007/259845.shtml)   <?php   include('./txtSQL.class.php');   $sql = new txtSQL('./data');   $sql->connect('root', 'bar');   /*创建数据库   $sql->createdb(array('db' => 'demo')) or die('Error creating txtSQL DB, txtSQL said: '.$sql->get_last_error());   */   /*选择数据库*/   $sql->selectdb ( 'demo' );   /*创建表   $columns = array('id' => array('type' => 'int', 'auto_increment' => 1, 'permanent' => 1 ),   'name' => array('type' => 'string', 'max' => 50),   'email' => array('type' => 'string', 'max' => 50)   );   foreach($columns as $k => $v){   echo "\$colums[$k]=";   foreach($v as $k1 => $v1){   echo "$k1:$v1 ";   }   echo "<br>";   }   $sql->execute('create table',array(   'table' => 'table1',   'columns' => $columns)) or die('建表发生错误:'.$sql->get_last_error());   if($sql->table_exists('table1','demo')){   echo "建表成功";   }else{   echo "建表失败";   }   */   /*插入纪录   $value = array(0 => array('name' => 'abc','email' => 'abc@123.com'),   1 => array('name' => '123','email' => '123@bac.com'),   2 => array('name' => 'df','email' => 'reg@bac.com'),   3 => array('name' => 'trt','email' => 'hgh@bac.com'),   4 => array('name' => 'tyty','email' => 'ytyt@bac.com')   );   for($i=0;$i<5;$i++){   echo "\$value[$i]:";   foreach($value[$i] as $k => $v){   echo "[$k]=$v ";   }   echo "<br>";   }   for($i=0;$i<5;$i++){   if(!$sql->execute('insert',array('table' => 'table1','values' => $value[$i] ))){   die('An error occurred, txtSQL said: '.$sql->get_last_error());   }else{   echo "插入成功<br>";   }   }   */   /*修改表数据   $value = array('name' => 'abc','email' => 'aaa@123.com');   if(!$sql->execute('update',array('table' => 'table1','where' => array('id = 1'),'values' => $value))){   die('An error occurred, txtSQL said: '.$sql->get_last_error());   }else{   echo "修改成功";   }   */   /*删除表内容   $delete = array('table' => 'table1','where' => array('id > 1'));   $delcount = $sql->execute('delete',$delete);   echo $delcount;   */   /*显示表内容*/   $select = array('table' => 'table1','orderby' => array('id','asc')/*,'where' => array('email =~ %bac%'),'limit' => array(0,9)*/);   $data = $sql->execute('select',$select);   echo "<table border=1><tr><th>id</th><th>name</th><th>email</th></tr>";   foreach ( $data as $key => $row )   {   echo "<tr>";   foreach($row as $k => $v){   echo "<td>$v</td>";   }   echo "</tr>";   }   echo "</table>";   echo "表内共有 ".$sql->table_count('table1')." 行<BR>";   /*加入主键   $sql->execute('alter table',array('table' => 'table1','action' => 'addkey','name' => 'id','values' => array('name' => 'id')));   */   echo "最后插入ID号:".$sql->last_insert_id('table1') ;   $sql->disconnect();   ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值