SQLlite

2023-11-04

SQLlite

​ SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。

一、什么是 SQLite

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

​ 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

二、SQLite的优势

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)。
  • SQLite 不需要配置,这意味着不需要安装或管理。
  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
  • SQLite 是自给自足的,这意味着不需要任何外部的依赖。
  • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
  • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
  • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

三、SQLite命令

1.常用指令

  1. .open filename --打开文件
  2. .show --显示SQLite 命令提示符的默认设置
  3. .q --退出
  4. .databases --显示数据库(注:显示打开的数据库)
  5. .help --帮助
  6. .dump --导入导出数据库
  7. .tables --查看表

2.数据类型

存储类 描述
NULL 值是一个 NULL 值。
INTEGER 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB 值是一个 blob 数据,完全根据它的输入存储。

3.DDL–操作数据库

1.创建数据库:
	sqlite3 DatabaseName.db
	eg:  sqlite3 testDB.db(创建一个testDB的数据库)
2.删除数据库:
	rm DatabaseName.db(直接删除创建出来的文件即可)
	eg: rm testDB.db(删除创建出来的数据库文件)

4.DML–操作表

1.创建表
	CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);
	eg: CREATE TABLE student(id int priamy key not null,name text, age Integer, salary real);
2.删除表
	DROP TABLE database_name.table_name;
	eg: DROP TABLE	student;
3.插入语句:
	INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);
	eg1: INSERT INTO student values(1,"qiyihao",23,5000.50);(按照表结构插入数据)
	eg2: INSERT INTO student (id,name,age) values(2,"zhao",22);(按照表结构中指定字段插入数据)
4.查询语句:
	SELECT column1, column2, columnN FROM table_name;(查询指定列)
	SELECT * FROM table_name;(查询所有)
	eg1: SELECT id, age, age FROM student;
	eg2: SELECT * FROM student;
5.更新语句:
	UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
	
	eg: UPDATE student 
	SET age = 22, name = "qiyihao"
    WHERE id = 1 ;
6.删除语句:
	DELETE FROM table_name
WHERE [condition];
	
	eg: DELETE FROM student
WHERE id = 1;

	DELETE FROM table_name;(清空表中所有数据)
	eg: DELETE FROM student;

5.格式化输出指令

(1).schema (查看表中详细信息)

(2)格式化输出

	a.非格式化输出      select * from user_relation;

在这里插入图片描述

 	b.格式输出      	
					.header on
					.mode column
					.select * from user_relation;

在这里插入图片描述

(3)查看表结构

1.查看数据库中所有表结构
					select * from sqlite_master ;
