SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
macOS平台的sqlite3安装
若是Linux平台使用则可用直接通过apt-get方式来获得sqlite3,但在macOS平台下,则需要下载相应的安装包到本地自行解压安装。
网址为:https://www.sqlite.org/download.html
在获得相应的安装包后,使用以下指令,解压该安装包,并进入该目录。
$ tar vxf sqlite-autoconf-3310100.tar.gz
$ cd sqlite-autoconf-3310100
成功进入目录后,使用如下命令指定安装目录和进行安装操作
$ ./configure --prefix=/usr/local
$ make
$ make install
在完成上述编译与安装步骤后,即可在终端中使用sqlite3,可使用$ sqlite3
命令检查是否安装成功,如若成功,则会显示如下界面
终端下的sqlite3的简单使用(适用于任何平台的sqlite3)
在安装好sqlite3后,便可以在终端里使用sqlite3对数据库进行熟悉的增删改查操作啦~
sqlite3数据库支持的数据类型
1.整型 integer
2.字符型/文本形式 text
3.浮点型 real
4.空类型 null(表示空值)
新建数据库文件/打开数据库文件
直接在终端中使用如下指令新建数据库文件(*代表自定义数据库名称,一般数据库文件已.db结尾),若该目录下有此名称的数据库文件,则会打开文件,若无,则新建已该名称命名的数据库文件。
$ sqlite3 *.db
举例:
退出数据库
退出数据库有两种方式:
sqlite> .exit
sqlite> .quit
sqlite3命令格式
sqlite3使用sql语句,一般以分号进行结尾。
在文件中创建表
使用create table
语句创建表
例如:
sqlite> create table persons(id integer primary key,name text,addr text);
其中,表名为persons,id为主键且为整形,name和addr为文本类型(每个表都可以使用primary key设置主键,每个表只能有一个主键,设置为主键的列数据不能重复)
查看数据库中的表及表属性中的指令
查看数据库中的表
sqlite> .table
参看表属性信息的指令
sqlite> .schema [表名]
修改数据库中的表
增加属性信息/增加一列
sqlite> alter table [表名] add [列名] [数据类型];
修改现有表的表名
sqlite> alter table [表名] rename to [新表名];
删除表
使用drop table
语句删除现有表
sqlite> drop table [表名];
插入表信息
insert into
语句的使用
给一行中所有列赋值
sqlite> insert into [表名] values ([值1],[值2],[值3],……);
给部分列赋值
sqlite> insert into [表名] ([列名1], [列名2], ...) values ([列值1], [列值2], ...);
更新表数据
update语句的使用,使用where根据匹配条件,查找一行或多行,根据查找的结果修改表中相应行的列值(修改哪一列由列名指定)。
sqlite> update [表名] set [列1] = [值1] (, [列2] = [值2], ...) where [匹配条件];
匹配:where 子句
where 子句用于规定匹配的条件
匹配条件语法:(基础)
where 列名 操作符 列值
删除表中数据
使用where根据匹配条件,查找一行或多行,根据查找的结果删除表中的查找到的行。
语法:
sqlite> delete from [表名] where [匹配条件];
注意:
当表中有多列、多行符合匹配条件时会删除相应的多行。
查询表中数据
用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
sqlite> select * from 表名 [匹配条件];
sqlite> select 列名1[, 列名2, ...] from 表名 [匹配条件];
如若要查看到数据更像表格的话,可用如下指令使查询结果按照格式输出。
sqlite> .mode column
sqlite> .header on
至此,即可愉快的在macOS中使用sqlite3数据库啦~~