【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。

#运行看看有没有
,没有就行下载: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++

#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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/260078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea 如何使用 JaCoCo 跑覆盖率

背景介绍 什么代码覆盖&#xff1f; 代码覆盖(Code coverage)是软件测试中的一种度量&#xff0c;描述程序中源代码被测试的比例和程度&#xff0c;所得比例称为代码覆盖率。简单来理解&#xff0c;就是单元测试中代码执行量与代码总量之间的比率。 Java常用的单元测试覆盖率…

微软 Visual Studio 迎来 AI 建议命名功能

目录 1微软 Visual Studio 迎来 AI 建议命名功能 2专访核桃编程CEO曾鹏轩&#xff1a;实操是掌握编程技能的唯一办法 1微软 Visual Studio 迎来 AI 建议命名功能 IT之家 12 月 19 日消息&#xff0c;使用付费 GitHub Copilot Chat 扩展的 Visual Studio Preview 用户&#xf…

Vue 2.5 入门学习记录

Vue 2.5 入门学习记录 1. 基础知识Vue 是什么Vue引入方式Vue特点Vue实例中的数据事件方法Vue中的属性绑定和双向绑定Vue中的v-if、v-show、v-fortoDoList制作局部组件&全局组件 2. vue-cli工程3. 工程案例实践使用vue-cli实现todoList及删除某个元素全局样式与局部样式 4. …

【K8s】#1使用kuboard-spray安装K8s集群

文章目录 搭建k8s集群1.推荐配置1.1.服务器配置1.2.软件版本 2.使用Kuboard-Spray安装k8s集群2.1.配置要求2.2.操作系统兼容性2.3.安装 Kuboard-Spray2.4.加载离线资源包2.5.规划并安装集群2.6.安装成功2.7.访问集群 3.涉及的命令3.1.linux 4.问题汇总Q1&#xff1a;启动离线集…

AI创作系统ChatGPT商业运营网站系统源码,支持AI绘画,GPT语音对话+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

2023 英特尔On技术创新大会直播 |AI小模型更有性价比

前言&#xff1a; 今年是引爆AI的一年&#xff0c;从幼儿园的小朋友到80岁的老奶奶都认识AI&#xff0c;享受AI带来的便捷&#xff0c;都在向市场要智能&#xff0c;但AI的快速发展离不开底层硬件设施的革新。 英特尔是全球知名的半导体公司&#xff0c;专注于计算机处理器和芯…

【C语言】指针详解(一)

目录 1.内存和地址 1.1内存 1.2如何理解编址 2.指针变量和地址 2.1取地址操作符&#xff08;&&#xff09; 2.2指针变量和解引用操作符&#xff08;*&#xff09; 2.2.1指针变量 2.2.2拆解指针类型 2.2.3解引用操作符 2.3指针变量大小 1.内存和地址 1.1内存 在讲内…

【Docker-4】Docker 命令

1、镜像管理命令 docker images #查看本机镜像 [rootdocker-0001 ~]# docker imagesdocker search 镜像名称 #从官方仓库查找镜像 [rootdocker-0001 ~]# docker search busybox #需要联网&#xff0c;本次不用操作docker pull 镜像名称:标签 #下载镜像 [rootdocke…

Observability:捕获 Elastic Agent 和 Elasticsearch 之间的延迟

在现代 IT 基础设施的动态环境中&#xff0c;高效的数据收集和分析至关重要。 Elastic Agent 是 Elastic Stack 的关键组件&#xff0c;通过促进将数据无缝摄取到 Elasticsearch 中&#xff0c;在此过程中发挥着至关重要的作用。 然而&#xff0c;显着影响此过程整体有效性的关…

英国呼叫中心的功能

随着互联网的普及和信息技术的发展&#xff0c;越来越多的企业需要通过呼叫中心来管理客户关系和提供售后服务。英国作为主要的海外外贸市场之一&#xff0c;也是呼叫中心面向客户服务的重要国家。 英国呼叫中心的功能 英国呼叫中心的功能大致分为四类&#xff1a;接听电话、…

