欢迎来到代码驿站!

当前位置:首页 >

SQLite - 判断表是否存在(附php样例)

时间:2020-05-14 10:00:21|栏目:|点击:

本文举例说明使用 SQLite3 数据库时,对表(Table)是否存在的判断思路,并用php举例操作说明。

1,如果表不存在的时候则创建
下面 sql 执行后首先判断 t_user 这张表是否存在,如果不存在则新建。

CREATE TABLE IF NOT EXISTS t_user(uid integer primary key,uname varchar(20),mobile varchar(20))

2,判断表是否存在
SELECT count(*) FROM sqlite_master WHERE type="table" AND name = "t_user"

下面是一段 php样例代码(这里使用了第三方的 SQLiteDB 库):
<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('SQLite.db');
      }
   }
   
   //创建或连接数据库
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully".PHP_EOL;
   }
   
   //创建表
   $sSQL = <<<EOF
CREATE TABLE IF NOT EXISTS t_user(uid integer primary key,uname varchar(20),mobile varchar(20));
EOF;
   
   $ret = $db->exec($sSQL);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo "Table(t_user) created successfully".PHP_EOL;
   }
   
   //判断表是否存在
   $sSQL = <<<EOF
SELECT count(*) as UDS_COUNT FROM sqlite_master WHERE type='table' AND name = 't_user';
EOF;

   $ret = $db->query($sSQL);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      $count = 0;
      while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      	$count = $row['UDS_COUNT'];
      }
      if($count>0){
        echo "Table(t_user) exist".PHP_EOL;
      }
      else{
      	echo "Table(t_user) not exist".PHP_EOL;
      }
   }
   
   //关闭数据库
   $db->close();
?>

执行结果:

Opened database successfully
Table(t_user) created successfully
Table(t_user) exist


上一篇:nodejs中 require 方法的加载规则

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

本文标题:SQLite - 判断表是否存在(附php样例)

本文地址:http://www.codeinn.net/misctech/2271.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有