2.查看数据库中指定表结构
					select * from sqlite_master where type = "table" and name = "student";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLlite 的相关文章

  • 锁定 SQLite 数据库以从 C# 读取

    我的项目有一个 C dll 其中在 Sqllite 中创建一个数据库 共享拒绝 无 这个 dll 会将数据插入到数据库中 我有一个 C exe 它必须访问数据库并显示它 显示需要异步完成 在启动与 sqlitedb 的连接时 有什么方法可以
  • SQLite 自然连接损坏?

    我刚刚开始了解 NATURAL JOIN 而 SQLite 的行为并不像我预期的那样 SELECT FROM r1 NATURAL JOIN r2 NATURAL JOIN r3 and SELECT FROM r1 NATURAL JOI
  • 如何在 SQLite 中替换字符串?

    如何更新具有以下内容的表列 var mobile 233KKFSDK3234 Documents Page jpg 并将其替换为 Documents Page jpg 在 SQLite 中 注意 所有文字 除了 Documents 是动态的
  • 如何实现 ALTER TABLE 的示例[重复]

    这个问题在这里已经有答案了 我已经多次问过这个问题 但尚未得到完整的答案 如何实现 ALTER TABLE 语句以向数据库添加列 有人可以给我举个例子吗 请阅读SQLite ALTER TABLE 参考 http sqlite org la
  • 与 SQL 中的 IN 运算符相反

    我怎么能做相反的事情 换句话说 选择所有姓氏不是 Hansen 或 Pettersen 的人 WHERE lastname NOT IN Hansen Pettersen 请参阅 IN 和 NOT IN 运算符 部分SQLite 所理解的
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • SQLite支持android的数据类型有哪些

    谁能告诉我 SQLITE 中支持 ANDROID 的数据类型列表 我想确认 TIME 和 DATE 数据类型 这里有一个list http www sqlite org datatype3 htmlSQLite 的数据类型 支持时间和日期间
  • 如何在附加的 sqlite 数据库中创建外键?

    我正在尝试创建一个 sqlite3 数据库作为模拟生产环境的测试环境 由于生产的设置方式 表处于多个模式中 我已经在 DBIx Class 中设置了类 使用 schema gt storage gt dbh do将数据库与架构附加在一起 并
  • Flutter:将字符串转换为 Map

    我正在使用 SQFlite 在本地存储数据 我有一个表 其中有一个名为 json 的字段 该字段的类型为 TEXT 并存储转换为字符串的 json 例如 name Eduardo Age 23 性别男 到目前为止 一切正常 但随后我需要从数
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 使用全文搜索 (FTS) 在多列中进行搜索,并使用 OR 运算符和多个标记

    我正在使用 FTS 查询数据库以提高搜索速度 因为我还需要在文本描述中搜索 当我尝试使用单列查询时 其工作正常 如下所示 select from productsearch where productsearch match prod na
  • 如何在 Android 中使用 Assets 中预加载的 SQLite 数据库

    我想用preloaded database在我的应用程序中意味着尝试在安装 apk 时获取数据库 以便可以使用已保存在其中的数据 我复制了 成分 db 文件位于资产文件夹中 并使用以下代码 但这会出现错误 从资源文件复制数据库时出现问题 我
  • Android:SQLite 查询不绑定整数参数?

    我在 Android 平台 2 2 上使用数据库参数进行查询时遇到问题 我创建了这样的表 db execSQL CREATE VIRTUAL TABLE Msg TABLE NAME USING FTS3 Msg ID INTEGER Ms
  • Hibernate + SQLite 不创建数据库

    这是我的问题 我有一个使用 JavaFX Hibernate SQLite 的桌面应用程序 这是我的模型 Entity Table name usuario public class Usuario implements AbstractM
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • 带有预填充 .sqlite 的核心数据 (Swift3)

    目前 我正在对现有 iOS9 应用程序进行 Swift3 iOS10 更新 该应用程序存储了欧洲各地约 10 000 个电动汽车充电点 到目前为止 我总是为应用程序提供预填充的数据库 xcappdata 包中的 sqlite sqlite
  • SQLite:从命令行仅将模式转储到 .sql 文件中

    我正在尝试转储架构test db仅 即没有数据 到名为的文件中schema sql从 OS X 中的命令行 无需启动 sqlite3 我知道我能做到 sqlite3 open test db output schema sql schema
  • Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

    目前我正在使用 Zend Cache Backend File 来缓存我的项目 尤其是来自外部 Web 服务的响应 我在想是否能找到将结构迁移到 Zend Cache Backend Sqlite 的一些好处 可能的优点是 文件系统有序 缓
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • SQLite 的不区分大小写的 UTF-8 字符串排序规则 (C/C++)

    我正在寻找一种方法 以不区分大小写的方式对 C 中的 UTF 8 字符串进行比较和排序 以便在SQLite 中的自定义排序规则函数 http www sqlite org c3ref create collation html 该方法应该i

