美文网首页
php操作SQLite基础

php操作SQLite基础

作者: 狂暴小绵羊 | 来源:发表于2019-04-29 00:11 被阅读0次

SQLite-PHP

SQLite 为轻量级的数据库。没SQL server那么复杂。虽然Apache自带MySql。但是本着技多不压身的原则学习一波。
学习操作数据库,关键四点,增、删、改、查。

连接数据库

    如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象

<?php
  //定义继承SQLite模块名为MyDB的类
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   //判断连接或创建数据库成功
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
?>

创建表

    在先前创建的数据库中创建一个表

<?php
  //定义继承SQLite模块名为MyDB的类
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
   //定义sql语句
   $sql =<<<EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY     NOT NULL,
      NAME           TEXT    NOT NULL,
      AGE            INT     NOT NULL,
      ADDRESS        CHAR(50),
      SALARY         REAL);
   EOF;

  //调用SQLit3模块的额exec()方法执行$sql语句
   $ret = $db->exec($sql);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo "Table created successfully\n";
   }
   $db->close();
?>

INSERT 操作

<?php
 class MyDB extends SQLite3
 {
    function __construct()
    {
       $this->open('test.db');
    }
 }
 $db = new MyDB();
 if(!$db){
    echo $db->lastErrorMsg();
 } else {
    echo "Opened database successfully\n";
 }
//定义sql语句
 $sql =<<<EOF
    //INSERT INTO 表名(键名,键名,....) VALUES(键值,键值,....);
    INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (1, 'Paul', 32, 'California', 20000.00 );

    INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (2, 'Allen', 25, 'Texas', 15000.00 );

    INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );

    INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
EOF;
////调用SQLit3模块的额exec()方法执行$sql语句
 $ret = $db->exec($sql);
 if(!$ret){
    echo $db->lastErrorMsg();
 } else {
    echo "Records created successfully\n";
 }
 $db->close();
?>

SELECT 操作

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }

   $sql =<<<EOF
    //SEKECT 键名 from 表名
    // * 代表全部
      SELECT * from COMPANY;
EOF;

   $ret = $db->query($sql);
   //循环遍历数组
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "<p>";
      echo "ID = ". $row['ID'] . "\n";
      echo "NAME = ". $row['NAME'] ."\n";
      echo "ADDRESS = ". $row['ADDRESS'] ."\n";
      echo "SALARY =  ".$row['SALARY'] ."\n\n";
      echo "</P>";
   }
   echo "Operation done successfully\n";
   $db->close();
?>

UPDATE 操作

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }


   $sql =<<<EOF
      //UPDATE 表名 set 需修改的键名 = 值 where (ID=1 为用于定位的键名和键值)
      UPDATE COMPANY set SALARY = 25000.00 where ID=1;
EOF;


   $ret = $db->exec($sql);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo $db->changes(), " Record updated successfully\n";
   }

   $sql =<<<EOF
      SELECT * from COMPANY;
EOF;
   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "ID = ". $row['ID'] . "\n";
      echo "NAME = ". $row['NAME'] ."\n";
      echo "ADDRESS = ". $row['ADDRESS'] ."\n";
      echo "SALARY =  ".$row['SALARY'] ."\n\n";
   }
   echo "Operation done successfully\n";
   $db->close();
?>

DELETE 操作

<?php
 class MyDB extends SQLite3
 {
    function __construct()
    {
       $this->open('test.db');
    }
 }
 $db = new MyDB();
 if(!$db){
    echo $db->lastErrorMsg();
 } else {
    echo "Opened database successfully\n";
 }

 $sql =<<<EOF
  //DELETE from 表名 where (ID=2 为用于定位的键名和键值)
    DELETE from COMPANY where ID=2;
EOF;

 $ret = $db->exec($sql);
 if(!$ret){
   echo $db->lastErrorMsg();
 } else {
    echo $db->changes(), " Record deleted successfully\n";
 }

 $sql =<<<EOF
    SELECT * from COMPANY;
EOF;
 $ret = $db->query($sql);
 while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
    echo "ID = ". $row['ID'] . "\n";
    echo "NAME = ". $row['NAME'] ."\n";
    echo "ADDRESS = ". $row['ADDRESS'] ."\n";
    echo "SALARY =  ".$row['SALARY'] ."\n\n";
 }
 echo "Operation done successfully\n";
 $db->close();
?>

该案例来源于菜鸟教程网,附上本人理解。如需更详细的请移步菜鸟教程

相关文章

  • php操作SQLite基础

    SQLite-PHP SQLite 为轻量级的数据库。没SQL server那么复杂。虽然Apache自带MySq...

  • SQLite

    SQLite 基础知识 SQLite 列操作 sqlite中不支持删除列的操作,也不能够修改主键。 从上图可见,S...

  • SQLite - PHP

    SQLite - PHP 安装 自 PHP 5.3.0 起默认启用 SQLite3 扩展。可以在编译时使用 --w...

  • laravel 实战之 - 登录首页

    laravel 实战之 - 登录首页 前言 实战环境操作系统:centOS 7数据库:sqlite3php:7.2...

  • SQLite使用总结

    SQLite数据库操作是移动开发中非常基础也非常重要的一部分,本文将从SQLite的概念到SQLite在iOS中的...

  • laravel 实战之 - 数据展示

    laravel 实战之 - 数据展示 前言实战环境操作系统:centOS 7数据库:sqlite3php:7.2l...

  • SQLite3深入浅出

    文章目录: sqlite3 基础语句 sqlite3 API sqlite3 线程安全 FMDB 基础语句: 创建...

  • 第二阶段:核心编程 - PHP基础语法

    menu: 一、php基础语法 PHP语法规则 PHP标记 注释 二、变量及操作 概念 声明变量 修改变量的值 删...

  • Sqlite 使用笔记

    1. 数据库基本操作封装 sqlite 数据操作 语句类型 sqlite 数据库的简单实用- 导入sqlite3数...

  • PHP基础

    PHP基础 这两天有个课程项目需要用PHP操作下数据库,学习完简单总结下PHP基本语法,以及操作数据库的代码,方便...

网友评论

      本文标题:php操作SQLite基础

      本文链接:https://www.haomeiwen.com/subject/dgzsnqtx.html