SQLite3

文章目录

1、数据库

按照数据结构来组织、存放和管理数据的建立在计算机存储设备上的数据仓库。

1.1常见的数据库

  • MySQL :(Oracle)是开源的、一个关系数据库管理系统、服务器是一个快速的、可靠的、易于使用的(1万~1000万)
  • SQL Server:(微软)web上最流行的、主要在windows上运行、比较依赖操作系统、数据访问安全、有强大的web和安全的应用管理、操作比较简单、界面友好(自动增长)
  • Oracle:(甲骨文)兼容性好、可移植性、可联接性强、生产效率高(有很多工具)、开放性(1000万~10亿)
  • Sybase:(Sybase)基于客户/服务器结构的数据库、真正开放的、性能高(1万~100万)
  • DB2:(IBM)大型企业应用(可以达到20亿)
  • sqlite:轻量级的开源数据库、很适合应用于嵌入式设备(本地,100~1万)

1.2数据库和数据库管理软件

数据库管理软件:为数据库而设计的电脑软件系统,一般具有存储、截取、安全保障备份等基本功能。

1.3数据库选择

  • Oracle:最贵的、功能最多(安装配置更麻烦)、跨平台性一般、不开源、速度最慢、最安全、开发难度一般
  • MySQL/SQl Server:价格中等(有免费)、功能最少(安装比较方便)、跨平台性不好、不开源、速度中等、安全中等、开发难度相对简单
  • sqlite:免费的、功能一般多(安装特方便)、嵌入式设备中最适合、开源的、速度最快、最不安全、开发简单

2、sqlite

sqlite是一个 进程内的数据库,实现了自给自足、无服务器、零配置、事务性的SQL数据引擎,不是独立于进程,可以通过软件和程序去使用这个数据库和访问文件。

特性:

  • 不需要配置、不需要管理和安装
  • sqlite文件是存在一个单一的磁盘文件
  • 非常轻量级,完全配置小于400kb,如果省略某些功能大约只有250kb
  • 可以在unix(linux、mac、OS-X、Android、IOS)和windows(win32、winCE、winPT)

sqlte数据类型

参考:SQLite 简介_SQlite中文网

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

3、安装sqlte3

sudo apt-get install sqlite

SQLite Download Page

4、sqlite3程序操作命令

点命令:以点开头、大小写区分的、末尾不需要加分号

(1)在命令行:sqlite3 进入数据库的管理软件

sqlite3 数据库文件名(.db) 不存在就创建,存在就打开

sqlite3 test.db

(2)在sqlite3的管理软件里面所有的命令都是 .开头

.database 查看当前打开的数据库

.table查看当前数据库的所有表格

退出

.quit .exit

(3)导出数据库

在命令行: sqlite3 数据库文件名 .dump > stu.sql

(4)导入数据库

在命令行: sqlite3 test.db < stu.sql

(5)备份数据库:

.backup xxx.db

(6)、SQLite命令

SQLite 命令_SQlite中文网

命令描述.backup ?DB? FILE备份 DB 数据库(默认是 “main”)到 FILE 文件。.bail ON|OFF发生错误后停止。默认为 OFF。.databases列出数据库的名称及其所依附的文件。.dump ?TABLE?以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。.echo ON|OFF开启或关闭 echo 命令。.exit退出 SQLite 提示符。.explain ON|OFF开启或关闭适合于 EXPLAIN 的输出模式。如果没有带参数,则为 EXPLAIN on,即开启 EXPLAIN。.header(s) ON|OFF开启或关闭头部显示。.help显示消息。.import FILE TABLE导入来自 FILE 文件的数据到 TABLE 表中。.indices ?TABLE?显示所有索引的名称。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表的索引。.load FILE ?ENTRY?加载一个扩展库。.log FILE|off开启或关闭日志。FILE 文件可以是 stderr(标准错误)/stdout(标准输出)。.mode MODE设置输出模式,MODE 可以是下列之一:
csv

逗号分隔的值
column

左对齐的列
html

HTML 的 代码
insert

TABLE 表的 SQL 插入(insert)语句
line

每行一个值
list

由 .separator 字符串分隔的值
tabs

由 Tab 分隔的值
tcl

TCL 列表元素 .nullvalue STRING在 NULL 值的地方输出 STRING 字符串。.output FILENAME发送输出到 FILENAME 文件。.output stdout发送输出到屏幕。.print STRING…逐字地输出 STRING 字符串。.prompt MAIN CONTINUE替换标准提示符。.quit退出 SQLite 提示符。.read FILENAME执行 FILENAME 文件中的 SQL。.schema ?TABLE?显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。.separator STRING改变输出模式和 .import 所使用的分隔符。.show显示各种设置的当前值。.stats ON|OFF开启或关闭统计。.tables ?PATTERN?列出匹配 LIKE 模式的表的名称。.timeout MS尝试打开锁定的表 MS 毫秒。.width NUM NUM为 “column” 模式设置列宽度。.timer ON|OFF开启或关闭 CPU 定时器。

5、SQL基础命令

SQL语句主要可以划分为以下3个类别

.DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter等。

.DML(Data Manipulation Languages)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select等。

.DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,主要的语句关键字包括grant、revoke等。

SQLite 创建表 | 菜鸟教程 (runoob.com)

(1)创建表

create table name(字段1 类型1,字段2 类型2,…);

create table info (num integer , name text, age integer , score real);

create table info1 (num integer primary key, name text not null, age integer null, score real null);

create table info2 (num integer primary key, name text not null default 'xxxx', age integer null , score real null);

设置字段属性:(放在字段名和类型后面的,如果有多个属性依次往后添加)

①主键 primary key:主键如果没有指定一般会帮你自动补一个,并且多条数据记录的主键不能一样

②空与非空:null , not null

③默认值:default 值

(2)添加数据

--写所有数据:
insert into info (num, name, age, score) values (1, 'wangda', 20, 100.0);
insert into info (num, name, age, score) values (2, "tianer", 21, 100.0);
--写部分数据:
insert into info (num, name, score) values (3, "zsan", 95.5);
insert into info (name, age, score) values ("lisi", 20, 80.0);

INSERT INTO "info" VALUES(1,'wangda',NULL,100.0);
INSERT INTO "info" VALUES(2,'liuer',21,88.0);

(3)查找数据

查看表格所有数据:select * from info;

查看n条数据:select * from info limit n;

升序:select * from info order by age asc;

降序:select * from info order by score desc;

查看数据记录个数:select count(*) from info;

条件查询:

①where:

select * from info where age = 20;

=等于

大于

Original: https://blog.csdn.net/qq_45698138/article/details/126389777
Author: Yengi
Title: SQLite3

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816176/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球