随机推荐

  • 设计模式之访问器模式(Visitor)的C++实现

    1 访问器模式的提出 在软件开发过程中 早已发布的软件版本 由于需求的变化 需要给某个类层次结构增加新的方法 如果在该基类和子类中都添加新的行为方法 将给代码原有的结构带来破坏 同时 也违反了修改封闭 扩展开放的原则 访问器模式可以实现不改
  • Jira项目管理

    目录 需求管理 项目权限管理 sql jira看板设计 sprint需求看板 ALL需求看板 sprint研发看板 需求管理 版本 创建面板 创建 修复版本 只能管理同一个项目下的需求集 Epics 史诗 可以管理跨项目 有不同项目关键字
  • java常混淆知识,Java中==和equals区别

    在Java语言中 和equals都是用来比较两个对象是否相等的操作符 但是它们的比较方式和比较结果有所不同 操作符 操作符用于比较两个对象的引用是否相等 即这两个对象是否是同一个对象的引用 如果两个对象的引用相同 则返回true 否则返回f
  • scala学习-11-package object

    1 概述 Scala 2 8提供包对象 package object 的新特性 什么是包对象呢 按我的理解 根据Scala 一切皆对象 设计哲学 包 package 也是一种对象 既然是对象 那么就应该有属性和方法 也可以在包对象内声明某个
  • Sublime Text3 快速格式化代码

    英文版 打开Sublime软件 PreFerences gt Key Bindings User 如图 添加代码 keys alt shift f command reindent 保存即可 alt shift f 可以自己改为任意键的组合
  • 深入学习jquery源码之is()与not()

    深入学习jquery源码之is 与not is expr obj ele fn 概述 根据选择器 DOM元素或 jQuery 对象来检测匹配元素集合 如果其中至少有一个元素符合这个给定的表达式就返回true 如果没有元素符合 或者表达式无效
  • three.js ThreeBSP(多个模型组合:差集、交集、并集 附带demo) - 05

    文章目录 一 什么是模型运算 1 函数属性介绍 2 代码示例 二 模型组合demo 需要在我的第一节中找到对应的库 或者私信我 2 代码效果 2 1并集效果 2 2 差集效果 2 3 交集效果 一 什么是模型运算 我所理解的ThreeBSP
  • InfluxDB 的 InfluxQL 基本介绍与使用

    前言 本文主要介绍 InfluxDB 的 InfluxQL 的基本概念与用法并且包含了一些需要注意的点 由于 InfluxDB 2 x 不使用 InfluxQL 进行查询 如您的版本大于 2 x 请查找其他资料 主要为以下内容 SELECT
  • Linux-升级CMake版本(Ubuntu18.4)

    一 简介 在一些场景中 因为CMake版本过低而无法编译 此时就需要升级CMake的版本 二 升级 卸载 先卸载旧的cmake sudo apt get autoremove cmake 安装 切换文件夹 cd usr src 下载cmak
  • 数据结构-第三章 栈和队列

    Stack and Queue 栈和队列是逻辑上的结构 在物理上可以用数组和链表来实现 1 栈 A stack is a list in which insertions and deletions take place at the sa
  • 逆向爬虫31 某站刷播放

    逆向爬虫31 某站刷播放 目标 利用爬虫模拟某站视频播放 增加视频的播放量 思考 正常用户是如何为视频增加播放量的 进入视频播放页 点击播放按钮 视频开始播放 就会增加一个播放量 因此我们只需要模拟点击播放按钮时 浏览器对服务器发送的数据包
  • python 字符串True,False转换成布尔值True,False

    字符串True False转换成布尔值True False不能用bool函数 因为得到的结果都是布尔值True 可以写个if判断 if ss True ss True elif ss False ss False
  • MySQL基本命令

    登录mysql hhostname Pport uusername p 比如 mysql hlocalhost P3306 uroot p 主机名 端口号 用户名 密码 同一台服务器上前两个省略 显示所有数据库 show databases
  • zabbix监控nginx状态界面

    文章目录 开启状态界面 监控nginx状态界面 开启状态界面 实例 开启status location status stub status on off allow 172 16 0 0 16 deny all 访问状态页面的方式 htt
  • 编译工具 Ninja 介绍

    什么是Ninja Ninja是使用C 写的开源项目 http martine github io ninja 在Unix Linux下通常使用Makefile来控制代码的编译 但是Makefile对于比较大的项目有时候会比较慢 看看上面那副
  • (手工)【sqli-labs26、26a】拼接注入、过滤后注入

    目录 推荐 一 手工 SQL注入基本步骤 二 Less25 GET Error based All your SPACES and COMMENTS belong to us 2 1 简介 过滤 报错回显 2 2 第一步 注入点测试 2 3
  • 性能测试浅谈

    早期的性能测试更关注后端服务的处理能力 一个用户去访问一个页面的请求过程 如上图 数据传输时间 当你从浏览器输入网址 敲下回车 开始 真实的用户场景请不要忽视数据传输时间 想想你给远方的朋友写信 信件需要经过不同的交通运输工具送到朋友手上
  • Python __init__.py 模块详解

    文章目录 1 概述 2 导入演示 2 1 执行顺序 先父后子 2 2 导入所有模块 含子模块 1 概述 1 工具 Pycharm 场景 在创建一个 Python Package 时 会默认在该包下生成一个 init py 文件 2 目的 进
  • matlab中rem与mod函数的区别

    语法格式 rem x y 求整除x y的余数 mod x y 求模 rem x y x y fix x y fix 向0取整 mod x y x y floor x y floor 向左取整 以数抽为准 朝负无穷方向取整 如果x和y的符号相
  • SQLlite

    SQLlite SQLite是一个软件库 实现了自给自足的 无服务器的 零配置的 事务性的 SQL 数据库引擎 一 什么是 SQLite SQLite是一个进程内的库 实现了自给自足的 无服务器的 零配置的 事务性的 SQL 数据库引擎 它