前言

今天我们花费一个小时快速了解SQLite数据类型、SQLite常用命令和语法。

七天.NET 8操作SQLite入门到实战详细教程

EasySQLite项目源码地址

GitHub地址:https://github.com/YSGStudyHards/EasySQLite

SQLite数据类型

以下是SQLite常见的五种数据类型及其详细描述:

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

SQLite日期和时间函数

SQLite 支持以下五个日期和时间函数:

序号 函数 实例
1 date(timestring, modifier, modifier, ...) 以 YYYY-MM-DD 格式返回日期。例如:date('2023-11-22') 返回 '2023-11-22'。
2 time(timestring, modifier, modifier, ...) 以 HH:MM:SS 格式返回时间。例如:time('14:30:45') 返回 '14:30:45'。
3 datetime(timestring, modifier, modifier, ...) 以 YYYY-MM-DD HH:MM:SS 格式返回。例如:datetime('2023-11-22 14:30:45') 返回 '2023-11-22 14:30:45'。
4 julianday(timestring, modifier, modifier, ...) 这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。例如:julianday('2023-11-22') 返回对应的天数2460270.5。
5 strftime(format, timestring, modifier, modifier, ...) 这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。例如:strftime('%Y-%m-%d %H:%M:%S', '2023-11-22 14:30:45') 返回格式化后的日期字符串2023-11-22 14:30:45。

SQLite常用命令

输出帮助信息:

.help

创建一个新的数据库文件:

在命令提示符下,输入以下命令来打开SQLite命令行:sqlite3
.open MyTest.db

建立或打开数据库文件:

sqlite3 MyTest.db

查看数据库文件信息命令:

.database

查看所有表的创建语句:

.schema

查看指定表的创建语句:

.schema UserInfo

以SQL语句的形式列出表内容:

.dump UserInfo

列出当前显示格式的配置:

.show

退出SQLite终端命令:

.quit

.exit

SQLite常用语法

SQLite是一种嵌入式关系型数据库,它支持SQL语言。大部分标准的SQL语法在SQLite中都可以使用,但也有一些特性和限制。

  • 以下是SQLite常用的SQL语法(请注意,具体语法细节可能会因版本和环境而有所不同,我当前使用的是SQLite3):

创建表:

CREATE TABLE school (
    ID INTEGER PRIMARY KEY,
    school_name TEXT,
    school_address TEXT
);

插入数据:

INSERT INTO school (ID, school_name, school_address)
VALUES (1, '追逐时光者学校', '北京市某区某街道');

查询数据:

SELECT ID, school_name, school_address
FROM school
WHERE school_name = '追逐时光者学校';

更新数据:

UPDATE school
SET school_address = '深圳南山区'
WHERE ID = 1;

删除数据:

DELETE FROM school
WHERE ID = 1;

组合查询:

SELECT s.school_name, s.school_address, t.teacher_name
FROM school s
JOIN teacher t ON s.ID = t.school_ID;

排序数据:

SELECT ID, school_name, school_address
FROM school
ORDER BY school_name ASC;

聚合函数:

SELECT COUNT(*) FROM school;
SELECT MAX(ID) FROM school;

索引操作:

-- 创建索引
CREATE INDEX idx_school_name ON school (school_name);

-- 删除索引
DROP INDEX idx_school_name;

DotNetGuide技术社区交流群

  • DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目推荐、招聘资讯和解决问题的平台。
  • 在这个社区中,开发者们可以分享自己的技术文章、项目经验、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
  • 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值和成长机会。

欢迎加入DotNetGuide技术社区微信交流群

