zoukankan      html  css  js  c++  java
  • (1)sqlite基础

    一、安装sqlite

    下载页面:http://www.sqlite.org/download.html

    1.下载 sqlite-tools-win32-*.zipsqlite-dll-win32-*.zip 压缩文件

    2.创建文件夹 C:sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件

    3.添加 C:sqlite 到 PATH 环境变量

    4.在命令行输入sqlite3

    二、常用命令

    1. 帮助指令

    sqlite>.help

    2.使用 .show 命令,来查看 SQLite 命令提示符的默认设置

    sqlite>.show
         echo: off
      explain: off
      headers: off 
         mode: column  
    nullvalue: ""
       output: stdout
    separator: "|"
        
    sqlite>

     3.退出shell

    sqlite>.quit

    三、语法

    1.大小写敏感性

      大多数不区分大小写

    2.注释

      -- 或者 /* */

     

    四、常用数据类型

    1.NULL

    2.INTEGER

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

    3.REAL

    值是一个浮点值,存储为 8 字节的 IEEE 浮点数字

    4.TEXT

    值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储

    5.BLOB

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

    五、创建数据库

    1.创建数据库/进入数据库

    在命令行下直接输入(注意不是进到sqlite3的shell里),如果存在则是进入数据库

    sqlite3.exe testDb.db

    2.查看当前数据库名

    sqlite>.databases

    3.备份数据库

    sqlite3.exe pda.db .dump> testDb.sql

    4.恢复数据库

    sqlite3.exe pda.db < testDb.sql

    5.附加数据库

    6.分离数据库

    六、创建表

    1.

    sqlite> CREATE TABLE COMPANY(
       ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL
    );

    2.查看当前表名

    sqlite>.tables

    3.删除表

    sqlite>DROP TABLE COMPANY;

    4.插入数据

    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 );

    5.查看数据

    sqlite>.header on   --显示的时候会在顶部显示列的名称
    
    sqlite>.mode column --显示的列会对齐
    
    sqlite> SELECT * FROM COMPANY;

    设置字段显示宽度

    sqlite>.width 10, 20, 10 --第一字段10,第二字段20....

    七、运算符、表达式   

    算术运算符、比较运算符、逻辑运算符   --暂略

    八、当前时间

    sqlite>  SELECT CURRENT_TIMESTAMP;
    CURRENT_TIMESTAMP = 2013-03-17 10:43:35

     九、更新

    sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 3;

    十、删除

    sqlite> DELETE FROM COMPANY WHERE ID = 1;

    清空表

    sqlite> DELETE FROM COMPANY;

    十一、通配符

    星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用

    SELECT FROM table_name WHERE column GLOB '*XXXX*' 
    SELECT FROM table_name WHERE column GLOB '????'

    十二、返回行数数量

    限制返回行数的数量

    sqlite> SELECT * FROM COMPANY LIMIT 2;

    十三、排序

    asc 正序  desc 倒序

    sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC, SALARY ASC;

    十四、分组

    sqlite>  SELECT NAME, SUM(SALARY)  FROM COMPANY GROUP BY NAME ORDER BY NAME DESC;

    十五、筛选

    出现过两次以上名字的所有数据

    sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;

    十六、排重

    sqlite> SELECT DISTINCT name FROM COMPANY;
  • 相关阅读:
    【转】理清基本的git(github)流程
    GIT CHEAT SHEET
    failed to push some refs to 'git@github.com:*/learngit.git'
    catch(…) vs catch(CException *)?
    char[]与TCHAR[]互相转换引发的一个问题!
    关于 AfxSocketInit()
    href="#"与href="javascript:void(0)"的区别
    Camera帧率和AE的关系(转)
    详细的摄像头模组工作原理!!!(转)
    高清摄像头MIPI接口与ARM处理器的连接(转)
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/8353783.html
Copyright © 2011-2022 走看看