SQLlite
Posted 一只可爱的小狐狸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLlite相关的知识,希望对你有一定的参考价值。
SQLlite
SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
一、什么是 SQLite
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,不需要在系统中配置。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
二、SQLite的优势
- 不需要一个单独的服务器进程或操作的系统(无服务器的)。
- SQLite 不需要配置,这意味着不需要安装或管理。
- 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
- SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
- SQLite 是自给自足的,这意味着不需要任何外部的依赖。
- SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
- SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
- SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
- SQLite 可在 UNIX(Linux, Mac OS-X, android, ios)和 Windows(Win32, WinCE, WinRT)中运行。
三、SQLite命令
1.常用指令
- .open filename --打开文件
- .show --显示SQLite 命令提示符的默认设置
- .q --退出
- .databases --显示数据库(注:显示打开的数据库)
- .help --帮助
- .dump --导入导出数据库
- .tables --查看表
2.数据类型
存储类 | 描述 |
---|---|
NULL | 值是一个 NULL 值。 |
INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB | 值是一个 blob 数据,完全根据它的输入存储。 |
3.DDL–操作数据库
1.创建数据库:
sqlite3 DatabaseName.db
eg: sqlite3 testDB.db(创建一个testDB的数据库)
2.删除数据库:
rm DatabaseName.db(直接删除创建出来的文件即可)
eg: rm testDB.db(删除创建出来的数据库文件)
4.DML–操作表
1.创建表
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
eg: CREATE TABLE student(id int priamy key not null,name text, age Integer, salary real);
2.删除表
DROP TABLE database_name.table_name;
eg: DROP TABLE student;
3.插入语句:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
eg1: INSERT INTO student values(1,"qiyihao",23,5000.50);(按照表结构插入数据)
eg2: INSERT INTO student (id,name,age) values(2,"zhao",22);(按照表结构中指定字段插入数据)
4.查询语句:
SELECT column1, column2, columnN FROM table_name;(查询指定列)
SELECT * FROM table_name;(查询所有)
eg1: SELECT id, age, age FROM student;
eg2: SELECT * FROM student;
5.更新语句:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
eg: UPDATE student
SET age = 22, name = "qiyihao"
WHERE id = 1 ;
6.删除语句:
DELETE FROM table_name
WHERE [condition];
eg: DELETE FROM student
WHERE id = 1;
DELETE FROM table_name;(清空表中所有数据)
eg: DELETE FROM student;
5.格式化输出指令
(1).schema (查看表中详细信息)
(2)格式化输出
a.非格式化输出 select * from user_relation;
b.格式输出
.header on
.mode column
.select * from user_relation;
(3)查看表结构
1.查看数据库中所有表结构
select * from sqlite_master ;
2.查看数据库中指定表结构
select * from sqlite_master where type = "table" and name = "student";
以上是关于SQLlite的主要内容,如果未能解决你的问题,请参考以下文章