Sqlite数据库操作
Database 2024/1/15 16:21:17 点击:不统计
http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
一 安装数据库
系统: 命令
ubuntu : apt-get install sqlite3
centos(AliyunOS) :sudo yum install sqlite
Mac OS :brew install sqlite
二 软件操作
(1)安装后查看版本
命令:sqlite3 --version
返回:
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
(2)启动,重启,关闭数据库
由于 SQLite 是一个嵌入式数据库,它没有显式的启动和停止过程。如果你是通过 SQLite Shell 连接的,你可以简单地关闭 Shell 然后重新打开它。可以理解为不用启动的绿色软件。
三 进入sqlite 数据库数据库管理命令行
命令:sqlite3 [数据库文件名]
上面的数据库文件名称可选参数,如果有对应的文件名可以直接进入该数据库,通常以.db 或者.sqlite 为结尾
返回:
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
sqlite>
四 数据库操作
(1) 查看所有数据库
命令: .databases
返回数据库列表
(2)创建一个数据库
命令:ATTACH DATABASE 'example.db' as new_database;
example.db 数据库文件名称,所在路径默认为当前用户目录。
new_database 数据库(别)名称,用于数据库操作
返回:
main:
new_database: /home/sgtime/example.db
(3)使用/操作选中数据库
命令:.open your_database.db # 前面有点
命令: sqlite3 数据库文件名 # 进入数据库时选择数据库
返回:
sqlite> .oepn /home/sgtime/example.db
...>
(4)删除一个数据库
删除数据库分为2步
第一步删除关联关系
命令: detach new_database; # new_database为数据库别名
第二部删除数据库文件
命令: rm ~/example.db # 当前用户目录下。
五 表的操作:
(1)表字段类型有哪些
INTEGER/INT 整型 数字类型,
REAL/FLOAT 浮点型
TEXT 文本类型
BLOB 二进制文件,比如图片文本
NUMERIC 任意数字类型
DATE 存储年月日
TIME 存储时分秒
DATETIME 年月日时分秒
(2) 创建一个表 user ,有三个字段 id 、name、regtime
先选择一个数据库,id 为主键 ,数字自动增长ID ,创建命令最好不要有换行
sqlite>.open xx.db
运行创建命令:
CREATE TABLE user (id INTEGER PRIMARY KEY,name TEXT,regtime DATETIME);
(3)查看所有表
命令 : .tables
先选择一个数据库
sqlite>.open xx.db
sqlite>.tables
user
(4)查看一个表的创建语句,表结构
命令 .schema [table name]
sqlite> .schema user
CREATE TABLE user (id INTEGER PRIMARY KEY,name TEXT,regtime DATETIME);
(5)删除一个表
命令:DROP TABLE your_table_name;
(6)运行一个sql文件
进入sqlite 选数据库后,命令1: .read /path/to/script.sql
系统命令,命令2:sqlite3 /path/to/your/database.db < /path/to/script.sql
两种案例都可以。
(7) 导出表结构
进入sqlite选数据库 后,命令1:.schema
系统命令, 命令2:sqlite3 database.db .schema > output_file.sql
(8) 导出表结构和数据
进入sqlite 选数据库后,命令1:.dump
系统命令, 命令2:sqlite3 database.db .schema > output_file.sql
六 数据操作
(1) 插入数据,主键插入数据时自增可以不用传递
insert into user(name,regtime) values('forasp','2024-10-10 00:19:09');
(2)批量插入数据
insert into user(name,regtime) values('forasp3','2024-10-10 00:19:09'), ('forasp4','2024-12-12 02:19:09');
(2)查询数据
查询所有
sqlite> select * from user;
1|forasp|2024-10-10 00:19:09
2|forasp3|2024-10-10 00:19:09
3|forasp4|2024-12-12 02:19:09
条件查询
sqlite> select * from user where name='forasp4';
3|forasp4|2024-12-12 02:19:09
(3)更新数据
sqlite> update user set name="new name" where name='forasp4';
sqlite> select * from user where name='new name';
3|new name|2024-12-12 02:19:09
(4)删除数据
sqlite> delete from user where name='new name';
sqlite> select * from user;
1|forasp|2024-10-10 00:19:09
2|forasp3|2024-10-10 00:19:09
七 数据库账号 与远程连接
(1) 远程连接,不支持。
SQLite 是一种嵌入式数据库引擎,通常用于在本地应用程序中存储和管理数据。由于其设计目标,SQLite 并不像一些其他数据库系统那样提供远程连接的功能。
(2) 数据库账号
SQLite 是一种嵌入式数据库引擎,通过文件进行权限操作;这里可以理解为没有账号的概念,只有文件概念。
·上一篇:阿里云服务器3306无法连接 >> ·下一篇:MongoDB 数据库操作 >>