SQLite基础:简介、安装和命令

文章目录

  • 1. SQLite简介
    • 1.1 SQL 和 SQLite 之间的差异
    • 1.2 SQLite 特性
  • 2. SQLite安装
  • 3. SQLite命令
  • 4. SQLite点命令

1. SQLite简介

SQLite 是嵌入式关系数据库管理系统。它是自包含、无服务器、零配置和事务性 SQL 数据库引擎。其与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。它直接读写普通磁盘文件,具有多个表、索引、触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。

1.1 SQL 和 SQLite 之间的差异

SQLSQLite
SQL 是一种结构化查询语言,用于查询关系数据库系统。它是用C语言编写的。SQLite 是一个用 ANSI-C 编写的嵌入式关系数据库管理系统。
SQL 是一种标准,它指定如何创建关系模式、在关系中插入或更新数据、启动和停止事务等。SQLite 是基于文件的。它与其他 SQL 数据库不同,因为与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。
SQL 的主要组成部分是数据定义语言(DDL)、数据操作语言(DML)、嵌入式 SQL 和动态 SQL。SQLite 支持 SQL 的很多特性,性能高,不支持存储过程。
SQL 是结构化查询语言,用于 MySQL、Oracle、Microsoft SQL Server、IBMDB2 等数据库。它本身不是数据库。SQLite 是一种可移植的数据库资源。您必须以您正在编程的任何语言获得 SQLite 的扩展才能访问该数据库。您可以访问所有桌面和移动应用程序。
传统的 SQL 数据库需要作为 OracleDB之类的服务运行才能连接并提供许多功能。SQLite 数据库系统不提供这样的功能。
SQL 是一种查询语言,被不同的 SQL 数据库使用。它本身不是数据库。SQLite 本身就是一个使用 SQL 的数据库管理系统。
  • SQLite 历史
    SQLite 最初设计于 2000 年 8 月。它之所以命名为 SQLite,是因为它与 SQL Server 或 Oracle 等其他数据库管理系统不同,重量非常轻(小于 500Kb 大小)。
发生的事情
2000年SQLite 是由 D. Richard Hipp 设计的,目的是为了操作程序不需要管理。
2000年8 月SQLite 1.0 与 GNU 数据库管理器一起发布。
2011年Hipp 宣布将 UNQl 接口添加到 SQLite db 并开发 UNQLite(面向文档的数据库)。

