SQLite3数据库简介

◆SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头了. SQLite也迎来了一个版本 SQLite 3已经发布.  
 
◆SQLite是一款轻型的数据库,是遵守ACID的关系式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

创建SQLite数据库

在Linux命令行下,启动sqlite3
示例:sqlite3 mydb.txt
说明: 打开数据库文件mydb.txt,数据库名默认为main。如果mydb.txt不存在,则新建文件

附加数据库Attach

附加数据库Attach语句:
是指附加已经存在的数据库,使得多个数据库并存,由sqlite统一管理
命令格式: ATTACH [DATABASE] database-filename AS database-name
示例:

sqlite>attach database ‘mydb.dat’ as mydb注意:文件名有.符号,需要用引号(sqlite>表示这里是在linux下运行的)

分离数据库Detach语句
命令格式:DETACH [DATABASE] database-name

在附加数据库中添加一个与已有表同名的表是不允许的。但你可以附加带有与主数据库中的表同名的表的数据库。也可以多次附加同一数据库。使用database-name.table-name来引用附加数据库中的表

SQLite3点命令

命令 命令说明 备注
.database 查看数据库
.tables 查看数据库表有哪些?
.schema[表名] 查看所有或单表的结构
.output[file丨stdout] 将结果输出到文件或标准屏幕 .output file1.txt
.separator[分隔符] 设置列数据间的分隔符 .separator
.mode 改变输出格式 .mode insert tab
.mode column
.help 帮助
.quit 退出sqlite3命令行

SQLite数据库逻辑对象

表TABLE、索引INDEX、视图VIEW、触发器TRIGGER

SQLITE_MASTER表

查看数据库所有逻辑对象

sqlite>Select * from sqlite_master
sqlite>.schema sqlite_master
CREATE TABLE sqlite_master (type text,name text,tbl_name text,rootpage integer,sql text
);

SQL92标准

SQL-92概述

ISO/ANSI和IEC共同制定了针对数据库操作的结构化查询语言SQL,92年推出国际标准,称为SQL-92
各关系数据库厂家在遵循SQL-92标准基础上,在自己产品上扩展了SQL;比如:SQL SERVER-TSQL,ORACLE-PL/SQL等等

SQL92标准包含:
①数据定义语言(DDL):例如:CREATE、DROP、ALTER等语句。
②数据操作语言(DML):例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
③数据查询语言(DQL):例如:SELECT语句
④数据控制语言(DCL):例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句

SQLite不支持的特性

用户自定义函数,存储过程
外键的约束(不过可以通过自定义触发器来替代)
right out join/full out join
Grant/revoke

SQLite数据类型

数据类型 类型说明 兼容SQL92
NULL 空置
INTEGER 用来存储一个整数,根据大小可以使用1,2,3,4,6,8位 int,smallint
REAL IEEE浮点数 float,numeric
TEXT 按照字符串来存储 varchar,char
BLOB 按照二进制值存储

一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型;
TEXT: TEXT列使用NULL,TEXT或者BLOB存储任何插入到此列的数据,如果数据是数字,则转换为TEXT。
NUMERIC: NUMERIC列可以使用任何存储类型,它首先试图将插入的数据转换为REAL或INTEGER型的,如果成功则存储为REAL和INTEGER型,否则不加改变的存入。
INTEGER:和NUMERIC类似,只是它将可以转换为INTEGER值都转换为INTEGER,如果是REAL型,且没有小数部分,也转为INTEGER。
REAL: 和NUMERIC类型 只是它将可以转换为REAL和INTEGER值都转换为REAL。
NONE:不做任何改变的尝试。

