zoukankan      html  css  js  c++  java
  • 学习SQLite之路(一)

     

      工作快一年了,接触的东西不是很多,学到的东西也不多。无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试。

     参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 

    20160612 更新

    1,什么是SQLite?

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库。

    2.SQLite的优势

    • 不需要一个单独的服务器进程或操作的系统(无服务器的)。

    • SQLite 不需要配置,这意味着不需要安装或管理。

    • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

    • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

    • SQLite 是自给自足的,这意味着不需要任何外部的依赖。

    • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

    • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

    • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。

    • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行

    3.SQLite命令: 跟其他数据库语言一样

    (1)DDL(数据定义语言): create  drop  alter

    (2)DML(数据操纵语言): delete  update  insert

    (3)DQL(数据查询语言): select

     4.SQLite的安装

    在windows里不需要安装,在http://www.sqlite.org/download.html 这里下载 sqlite-tools-win32-x86-3130000.zip 这个东西。

    我以我的为例:

    在F盘创建一个文件夹sqlite3,将下载的文件解压,会有三个文件(sqlite3.exe  sqldiff.exe  sqlite3_analyzer.exe),直接放在sqlite3目录下就可以了。

    运行: 运行cmd.exe 然后切换到F盘的sqlite3文件夹。就可以直接运行了。

    20160614 更新

    1.SQLite命令:我们在命令提示符下键入一个简单的 sqlite3 命令,在 SQLite 命令提示符下,您可以使用各种 SQLite 命令。

    就像这样:

    2.需获取可用的点命令的清单,可以在任何时候输入 ".help",再回车就可以。

    3.查看 SQLite 命令提示符的默认设置:   .show

    还可以进行设置:就像下面这样(具体可以参考: http://blog.csdn.net/wirelessqa/article/details/21030147 

    4.先说一个命令: 

    .read  ***(一个数据文件)

    比如说我在sqlite3目录下新建一个文档:  create_company.txt

    里面的内容是:

    drop table company; -- 删除表
    create table company(  --  创建表  这个表示单行注释
    ID int primary key not NULL,  /* 这个是多行注释 */
    NAME TEXT NOT NULL,
    AGE INT NOT NULL,
    ADDRESS CHAR(50),
    SALARY REAL
    );

    然后:.read create_company.txt   /* 就相当于直接运行了create_company.txt里面的语句 */

    5. SQLite语法:SQLite 是遵循一套独特的称为语法的规则和准则

    (具体后面用到时再分析)

    6. SQLite数据类型:数据类型是一个用来指定任何对象的数据类型的属性

    可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。

    (1)SQLite存储类:主要有以下几种,冒号后面是解释

    NULL:  一个NULL值

    INTEGER: 一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中

    REAL:浮点数,存储为8字节的IEEE浮点数字

    TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE等)存储

    GLOB:blob数据,完全根据它的输入存储(这个我也不是很理解

    (2)布尔数据类型: 没有专门的布尔数据,只有0和1

    7. 创建数据库:

    (1)基本语法如下: sqlite>sqlite3 testDB.db

     (2).dump 命令:导出完整的数据库在一个文本文件中

    如:sqlite> testDB,db .dump > testDB,sql   /*  将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 testDB.sql 中  */

    恢复: sqlite> testDB,db  < testDB,sql   /*   从生成的 testDB.sql 恢复   */

     

  • 相关阅读:
    [CF1336C] Kaavi and Magic Spell
    [CF1338C] Perfect Triples
    [CF1353F] Decreasing Heights
    [CF1442B] Identify the Operations
    [CF1354E] Graph Coloring
    [CF1364D] Ehab's Last Corollary
    php-fpm和fastcgi的区别
    phpredis实现互斥锁
    关于lnmp情况下PHP单线程的理解
    客户端断开链接以后 PHP执行过程实测
  • 原文地址:https://www.cnblogs.com/xcywt/p/5578890.html
Copyright © 2011-2022 走看看