DC-8靶场

目录 DC-8靶场链接&#xff1a; 首先进行主机发现&#xff1a; sqlmap得到账号密码&#xff1a; 反弹shell&#xff1a; exim4提权&#xff1a; Flag&#xff1a; DC-8靶场链接&#xff1a; https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…

Flink(十)【处理函数】

前言 冬天学习成本太高了&#xff0c;每天冻得要死&#xff0c;自习室人满为患&#xff0c;确实是辛苦。学校基本的硬件条件差的一批&#xff08;图书馆贼小贼偏僻、老教室暖气还没有地板热、空教室还得自己一个一个挨着找&#xff09;&#xff0c;个体无法改变环境只能顺应了&…

YOLOv8改进 | 主干篇 | 利用MobileNetV1替换Backbone(轻量化网络结构)

一、本文介绍 本文给大家带来的改进机制是MobileNetV1&#xff0c;其是专为移动和嵌入式视觉应用设计的轻量化网络结构。这些模型基于简化的架构&#xff0c;并利用深度可分离卷积构建轻量级深度神经网络&#xff0c;其引入了两个简单的全局超参数&#xff0c;用于在延迟和准确…

数字图像处理 基于Numpy、PyTorch在频率空间中建模运动模糊

一、简述 运动模糊在图像中很常见,它会降低图像的价值,因为它会破坏图像中包含的数据。在计算机视觉中,通常通过使用许多不同的模糊增强来训练神经网络以适应这种模糊。建模模糊或图像退化的概念来自图像恢复,这是逆转退化影响的过程,以便人类或算法可以辨别原始捕获的数据…

反序列化 [SWPUCTF 2021 新生赛]ez_unserialize

打开题目 查看源代码 得到提示&#xff0c;那我们用御剑扫描一下看看 我们知道有个robots.txt&#xff0c;访问一下得到 那我们便访问一下 cl45s.php看看 得到网站源代码 <?phperror_reporting(0); show_source("cl45s.php");class wllm{public $admin;public …

Linux c++开发-11-Socket TCP编程简单案例

服务端&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #include <sys/types.h>#include <errno.h>int main(void) {//1.socketint server_sock socket(A…

YOLOv5性能评估指标->mAP、Precision、Recall、FPS、Confienc (讲解论文关注的主要指标)

简介 这篇博客&#xff0c;主要给大家讲解我们在训练yolov5时生成的结果文件中各个图片及其中指标的含义&#xff0c;帮助大家更深入的理解&#xff0c;以及我们在评估模型时和发表论文时主要关注的参数有那些。本文通过举例训练过程中的某一时间的结果来帮助大家理解&#xf…

可狱可囚的爬虫系列课程 07:BeautifulSoup4(bs4)库的使用

前面一直在讲 Requests 模块如何使用&#xff0c;那都是在请求阶段要做的事情&#xff0c;相信很多网友都在等一个能够开始爬网站信息的教程&#xff0c;今天它来了&#xff0c;今天我要给大家讲一个很简单易懂的库&#xff1a;BeautifulSoup4。 一、概述&安装 Beautiful…

IDEA Community html文件里的script标签没有syntax highlighting的解决方案

在网上找到的解决方法有的是针对Ultimate版本才可以下载的plugin&#xff0c;对我所用的Community版本无法生效&#xff0c;找了一圈最后在stackoverflow上找到一个有效的方案&#xff0c;给需要的小伙伴分享一下&#xff1a;IntelliJ Community Edition: Javascript syntax hi…

深度学习模型压缩方法:剪枝方法分类介绍

本文将介绍深度学习模型压缩方法中的剪枝,内容从剪枝简介、剪枝步骤、结构化剪枝与非结构化剪枝、静态剪枝与动态剪枝、硬剪枝与软剪枝等五个部分展开。 一、剪枝简介 在介绍剪枝之前,首先介绍过参数化这个概念,过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解…