【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;
}
相关推荐
IvorySQL39 分钟前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德1 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫1 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i1 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
冰暮流星2 小时前
sql语言之分组语句group by
java·数据库·sql
符哥20082 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql