SQLite学习

一、简介

1、SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。

2、优势:

不需要一个单独的服务器进程或操作的系统(无服务器的)。

SQLite 不需要配置,这意味着不需要安装或管理。

一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

SQLite 是自给自足的,这意味着不需要任何外部的依赖。

SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

注:ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必须要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。

SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API

SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

3、SQLite命令

DDL - 数据定义语言

命令

描述

CREATE

创建一个新的表,一个表的视图,或者数据库中的其他对象。

ALTER

修改数据库中的某个已有的数据库对象,比如一个表。

DROP

删除整个表,或者表的视图,或者数据库中的其他对象。

DML - 数据操作语言

命令

描述

INSERT

创建一条记录。

UPDATE

修改记录。

DELETE

删除记录。

DQL - 数据查询语言

命令

描述

SELECT

从一个或多个表中检索某些记录。

基本SQL命令

D:\>sqlite3 database.db   //创建db文件     

sqlite> create table cnblogs(user text, fans integer);  //创建表名为cnblogs的数据表

sqlite> insert into cnblogs values('txw1958',36);  //在cnblogs中创建一条值

sqlite> select * from cnblogs;   //查询表数据

sqlite> update cnblogs set fans=100 where user='txw1958';   //修改记录

sqlite> delete from cnblogs where user='txw1958';  //删除记录

sqlite> select * from cnblogs;  //查询

sqlite> drop table cnblogs;  //删除整个表

 

二、SQLite命令

命令

描述

.backup ?DB? FILE

备份 DB 数据库(默认是 "main")到 FILE 文件。

.bail ON|OFF

发生错误后停止。默认为 OFF。

.databases

列出数据库的名称及其所依附的文件。

.dump ?TABLE?

以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。

.echo ON|OFF

开启或关闭 echo 命令。

.exit

退出 SQLite 提示符。

.explain ON|OFF

开启或关闭适合于 EXPLAIN 的输出模式。如果没有带参数,则为 EXPLAIN on,及开启 EXPLAIN。

.header(s) ON|OFF

开启或关闭头部显示。

.help

显示消息。

.import FILE TABLE

导入来自 FILE 文件的数据到 TABLE 表中。

.indices ?TABLE?

显示所有索引的名称。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表的索引。

.load FILE ?ENTRY?

加载一个扩展库。

.log FILE|off

开启或关闭日志。FILE 文件可以是 stderr(标准错误)/stdout(标准输出)。

.mode MODE

设置输出模式,MODE 可以是下列之一:

csv 逗号分隔的值

column 左对齐的列

html HTML 的 <table> 代码

insert TABLE 表的 SQL 插入(insert)语句

line 每行一个值

list 由 .separator 字符串分隔的值

tabs 由 Tab 分隔的值

tcl TCL 列表元素

.nullvalue STRING

在 NULL 值的地方输出 STRING 字符串。

.output FILENAME

发送输出到 FILENAME 文件。

.output stdout

发送输出到屏幕。

.print STRING...

逐字地输出 STRING 字符串。

.prompt MAIN CONTINUE

替换标准提示符。

.quit

退出 SQLite 提示符。

.read FILENAME

执行 FILENAME 文件中的 SQL。

.schema ?TABLE?

显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。

.separator STRING

改变输出模式和 .import 所使用的分隔符。

.show

显示各种设置的当前值。

.stats ON|OFF

开启或关闭统计。

.tables ?PATTERN?

列出匹配 LIKE 模式的表的名称。

.timeout MS

尝试打开锁定的表 MS 毫秒。

.width NUM NUM

为 "column" 模式设置列宽度。

.timer ON|OFF

开启或关闭 CPU 定时器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值