数据库初学者的福音——SQLite

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 数据库操作应该算是所有程序员的基本功了,写的一手好SQL对于数据分析师而言更是安身立命之本。前期,个人惯用的是MySQL,近日由于工作需要对Sqlite使用更为频繁,所以便简单了解了一下,发现sqlite当真有其好用的一面,堪称是数据库初学者的福音。做以简单纪要。

640.jpg


01 sqlite简介


sqlite是一款简单便携的内置数据库,无论是PC端还是移动端,都无需安装即可直接存储、访问和更改。编程语言中一般也都内置了相应引擎库,例如python中对应的模块为sqlite3。使用sqlite数据库的几大核心优势:


  • 配置环境极其简单,实际上若无需图形化界面而仅仅使用代码操作的话,其实无需任何安装操作。但一般还是要安装个数据库IDE,例如Navicat
  • 数据库文件简洁直观、可跨平台,sqlite数据存储在本地的一个.db文件中,可以像对待其他任何文件一样完成拷贝、传输和移动等操作,在图形化界面(如Navicat)中建立连接也仅需指定文件地址即可
  • 支持关系型数据库中的绝大部分通用语法和操作,例如SQL中的CRUD4大类基本操作、也支持ACID4大特性

基于以上特性,当临时使用新的开发环境而不想配置的话,那么sqlite会是一个明智的选择。


02 常用基本操作


sqlite的CRUD常用操作(DCL+DQL)与其他关系型数据库是一致的,所以包括create、drop、select、join、groupby、update、delete、insert等关键字的用法是一致的。


主要存在些许的不同包括:

1.部分数据库和数据表查询操作

  • 显示数据库:.database,对应MySQL中为show databases
  • 显示数据表:.tables,对应MySQL中为show tables
  • 查询建表语句:.schema table_name,对应MySQL中为show create table table_name
  • 退出命令行:.quit,对应MySQL中为exit;
  • 查看帮助:.help,对应MySQL中为help

可见,sqlite中.是一个重要的命令起始符。


2.部分函数和语法,例如:


  • 字符串拼接:sqlite中为 str1 || str2,而MySQL中一般用concat函数
  • glob通配符的用法,与Like的区别在于前者区分大小写,而like不区分

03 sqlite的不足


sqlite体积小巧、配置简单、多平台使用,且支持了SQL中的绝大部分功能,但实际上也是存在一定的不足的,主要包括如下:

  • 不支持right join,当然left join是完全可以替代的
  • 视图(view)、触发器(trigger)功能受限
  • 事务处理能力受限(相较MySQL中的4种隔离级别而言)
  • 安全性不高,不具有MySQL中详细的权限管理功能,甚至sqlite数据文件的访问无需用户名密码


然而,尽管sqlite在功能完整性方面并不足以与其他关系型数据库相媲美,但考虑其拿来即用的特点,难道不正是数据库初学者的福音吗?


640.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
284 14
|
9月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
950 15
|
10月前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
225 8
|
11月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
204 4
|
11月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
313 3
|
人工智能 小程序 Java
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
本文介绍了一款名为PyWxDump的开源工具,它可以获取微信账户信息、解密SQLite数据库以查看和备份聊天记录。此工具适用于已登录电脑版微信的用户,通过GitHub下载后简单几步即可操作。适合对数据恢复感兴趣的开发者,但请注意合法合规使用并尊重隐私。
1494 2
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
|
12月前
|
存储 API 数据库
QML使用Sqlite数据库存储ListModel数据
本文介绍了在QML中使用Sqlite数据库存储ListModel数据的方法,包括如何创建数据库、读取数据、动态添加和删除数据,以及如何在程序启动和退出时与数据库同步数据。
254 2
|
12月前
|
数据库 数据库管理
qt对sqlite数据库多线程的操作
本文总结了在Qt中进行SQLite数据库多线程操作时应注意的四个关键问题,包括数据库驱动加载、加锁、数据库的打开与关闭,以及QsqlQuery变量的使用。
720 1
|
关系型数据库 Java MySQL
C#winform中使用SQLite数据库
C#winform中使用SQLite数据库
439 3
C#winform中使用SQLite数据库
|
11月前
|
存储 缓存 关系型数据库
sqlite 数据库 介绍
sqlite 数据库 介绍
289 0

热门文章

最新文章