1.2 SQLite 特性

  1. SQLite 是完全免费的: SQLite 是开源的。因此,使用它不需要许可证。
  2. SQLite 是无服务器的: SQLite 不需要不同的服务器进程或系统来运行。
  3. SQLite 非常灵活:它使您可以在同一会话中同时处理多个数据库。
  4. 不需要配置: SQLite 不需要配置。无需设置或管理。
  5. SQLite 是一个跨平台的 DBMS:您不需要像 Windows、Mac OS、Linux 和 Unix 这样的大量不同平台。它还可以用于许多嵌入式操作系统,如 Symbian 和 Windows CE。
  6. 存储数据很容易: SQLite 提供了一种高效的数据存储方式。
  7. 列长度可变:列的长度是可变的,不是固定的。它有助于您仅分配字段所需的空间。例如,如果您有一个 varchar(200) 列,并且在其上放置了 10 个字符的长度值,那么 SQLite 将仅为该值分配20 个字符的空间,而不是整个 200 个空间。
  8. 提供大量 API: SQLite 为大量编程语言提供 API。例如: .Net 语言(Visual Basic、C#)、PHP、Java、Objective C、Python 和许多其他编程语言。
  9. SQLite是用ANSI-C编写的,并提供简单易用的 API。
  10. SQLite可用于 UNIX(Linux、Mac OS-X、Android、iOS)和 Windows(Win32、WinCE、
    WinRT)。

SQLite 是一种非常流行的数据库,已成功与磁盘文件格式一起用于桌面应用程序,如版本控制系统、财务分析工具、媒体编目和编辑套件、CAD 包、记录保存程序等。

2. SQLite安装

下载地址: SQLite下载,下载需要的版本文件

  • windows系统安装
  1. 在 C 目录中创建一个名为 sqlite 的文件夹并解压这些文件(两个压缩包里文件都解压到一起)。
  2. 将目录路径添加到环境变量中。
  3. cmd中打开sqlite3命令。
    在这里插入图片描述

3. SQLite命令

SQLite 命令类似于 SQL 命令。SQLite 命令共有三种类型:

  • DDL:数据定义语言
    CREATE:该命令用于在数据库中创建表、表或其他对象的视图。
    ALTER:用于修改现有的数据库对象,如表。
    DROP: DROP 命令用于删除整个表、表的视图或数据库中的其他对象
  • DML:数据操作语言
    INSERT:此命令用于创建记录。
    UPDATE:用于修改记录。
    DELETE:用于删除记录。
  • DQL:数据查询语言
    SELECT:此命令用于从一个或多个表中检索某些记录。

4. SQLite点命令

点命令不以(;)结束。随时使用“.help”检查点命令列表。

.help  

在这里插入图片描述

命令描述
.backup ?db? file备份数据库(默认“主”)到文件
.bail on/off遇到错误后停止。默认关闭
.databases列出附加数据库的名称和文件
.dump ?table?以 sql 文本格式转储数据库。如果指定了表,则仅转储与模式表匹配的表。
.echo on/off打开或关闭命令回显
.exit退出sqlite提示
.explain on/off打开或关闭适合解释的输出模式。没有参数,它打开解释。
.header(s)on/off打开或关闭标题显示
.help显示此消息
.import file table将文件中的数据导入表
.indices ?table?显示所有索引的名称。如果指定了表,则只显示匹配模式表的表的索引。
.load file ?entry?加载扩展库
.log file/off打开或关闭登录。文件可以是 stderr/stdout
.mode mode设置输出模式,其中模式是以下之一:csv:逗号分隔值;列:左对齐列。html : html code; insert: sql insert 语句;line: 每行一个值;list: 用.separator string分隔的值;tabs:制表符分隔的值;tcl:tcl 列表元素.
.nullvalue string打印字符串代替空值
.output filename将输出发送到文件名
.output stdout将输出发送到屏幕
.print string…打印文字字符串
.prompt main continue替换标准提示
.quit退出sqlite提示
.read filename在文件名中执行sql
.schema ?table?显示创建语句。如果指定了表,则只显示匹配模式表的表。
.separator string更改输出模式和 .import 使用的分隔符
.show显示各种设置的当前值
.stats on/off打开或关闭统计
.tables ?pattern?列出与类似模式匹配的表的名称
.timeout ms尝试打开锁定的表 ms 毫秒
.width num num为“列”模式设置列宽
.timer on/off打开或关闭 CPU 计时器测量
.show 命令:令查看 SQLite 命令提示符的默认设置。

note:sqlite> prompt 和 dot 命令之间不要加空格,否则会失效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视觉SLAM第一讲

第一讲-预备知识 SLAM是什么? SLAM(Simultaneous Localization and Mapping)是同时定位与地图构建。 它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己…

长效IP有哪些应用场景?

不同于经常重置的短效IP,长效IP以其长久稳定的特性,为各行各业提供了更为广阔的应用舞台。今天,就让我们一起探索极光http这一长效IP服务的魅力,看看它是如何成为众多领域首选的。 1. 远程工作的稳定后盾 在远程办公日益普及的今…

昇思25天学习打卡营第23天|LSTM+CRF序列标注

Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|(一)序列标注与条件随机场的关系 Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|(二)CRF模型构建 Mindspore框架CRF条件随机场概率图模型实现文本…

【Beyond Compare】Beyond Compare下载、安装与使用详细教程

目录 🌺1 概述 🎄2 Beyond Compare 安装包下载 🌼3 安装详细教程 🍂4 免费注册 🌍5 使用详情 🌺1 概述 Beyond Compare 是一款强大的文件和文件夹比较工具,广泛应用于软件开发、文档管理和…

Web动画(lottie篇)

一、Lottie简介 Lottie是一个库,可以解析使用AE制作的动画(需要用bodymovin导出为json格式),支持web、ios、android和react native。在web侧,lottie-web库可以解析导出的动画json文件,并将其以svg或者canva…

electron调试

electron 调试 electron 的调试分两步,界面的调试,和主进程的调试。 界面调试类似浏览器F12,可是调试不到主进程。 主进程调试有vscode、命令行提示和外部调试器调试。 本篇记录的练习是vscode调试。命令行和外部调试器的方式可以参考官网&a…

CJS与ESM:CJS

模块化方案 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至…

PEFT LoRA 介绍(LoRA微调使用的参数及方法)

一 PEFT LoRA 介绍 官网简介如下图: 翻译过来是:低秩自适应(LoRA)是一种PEFT方法,它将一个大矩阵在注意层分解成两个较小的低秩矩阵。这大大减少了需要微调的参数数量。 说的只是针对注意力层,其实我自己平时微调操作注意力层多…

nacos2.x作为配置中心和服务注册和发现以及springcloud使用

目录 一、nacos是什么 二、windows下安装配置nacos 1、准备 2、安装nacos 3、配置nacos 4、启动并且访问nacos 三、springcloud使用nacos作为配置中心 四、springcloud使用nacos进行服务注册与发现 五、springcloud使用nacos进行服务消费 六、nacos的一些高级配置 1…

Ubuntu上编译多个版本的frida

准备工作 Ubuntu20(WSL) 略 安装依赖 sudo apt update sudo apt-get install build-essential git lib32stdc-9-dev libc6-dev-i386 -y nodejs 去官网[1]下载nodejs,版本的话我就选的20.15.1: tar -xf node-v20.15.1-linux-x64.tar.xz 下载源码 …

AbutionGraph时序(流式)图数据库开发文档地址

AbutionGraph-时序(流式)图数据库,官方开发文档(API)地址: http://www.thutmose.cn

JavaSE从零开始到精通(九) - 双列集合

1.前言 Java 中的双列集合主要指的是可以存储键值对的集合类型,其中最常用的包括 Map 接口及其实现类。这些集合允许你以键值对的形式存储和管理数据,提供了便捷的按键访问值的方式。 2. HashMap HashMap 是基于哈希表实现的 Map 接口的类&#xff0c…

java算法day23

java算法day23 121买卖股票的最佳时机55 跳跃游戏45 跳跃游戏Ⅱ763划分子母区间 121买卖股票的最佳时机 最容易想的应该就是两个for暴力枚举。但是超时 本题用贪心做应该是最快的。 先看清楚题,题目要求在某一天买入,然后在某一天卖出,要求…

MarkTool集合篇

MarkTool目前包含以下几种工具 1、TCP客户端 2、TCP服务端 3、UDP客户端 4、Web客户端 5、Web服务端 6、串口网口 7、PLC 8、获取本机设备 9、Log 10、密钥 11、系统设置 11-1、基本设置 11-2、角色设置 11-3、用户设置 11-4、log记录 开启软件需要找我解密&#…

S7-1200PLC通过111报文和EPOS模式实现位置轴轴控功能(FB284封装)

EASY_SINA_POS的详细使用介绍请参考下面文章链接: S7-1200PLC使用标准报文111和EPOS模式实现V90 PN总线伺服定位(Easy_SINA_Pos)_西门子sinapos-CSDN博客文章浏览阅读132次。文章浏览阅读7k次。先简单说下如何获取FB284,一般有2种方法,Startdrive软件可以操作大部分西门子的…

PostgreSQL使用(四)——数据查询

说明:对于一门SQL语言,数据查询是我们非常常用的,也是SQL语言中非常大的一块。本文介绍PostgreSQL使用中的数据查询,如有一张表,内容如下: 简单查询 --- 1.查询某张表的全部数据 select * from tb_student…

【Qt】QLabel常用属性相关API

QLabel是Qt框架中用于显示文本或图案的小部件。在Qt应用程序中,QLabel是用来呈现静态文本或图像给用户的重要部分 QLabel属性陈列 属性说明textQLabel中的文本内容textFormat 文本的格式 Qt::PlainText 纯文本Qt::RichText 富文本Qt::MarkdownText markdown…

【数据结构】排序算法(冒泡排序、插入排序、希尔排序、选择排序、堆排序、计数排序)

生命不可能有两次,但许多人连一次也不善于度过。💓💓💓 目录 ✨说在前面 🍋知识点一:排序的概念和应用 • 🌰1.排序及其概念 • 🌰2.排序的应用 • 🌰3.常见的排序算…

qt做的分页控件

介绍 qt做的分页控件 如何使用 创建 Pagination必须基于一个QWidget创建,否则会引发错误。 Pagination* pa new Pagination(QWidget*);设置总页数 Pagination需要设置一个总的页数,来初始化页码。 pa->SetTotalItem(count);设置可选的每页数量…

前端养成记-实现一个低配版简单版本的vue3表单自定义设计组件

简介: 通过使用了最新的vue3,vite2,TypeScript等主流技术开发,并配合使用vuedraggable 插件以及antd design vue 组件库实现低配版本的自定义表单设计组件; 项目地址:https://gitee.com/hejunqing/vue3-antdv-generator