前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库初学者的福音——SQLite

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

作者头像
luanhz
发布2020-09-08 17:14:54
9190
发布2020-09-08 17:14:54
举报
文章被收录于专栏:小数志小数志

导读

数据库操作应该算是所有程序员的基本功了,写的一手好SQL对于数据分析师而言更是安身立命之本。前期,个人惯用的是MySQL,近日由于工作需要对Sqlite使用更为频繁,所以便简单了解了一下,发现sqlite当真有其好用的一面,堪称是数据库初学者的福音。做以简单纪要。

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在功能完整性方面并不足以与其他关系型数据库相媲美,但考虑其拿来即用的特点,难道不正是数据库初学者的福音吗?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小数志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档