(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;
原文地址:https://www.cnblogs.com/buchizaodian/p/8353783.html