zoukankan      html  css  js  c++  java
  • SQLite3学习笔记(1)

    命令:

    DDL-数据定义:

    CREATE -- 创建一个新的表,一个表的视图,或者数据库中的其他对象

    ALTER -- 修改数据库中的某个已有的数据对象,比如一个表

    DROP -- 删除整个表,或者表的视图,或者数据库中的其他对象

    DML - 数据操作:

    INSERT -- 创建一条记录

    UPDATE -- 修改记录

    DELETE -- 删除记录

    DQL - 数据查询:

    SELECT -- 从一个或多个表中检索某些记录


    可以使用 . help 命令来获取各种重要的SQLite 点命令的列表;

    可以使用 .show 命令来获取SQLite命令提示符的默认设置;

    sqlite> .show
            echo: off
             eqp: off
         explain: auto
         headers: off
            mode: list
       nullvalue: ""
          output: stdout
    colseparator: "|"
    rowseparator: "
    "
           stats: off
           
        filename: :memory:
    .show

    也可以使用属性的方法改变设置

    sqlite>.header on
    sqlite>.mode column
    sqlite>.timer on
    View Code

    SQLite 存储类:

    NULL 值是一个 NULL 值
    INTEGER 值是一个带符号的整数根据值的大小,存储在 1、2、3、4、6 或 8 字节中。
    REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
    TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
    BLOB

    值是一个 blob 数据,完全根据它的输入存储。



    使用命令 sqlite3 testDB.db 来创建一个新的数据库

    E:SQLite3>sqlite3 testDB.db
    SQLite version 3.25.0 2018-09-15 04:01:47
    Enter ".help" for usage hints.

    一旦数据库被创建,就可以使用 .databases 命令来查看它是否在数据库列表中

    sqlite> .databases
    main: E:SQLite3	estDB.db

    可以使用 .quit 命令退出 sqlite提示符

    sqlite> .quit
    
    E:SQLite3>

    可以在命令行中使用 SQLite.dump 点命令来导出完整的数据库在一个文本文件中

    E:SQLite3>sqlite3 testDB.db .dump > testDB.sql

    上面的命令将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 testDB.sql 中。你可以通过简单的方式从生产的testDB.db 恢复

    E:SQLite3>sqlite3 testDB.db < testDB.sql

    此时的数据库是空的,一旦数据库中有表和数据,可以进行尝试。


    如果想要附加一个现有的数据库 testDB.db ,则 ATTACH DATABASE 语句将如下所示

    sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';

    使用 .database 命令来显示附加的数据库

    sqlite> .database
    main:
    TEST: E:SQLite3	estDB.db

    数据库名称 main 和temp 被保留用于主数据库和存储临时表及其它临时数据对象的数据库。这两个数据库名称可以用于每个数据库连接,且不应该被用于附加,否则将得到一个警告消息。


    SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离 main 或 temp 数据库。

    如果数据库是在内存中或者是临时数据库,则该数据库将被摧毁,且内容将会丢失。

    SQLite 的 DETACH DATABASE 的基本语句的基本语法如下:

    DETACH DATABASE 'Alias-Name';

    假设已经创建一个数据库并给他附加了‘TEST’ 和 ‘XING',使用.database 命令,我们可以看到如下:

    main:
    TEST: E:SQLite3	estDB.db
    XING: E:SQLite3	estDB.db

    现在尝试把'XING' 从 testDB.db 中分离出来,如下:

    sqlite> DETACH DATABASE 'XING';

    如果现在再次检查,会发现testDB.db 任与 main 保持连接

    sqlite> .database
    main:
    TEST: E:SQLite3	estDB.db

  • 相关阅读:
    Linux命令发送Http的get或post请求(curl和wget两种方法)
    大数据面试题以及答案整理(一)
    大数据面试题及答案-汇总版
    Linux shell之打印输出
    Java开发中常见的危险信号(上)
    sencha touch笔记(5)——DataView组件(1)
    sencha touch(7)——list组件
    sencha touch笔记(6)——路由控制(1)
    [置顶] Android源码分析-点击事件派发机制
    UVa 10330 Power Transmission / 最大流
  • 原文地址:https://www.cnblogs.com/jxxclj/p/9662700.html
Copyright © 2011-2022 走看看