• SQLite 数据库的一些基本操作

    基本使用方法
    服务器君一共花费 437.592 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    前面简要的介绍了一下SQLite数据库,下面我们通过操作来了解一下这个数据库的使用。

    1. 下载SQLite数据库。

    地址是 http://sqlite.org/download.html。我这里是 Win 7,所以选择了 Precompiled Binaries for Windows 下面的 sqlite-shell-win32-x86-3080704.zip 与 sqlite-analyzer-win32-x86-3080704.zip。前者是SQLite数据库引擎,后者是SQLite数据库分析器,主要用于分析数据库的状态等信息。下载完成后分别解压,得到两个可执行文件,如图:

    这两个文件可以根据自己的喜好放置在指定的位置,我将其放在E:\SQLite目录下。

    2. 创建一个数据库

    Microsoft Windows [版本 6.1.7601]
    版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
    
    C:\Users\nowamagic>E:
    
    E:\>cd SQLite
    
    E:\SQLite>sqlite3 nowamagic.db
    SQLite version 3.8.7.4 2014-12-09 01:34:36
    Enter ".help" for usage hints.
    sqlite> .database
    seq  name             file
    
    ---  ---------------  ----------------------------------------------------------
    
    0    main             E:\SQLite\nowamagic.db
    
    sqlite>
    

    我们执行了sqlite3命令,参数就是数据库的名称,如果该数据库已存在,则使用,如果不存在,则新建一个,这里我们简单的在当前位置创建了nowamagic.db,效果可以参看上图,你也可以在任何存在的并且可写的目录下创建自己的数据库。

    3. 创建一个数据表

    sqlite> CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20
    ), age SMALLINT);
    sqlite> .tables
    user
    sqlite> .schema user
    CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S
    MALLINT);
    

    创建表之后,可以用“.tables”命令去查看已有的表,用“.schema”命令去查看表的结构,如果后面没有表名做参数,则将会输出所有表的建表语句。

    4. 插入数据

    sqlite> INSERT INTO user VALUES (NULL, 'volen', 20);
    sqlite> SELECT * FROM user;
    1|volen|20
    

    5. 从.sql文件导入数据

    sqlite> .read nm.sql
    
    sqlite> SELECT * FROM user;
    1|volen|20
    2|alen|18
    3|lulie|17
    sqlite>
    

    nm.sql文件内容为:

    INSERT INTO user VALUES (NULL, 'alen', 18);
    INSERT INTO user VALUES (NULL, 'lulie', 17);
    

    6. 备份数据库

    备份 SQLite 数据库有两种方法。如果数据库正在使用中,则应从命令行界面使用 .dump 命令。这样可以创建一个包含必要命令和数据的文件,从而重新创建数据库。.dump 命令也可以用于备份数据库表。

    E:\SQLite>sqlite3 nowamagic.db
    SQLite version 3.8.7.4 2014-12-09 01:34:36
    Enter ".help" for usage hints.
    sqlite> .dump
    PRAGMA foreign_keys=OFF;
    BEGIN TRANSACTION;
    CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S
    MALLINT);
    INSERT INTO "user" VALUES(1,'volen',20);
    INSERT INTO "user" VALUES(2,'alen',18);
    INSERT INTO "user" VALUES(3,'lulie',17);
    DELETE FROM sqlite_sequence;
    INSERT INTO "sqlite_sequence" VALUES('user',3);
    COMMIT;
    sqlite>
    

    我们可以指定输出的目标为一个文件,然后再使用命令时,输出信息就会写入指定的文件,如果想恢复为标准输出,可以这样设定:

    sqlite> .output stdout
    sqlite> .dump
    PRAGMA foreign_keys=OFF;
    BEGIN TRANSACTION;
    CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age S
    MALLINT);
    INSERT INTO "user" VALUES(1,'volen',20);
    INSERT INTO "user" VALUES(2,'alen',18);
    INSERT INTO "user" VALUES(3,'lulie',17);
    DELETE FROM sqlite_sequence;
    INSERT INTO "sqlite_sequence" VALUES('user',3);
    COMMIT;
    sqlite>
    

    如果数据库没有处于使用状态,则可以直接将数据库文件复制到安全位置。

    最后,我们可以使用“.quit”或“.exit”退出SQLite。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [智力开发与知识管理] 学习编程为什么没会这么难? 7 个条目
  2. [移动开发] Android Studio里的Gradle 3 个条目
  3. [移动开发] Android布局基本知识 3 个条目
  4. [PHP程序设计] PHP里的引用 5 个条目
  5. [Python程序设计] Python数据类型 11 个条目
  6. [Python程序设计] Python Web部署的背景知识 9 个条目
  7. [移动开发] Android 开发调试工具 ADB 3 个条目
  8. [PHP程序设计] PHP数组探索 4 个条目
  9. [Python程序设计] Django模板系统 11 个条目
  10. [Python程序设计] Tornado 服务器环境配置 3 个条目
  11. [PHP程序设计] 对输入文件类型的检测 1 个条目
  12. [移动开发] Android开发基础知识 4 个条目
窗口 -- [博客]