【SQLite】SQLite数据库简单使用与Navicat安装-加密

Sqlite为免安装数据库,安装步骤总结:

官网下载Sqlit数据库,官网下载地址:https://www.sqlite.org/download.html

下载:

sqlite-dll-win64-x64-3390400.zip或者32位sqlite-dll-win32

sqlite-tools-win-x64-3440200.zip或者32位sqlite-tools-win32
SQLite 不支持远程连接,因为它是一种文件数据库,需要直接访问数据库文件。

window下

1.将下载后的两个压缩文件,解压到一个文件夹中


2.在此目录-打开命令窗口,输入sqlite3,返回版本信息等内容,如下说明安装成功

cmd执行命令:

sqlite3

2.SQLite安装

Linux系统

Linux中几乎所有版本的 Linux 操作系统都附带 SQLite,所以只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。

sell 复制代码
#运行看看有没有
,没有就行下载:sqlite-tools-linux-x64-3440200.zip-解压

sqlite3

目录:

执行:sqlite3或者sqlite

SQLite命令

复制代码
DDL - 数据定义语言
命令	描述
CREATE	创建一个新的表,一个表的视图,或者数据库中的其他对象。
ALTER	修改数据库中的某个已有的数据库对象,比如一个表。
DROP	删除整个表,或者表的视图,或者数据库中的其他对象。
DML - 数据操作语言

命令	描述
INSERT	创建一条记录。
UPDATE	修改记录。
DELETE	删除记录。
DQL - 数据查询语言
命令	描述
SELECT	从一个或多个表中检索某些记录。

SQLite数据类型
每个存储在 SQLite 数据库中的值都具有以下存储类之一:
存储类	描述
NULL	值是一个 NULL 值。
INTEGER	值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL	值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT	值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB	值是一个 blob 数据,完全根据它的输入存储。
5.SQLite创建数据库,创建表,增加数据等操作
命令不区分大小写

命令操作-Linux系统

复制代码
(1)创建数据库
sqlite3 my.db
(2)查询数据库
.database
(3)创建表
create table user(id int,name text);
(4)查询表
.t
.tables //两种都可以
(5)插入数据
insert into user(id,name)values(1,'kk');
(6)查询表数据
select * from user;//查询所有
select id from user;//查询id底下数据
(7)退出数据库
.q
.quit

win10,使用Navicat操作SQLite3-数据库文件自己建一个.db后缀文件

创建数据库

新建连接

先用txt创建文件,改成db结尾

java

复制代码
        public static string pathSqlite = @"DataSource=C:\Users\admini\Desktop\0602.db";
       
        /// <summary>
        /// 数据库加密
        /// </summary>
        /// <param name="pathsql"></param>
        /// <param name="passWord"></param>
        /// <returns></returns>
        public static bool SetPassWordToSqlite(string passWord)
        {
            bool result = false;
            try
            {
                using (SQLiteConnection cnn = new SQLiteConnection(pathSqlite))
                {
                    cnn.Open();
                    cnn.ChangePassword(passWord);
                    result = true;
                    Console.WriteLine("加密成功!");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "数据库或已加密");
            }
            return result;
        }
	
       public static bool ClearPassWordToSqlite( string passWord)
        {
            bool result = false;
            try
            {
                using (SQLiteConnection cnn = new SQLiteConnection(pathSqlite))
                {
                    cnn.SetPassword(passWord);
                    cnn.Open();
                    cnn.ChangePassword("");
                    result = true;
                    Console.WriteLine("解除密码成功!");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "数据库或已解密");
            }
            return result;
        }

c++

c++ 复制代码
#include <iostream>
#include "sqlite3.h" // SQLite头文件
 
int main() {
    sqlite3 *db;
    int rc = sqlite3_open("database.db", &db); // 打开或创建数据库
    
    if (rc != SQLITE_OK) {
        std::cout << "无法打开/创建数据库!错误信息:" << sqlite3_errmsg(db) << std::endl;
        return -1;
    } else {
        const char* password = "mypassword"; // 要设置的密码
        
        rc = sqlite3_exec(db, "PRAGMA key='mypassword';", NULL, NULL, NULL); // 设置密码
        
        if (rc == SQLITE_OK) {
            std::cout << "成功设置密码连接到SQLite数据库!" << std::endl;
            
            // 这里可以进行其他操作...
            
            sqlite3_close(db); // 关闭数据库连接
        } else {
            std::cout << "无法设置密码连接到SQLite数据库!错误信息:" << sqlite3_errmsg(db) << std::endl;
            sqlite3_close(db); // 关闭数据库连接
            return -1;
        }
    }
    
    return 0;
}
相关推荐
一米阳光86611 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
奈斯先生Vector2 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
Java成神之路-2 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
暗影凋落2 小时前
CMake构建学习笔记-SQLite库的构建
笔记·学习·sqlite
建筑工程企业管理系统3 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
AI大模型-小华4 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
Bruce_Liuxiaowei4 小时前
轻量级 IOC 管理方案:Streamlit 驱动的恶意IP情报平台
网络·jvm·网络协议·tcp/ip·安全
foolishlee5 小时前
Neon wal日志处理流程2
数据库
2601_965798475 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
Cloud云卷云舒6 小时前
海山数据库(HaishanDB)面向工业云场景技术方案
数据库·haishandb·工业云·移动云海山数据库·天工云