SQLite3数据库

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
REALIEEE浮点数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:不做任何改变的尝试。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值