SQLite3数据库相关推荐

  1. 【数据库】sqlite3数据库备份、导出方法汇总

    [数据库]sqlite3常用命令及SQL语句 目录 1.直接拷贝数据库 2.使用.backup .clone 1)交互式 2)脚本 3.导出到csv文件中(其它格式类似) 1)交互式 2)脚本 3)导 ...

  2. c从sqlite3数据库中获取数据,并对数据进行拼接

    c从sqlite3数据库中获取数据,并对数据进行拼接 函数功能 对数据库的操作 创建数据库: 创建USER表: 创建表内数据: 查看表内数据: 查看表结构: 函数实现 函数编译: 函数结果: 函数功能 ...

  3. 【Android 逆向】应用数据目录 ( files 数据目录 | lib 应用自带 so 动态库目录 | databases sqlite3 数据库目录 | cache 缓存目录 )

    文章目录 一.应用数据目录 /data/data/package.name/files 二.自带 so 动态库 /data/data/package.name/lib 三.数据库文件 /data/da ...

  4. python把数据写入excel_Python读写sqlite3数据库的方法并且将数据写入Excel的实例详解...

    这篇文章主要介绍了Python实现读写sqlite3数据库并将统计数据写入Excel的方法,涉及Python针对sqlite3数据库的读取及Excel文件相关操作技巧,需要的朋友可以参考下 本文实例讲 ...

  5. 导入xlsx,文件到sqlite3数据库

    导入xlsx,文件到sqlite3数据库 工作需要使用到本地数据库,需要把xlsx表里的数据导入到sqlite数据库里在将数据库放到app里来使用,看了下资料弄完了觉得挺简单的分享下 首先就是需要查看 ...

  6. 用java连接Excel和SQLite3,实现从excel文件读取数据并将其存入SQLite3数据库中

    java与Excel的连接用到了jxl.jar开源包,与SQLite3的连接用到了sqlitejdbc-v056.jar这个开源包,两个开源包打包下载:传送门 如果使用的eclipse做开发,解压后按 ...

  7. IOS开发基础之SQLite3数据库的使用增删改查

    IOS开发基础之SQLite3数据库的使用增删改查 ios开发我们可能会使用到数据库进行持久化存储.sqlite3 是轻量级的数据库. 今天我们来介绍sqlite3 数据库.此方法跟java的增删改查 ...

  8. [Android]AndroidInject增加sqlite3数据库映射注解(ORM)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3623050.html AndroidInject项目是我写的一 ...

  9. Sqlite3 数据库基本操作

    Sqlite3 数据库基本操作 1.sqlite3命令 **2.sqlite3编程接口:** 3.事务:一个或多个更改数据库的扩展 4.like和glob子句: 5.limit 和 offset 6. ...

  10. 使用python将数据存入SQLite3数据库

    Python从网站上抓取的数据为了可以重复利用,一般都会存储下来,存储方式最简单的会选择存储到文本文件,常见的有方式TXT.CSV.EXCEL等,还有一种方式是将数据存储到数据库,这样也方便管理,常见 ...

最新文章

  1. 查看计算机用户创建时间,敬业签在电脑端怎样查看团签内容的创建时间?
  2. 结合JDK源码看设计模式——策略模式
  3. 软件质量没有银弹:阿里巴巴的25个技术实践与坑
  4. 行为模式之State模式
  5. morality and strength
  6. Java 使用枚举类的实例
  7. SAP UI5库对浏览器类型检测的实现
  8. 庞伟(为奥运冠军名字作诗)
  9. Error: Cannot retrieve metalink for repository: epel.
  10. ArrayQueue详解(待解决)
  11. java扫描所有用户信息_监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息...
  12. 序列划分c语言,一篇“get”C语言八大排序算法
  13. 力扣-1046 最后一块石头的重量
  14. [转]安装 phpmyadmin 无法载入 mcrypt 扩展 Mcrypt库安装
  15. iOS 使用自定义字体
  16. 计算机窗口显示不出来的,任务栏不显示打开的窗口,详细教您打开的窗口在任务栏上显示不出来...
  17. 用户/账户/账号的理解
  18. java有除数为零_java语言中除数为零问题
  19. 搭建远程仓库(源)来托管 Sencha 包(Package)
  20. Scala编程学习之三-运算符篇

热门文章

  1. NetSuite 巧做打印模板
  2. 服务器怎么装虚拟打印机,pdfFactory pdf虚拟打印机安装使用教程[图文]
  3. PHP搞笑文字表情包在线制作网站源码
  4. 结构设计到项目管理:工程师是怎么练成的.
  5. 51单片机流水灯电路以及C代码
  6. 命令行进行ftp的登陆
  7. 摄像头云台的设计,组装与使用方法
  8. Android平台Cocos2dx打包流程
  9. 遗传算法应用于随机森林的调参过程
  10. oracle 12c 容器数据库公共用户去访问pdb数据库