【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;
}
相关推荐
山人在山上18 分钟前
arcgis server ip修改后服务异常解决方案
数据库·tcp/ip·arcgis
不剪发的Tony老师40 分钟前
SQL实现新年倒计时功能
数据库·sql
小小药1 小时前
009-spring-bean的实例化流程
java·数据库·spring
DashVector1 小时前
如何通过HTTP API插入或更新Doc
大数据·数据库·数据仓库·人工智能·http·数据库架构·向量检索
hac13221 小时前
瀚高数据库
数据库
小小小妮子~1 小时前
深入理解 MySQL 架构
数据库·mysql·架构
xiaolingting2 小时前
Java 引用是4个字节还是8个字节?
java·jvm·引用·指针压缩
man20172 小时前
【2024最新】基于Python+Mysql+django的水果销售系统Lw+PPT
数据库·mysql·django
度假的小鱼2 小时前
01 Oracle 基本操作
数据库·oracle
张声录12 小时前
【ETCD】【实操篇(十)】基于 ETCD 实现一个简单的服务注册及发现功能
数据库·etcd