1. 概述

1.1 SQlite官网

1.2 简介

SQlite 是一个开源的嵌入式关系型数据库,是一个自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQlite3更是精巧只有几百K的大小,可以通过命令行直接对数据库进行增删改查的操作,且处理速度相对较快。

2.linux命令行操作

  • sqlite3键入命令进入SQlite3命令行模式
  • .open databaseName.db按数据库名称打开数据库,不存在则新建。注意命令以符号“.”开始。
  • 在数据库中创建一个表
format:

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

example:

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

  • .tables 打开数据库后的命令行模式下查询数据库下的所有表名称
  • .DROP TABLE tableName 按数据库的表名称删除表
  • .schema tableName 按数据库的表名称查看表的结构
  • 格式化打印数据库数据
sqlite> .header on			//显示列表名称
sqlite> .mode column		//格式化输出列(好看一点)
sqlite> .timer on			//加上run time
  • 增删改查
---------INSERT----------------------------------------

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );

---------SELECT-----------------------------------------

sqlite> SELECT * FROM COMPANY;				输出表内容 *代表全部
sqlite> SELECT ID FROM COMPANY;				输出部分列内容
sqlite> SELECT * FROM COMPANY WHERE SALARY > 10000 ; 		WHERE设置输出条件(AND/OR)
sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 );    	输出限定在数组内
sqlite> SELECT CURRENT_TIMESTAMP;
sqlite> select datetime('now','localtime');				显示当前系统时间

---------UPDATE------------------------------------------

sqlite> UPDATE COMPANY SET SALARY= '100000' WHERE ID = 2;	修改ID=2的薪水 不加where则批量改

---------DELETE----------------------------------

sqlite> DELETE FROM COMPANY;				删除表中所有数据
sqlite> DELETE FROM COMPANY WHERE ID = 1;  	删除表中ID=1的行数据  
                           

3. C/C++ API接口

菜鸟教程

更多推荐

linux sqlite3 使用教程