七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门的更多相关文章

  1. Docker从入门到实战(三)

    Docker从入门到实战(三) 一:安装Docker 1. linux系统脚本安装 Docker基于linux容器技术,面向服务器端,Docker只能安装运行在64位计算机上(社区有对32位的支持), ...

  2. 利用python 数据分析入门,详细教程,教小白快速入门

    这是一篇的数据的分析的典型案列,本人也是经历一次从无到有的过程,倍感珍惜,所以将其详细的记录下来,用来帮助后来者快速入门,,希望你能看到最后! 需求:对obo文件进行解析,输出为json字典格式 数据 ...

  3. Prometheus 入门教程(一):Prometheus 快速入门

    文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/ZXlBPHGcWeYh2hjBzacc3A Prometheus 是任何一个高级工程师必须要掌握的技 ...

  4. vue2.0项目实战(5)vuex快速入门

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具  ...

  5. reactjs入门到实战(三)---- 组件详解

    owner  >>> 传递 props this >>>是默认指向组件本身 key>>>不能没有,在复用的情况下 组件:例子 <!-- 输入 ...

  6. 学习笔记-[Maven实战]-第三章:Maven使用入门(3)

    这里说一下在建测试工程里遇到的问题 1.第一次建工程,junit依赖始终没有成功,最后删除现在工程,新建了一个工程就好了 2.使用junit4的问题.工程默认的依赖是junit3.8.1,我改成了4. ...

  7. 学习笔记-[Maven实战]-第三章:Maven使用入门(2)

    使用maven执行编译和测试 1.maven执行编译 (1).在pom.xml上点右键,选择Maven build... (2).在Goals里输入clean complie,执行编译 执行结果: [ ...

  8. 学习笔记-[Maven实战]-第三章:Maven使用入门(1)

    说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工 ...

  9. Spring MVC 教程,快速入门,深入分析

    http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: ...

  10. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

随机推荐

  1. 【pandas小技巧】--字符串转数值

    字符串转数字的用途和场景很多,其中主要包括以下几个方面: 数据清洗:在进行数据处理时,经常会遇到一些数据类型不匹配的问题,比如某些列中的字符串类型被误认为是数字类型,此时需要将这些字符串类型转换为数字 ...

  2. c# 如何将程序加密隐藏?

    下面将介绍如何通过LiteDB将自己的程序进行加密,首先介绍一下LiteDB. LiteDB LiteDB是一个轻量级的嵌入式数据库,它是用C#编写的,适用于.NET平台.它的设计目标是提供一个简单易 ...

  3. vue3探索——组件通信之依赖注入

    背景 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props.想象一下这样的结构:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据.在 ...

  4. 如何调用api接口获取到商品数据

    要调用API接口获取商品数据,需要进行以下步骤: 确定API接口 首先需要确定要使用的API接口,可以通过搜索引擎或者相关文档来查找适合的API接口.以淘宝开放平台为例,可以使用淘宝的商品信息查询AP ...

  5. 【python技巧】替换文件中的某几行

    [python技巧]替换文件中的某几行 1. 背景描述 最近在写一个后端项目,主要的操作就是根据用户的前端数据,在后端打开项目中的代码文件,修改对应位置的参数,因为在目前的后端项目中经常使用这个操作, ...

  6. rnacos实现raft和类distro协议,支持集群部署

    1. rnacos 简介 rnacos是一个用rust实现的nacos服务. rnacos是一个轻量. 快速.稳定.高性能的服务:包含注册中心.配置中心.web管理控制台功能,支持单机.集群部署. r ...

  7. 每日一题:如何判断是否是数组,一个既简单又复杂的问题。(不要再用Object.prototype.toString.call、instance of判断了!!!)

    1.不要使用Object.prototype.toString.call() 正常情况下: const arr = [1,2,3,4,5] const obj = {} console.log(Obj ...

  8. 简单的Oracle增删改查笔记

  9. 如何快速找到win10系统中的开机启动文件所在路径

    在网站系统开发过程中,我们会遇到一些服务器下线导致的网站无法打开的情况,就需要重启服务器,如果每次手动去操作,实在是很繁琐,所以咱们可以利用开机自启的方式.而要这样设置的话,就需要找到开机自启的目录, ...

  10. SQL函数升序Asc,降序Desc使用总结

    关键字-升序Asc及降序Desc的使用语法 对某一结果集按列进行升序或降序排列即:结果集 Order by 列名/数字 Asc/Desc. 一.Asc,Desc排序讲以下5点 1.不写关键字Asc/D ...