sqlite3的安装以及增删改查排序功能的实现

2023-05-16

目录

一、安装sqlite3

1.安装sqlite3数据库:

2.安装编译依赖库:

3.安装可视化界面:

4.验证数据库是否安装成功

二、常用数据库指令及SQL数据类型

1.常用数据库指令

2.常用SQL数据类型

三、数据库操作

1.创建数据库表

2.插入数据到数据库表

3.显示数据库表中的数据

4.修改数据库表中的数据

5.删除数据表中的数据

6.排序显示数据库表中的数据

四、外键策略

五、数据库查询操作

1.单表查询

2.模糊查询

3.多表查询


一、安装sqlite3

1.安装sqlite3数据库:

sudo apt install sqlite3 -y             //安装数据库
sudo apt-get install libreadline-dev -y //安装方向键回溯

2.安装编译依赖库:

sudo apt-get install libsqlite3-dev -y  //用于高级语言程序访问接口

3.安装可视化界面:

sudo apt-get install sqlitebrowser -y   //可视化GUI

可视化界面安装完成后在本地文件鼠标右键以DB Browser for SQLite打开数据库文件(如stu.db)就可以使用了

4.验证数据库是否安装成功

在终端下运行sqlite3 <*.db>,出现如下提示符:

运行: sqlite3 Student.db
出现一下结果:
SQLite version 3.7.2                            #版本号
Enter ".help" from instructions                 #.help 指令显示帮助手册
Enter SQL statements terminated with a ";"      #输入SQL语句需要以 ;分号结尾
sqlite>                                         #指令输入框

二、常用数据库指令及SQL数据类型

1.常用数据库指令

指令	        说明
.help	        #数据库指令帮助手册
.quit	        #退出sqlite3
.database	    #显示当前打开的数据库文件
.tables	        #显示数据库中所有表名
.header on	    #启用表头
.mode column	#使用列显示模式
.schema         #<表名>	查看表的结构
.show	        #显示各种设置的当前值

2.常用SQL数据类型

类型	    说明
int	        #普通整型
integer	    #可增加自动增长约束的整型
real	    #值是一个浮点值,存储为 8 字节的 IEEE 浮点数字
text	    #值是一个文本字符串,使用UTF-8格式编码
char	    #值是一个文本字符串,使用ASCII格式编码,不足部分使用空格填充
varchar	    #值是一个文本字符串,使用ASCII格式编码,不足部分则截止
data	    #值是一个时间文本字符串,使用ASCII格式编码
NULL	    #值是一个 NULL 值

三、数据库操作

1.创建数据库表

create table 表名(列名1 列1类型,列名2 列2类型,...); #创建数据库表语法
#例如创建一个学生信息表                    

create table 学生信息表 (
    学号 integer primary key autoincrement,
    姓名 char(20) not null,
    性别 char(1) default '男' check (性别 = '男' or 性别 = '女'),
    年龄 int check (年龄 > 0 or 年龄 < 60),
    入学时间 date,
    班级 char(10),
    邮箱 char(20) unique
);   
                            
#数据库约束:
#    主键约束:primary key	唯一表示数据库表中的各行/记录
#    非空约束:not null             确保某列不能有 NULL 值
#    默认约束:default              当某列没有指定值时,为该列提供默认值。
#    唯一约束:unique               确保某列中的所有值是不同的。
#    条件约束:check                 确保某列中的所有值满足一定条件。
#    外键约束:foreign key       用来强制 两个表之间”存在”的关系 
#    自动增长:autoincrement 只能跟在integer 类型后面做主键自动增
#              需要与 references 连用并且开启外键功能

#    SQL语句以‘;’结束

2.插入数据到数据库表

#插入一列全部数据
    insert into 表名 values(列值1,列值2,列值3);     
#注意!!!:字符串类型要加单引号,数值类型可以不用加引号
#例如:
    insert into 学生信息表 values(10000,'张三','男',18,'2022-8-20','一班','12345678@qq.com');

#插入一列部分数据
    insert into 表名(列名1,列名4) values(列值1,列值4);
#例如:
    insert into 学生信息表(学号,姓名) values(10000,'张三');

3.显示数据库表中的数据

select 列名1, 列名2, 列名n from 表名;      #显示当前数据库指定表的内容;

#例如: 
    select 学号,姓名 from 学生信息表;   #显示学生信息表所有的学号和姓名
#例如: 
    select * from 学生信息表;  # * 是通配符,表示所有,显示学生信息表的所有信息

#注意:
#1、可以使用数据库指令打印表名     .header on
#2、可以使用数据库指令格式化输出    .mode column

4.修改数据库表中的数据

#SQLite 的 update 用于修改表中已有的记录。
#可以使用带有 where子句的 update  查询来更新选定行,否则所有的行都会被更新
#语法:    
    update 表名 set 列名1=值1,列名2=值2,.. where 条件表达式;
#例如:更新学生信息表中的学号10000的姓名为李白
    update 学生信息表 set 姓名 = '李白' where 学号 = 10000;

5.删除数据表中的数据

#SQLite的delete用于删除表中已有的记录。
#可以使用带有where子句的delete查询来删除选定行,否则所有的记录都会被删除。
#语法:
    delete from 表名 where 条件表达式;
#例如:删除表内所有性别为男的学生
    delete from 学生信息表 where 性别 = '男';

6.排序显示数据库表中的数据

#SQLite的order by子句是用来基于一个或多个列按升序或降序顺序排列数据
#需要与关键字 asc(升序)     desc(降序)搭配使用
#语法:order by 列名 排序关键字
#例如:学生信息表中年龄升序显示
    select * from 学生信息表 order by 年龄 asc;    #升序
    select * from 学生信息表 order by 年龄 desc;   #降序

四、外键策略

#外键约束
#外键约束:foreign key(列名) references 表名(依赖) 嵌入式sqlite3数据库默认关闭外键约束,所以需要打开使用
#执行数据库指令:
                PRAGMA foreign_keys = ON

#功能:让数据库表之间建立关系,例如学生信息表和课程表没有任何关系,但是选课表中的学号和课程科目 分别与学生信息表和课程表有关,当有该学号学生以及有该课程才可以选课。
#注意: 外键约束必须放在末尾,否则建立失败
create table 学生信息表(
    学号 integer primary key autoincrement,
    姓名 char(20) not null
);

create table 课程表 (
        科目 char(20) not null unique
)

create table 选课(
    学号 integer not null,
    科目 char(20) not null,
    unique(学号,科目),
    foreign key(学号) references 学生信息表(学号),
    foreign key(科目) references 课程表(科目)
)

#当插入选课数据时会依赖 学生信息表和课程表进行插入,如果没有则插入失败
#当课程表有相关数据时,删除被依赖表则无法删除

五、数据库查询操作

1.单表查询

#1.显示所有列数据:

	select * from 表名;	# *代表所有数据

#2.显示部分列:

	select column1,column2 from 表名; #只显示 column1,column2 

#3.显示部分行:过滤不需要的行 where

	select * from 表名 where 条件表达式;

#4.起别名: as 关键字

	select 列名1 as 别名名称1 , 列名2 as 别名名称2 from 表名;

#5.算术运算 + 别名

	select 列名1 + 数据 as 别名1 from 表名;

#6.去重操作: distinct 

	select distinct 列名 from 表名''

#7.排序显示: order by        升序 asc  降序 desc

	select * from 表名 order by 列名;		#默认升序

	select * from 表名 order by 列名 desc;	#降序

2.模糊查询

#1.where 字句 + 模糊查询: 

#    	%  代表任意多字符

		例如:select * from 表名 where  列名 like '%数据';

#        _  任意代表一个字符

		例如:select * from 表名 where  列名 like '_数据';

3.多表查询

#1.内连接查询  join 交叉连接:cross   笛卡尔乘积

    select * from 表名1 cross join 表名2;

#2.内连接查询  join 自然连接:natural 自动匹配表内所有同名列数据

    select * from 表名1 natural join 表名2;

#3.内连接查询 join 指定列匹配 :inner 搭配 using

    select * from 表名1 inner join 表名2 using(表2列名);

#4.内连接查询 join 指定列匹配 :inner 搭配 on

    select * from 表名1 inner join 表名2 on(表1.列名 = 表2.列名 );

sqlite3与高级语言对接的具体操作会另作分享,希望这些能够对大家有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlite3的安装以及增删改查排序功能的实现 的相关文章

随机推荐

  • 配置 CentOS 静态IP

    配置 CentOS 静态IP 配置IP地址网关 vi span class token operator span etc sysconfig network scripts ifcfg ens33 span class token ope
  • 字符串的查找以及查重方法总结

    掌握要求 xff1a 1 字符串查找的朴素算法 2 字符串查找的KMP算法 3 哈希表 4 字典树 1 字符串的查找之朴素算法 朴素算法思想很简单 xff0c 就是将待查找字符串t在被查找的字符串s中一一对比 xff0c 如果遇到相同字符就
  • ROS18.04:安装gazebo,下载模型

    一 安装gazebo Ubuntu18 04安装Gazebo并与ROS连接 Jize 的博客 CSDN博客 ubuntu18安装gazebo 其中报错 xff1a 解决 xff1a sudo apt upgrade 二 下载模型 方法一 x
  • Github使用指南(持续更新中)

    一 简介 Github的网页端是www github com GitHub是一个面向开源及私有软件项目的托管平台 xff0c 因为只支持Git作为唯一的版本库格式进行托管 xff0c 故名GitHub GitHub于2008年4月10日正式
  • Linux安装离线版docker

    Linux安装离线版docker 1 docker 离线包下载地址 https download docker com linux static stable x86 64 2 创建 docker service xff0c 代码中 ins
  • Android Studio 超详细 安装SDK 教程

    一 首先安装Android SDK Tools 国内下载地址Android SDK Tools 百度云下载地址链接 xff1a https pan baidu com s 1RmXi8b lxksVS5hJuSLPIg 提取码 xff1a
  • 【Android Studio】win10安装教程 史上最详细

    一 安装Android Studio 1 首先下载Android Studio 官网下载 xff1a Androis Studio 官网 2 双击打开 点击Next 3 选择安装 xff0c 点击Next 4 选择安装路径 xff0c 点击
  • Android Studio 创建手机虚拟机教程

    小白 Android Studio创建手机虚拟机 版本 AndroidStudio 3 5 3 在APP开发中不一定每时每刻都有真机 xff0c 所以可以通过AndroidStudio 创建一个手机虚拟机 1 创建新的手机虚拟机 点击No
  • Android Studio 下载设备虚拟机镜像

    这里以下载手机虚拟机镜像为示例 需要用到的软件 Android SDK Tools 不知道如何安装Android SDK Tools 的请参考 安装Android SDK Tools SDK Manager exe打不开的请参考这里 SDK
  • 【嵌入式】交叉编译 移植 i2cTool4.1 史上最详细

    一 i2ctool 介绍 i2c tools工具是一个专门用来调试 i2c 的 并且是开源的 他可以 xff1a 1 检测有几组i2c总线在系统上 2 查看挂载在i2c上面设备寄存器的数值 3 可以读取挂载在i2c上面设备寄存器的数值 4
  • 【Ubuntu】 vim 安装与美化 史上最详细

    一 安装vim sudo apt get install vim 二 配置vim 针对单个用户配置 vim vimrc 针对全部用户配置 vim etc vim vimrc 三 配置选项 1 我的配置 34 设置编码 set fileenc
  • 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

    一 基本配置 开发环境 xff1a ubuntu16 04 二 准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的 xff0c 所以选择64位 1 拷贝搜狗输入法到ubuntu cp media sf sh
  • 【嵌入式】---交叉编译 移植 ALSA1.2.2

    一 开发环境 开发环境 xff1a ubuntu16 04 开发平台 xff1a imx6q 交叉编译工具链 xff1a arm linux gnueabihf 二 需要的软件 1 alsa lib 下载地址 xff1a alsa lib
  • 【Android Studio 】经典常用开发设置 [最新最详细-持续更新]

    概述 一个好的配置能够帮助开发者完成更便捷 更快速的开发书山有路勤为径 xff0c 学海无涯苦作舟 我是秋知叶i 期望每一个阅读了我的文章的开发者都能够有所成长 一 当前 Android Studio 版本 Android Studio 经
  • 【MobaXterm】登录SSH服务器

    登录SSH远程服务器 一 配置用户信息1 打开Session2 打开SSH3 新建用户4 创建用户 二 配置登录SSH服务器信息三 再次登录服务器 一 配置用户信息 1 打开Session 2 打开SSH 3 新建用户 4 创建用户 输入账
  • 【adb】 win11 配置 adb环境 史上最详细

    官网下载 adb官网下载 下载下来的压缩包platform tools r33 0 3 windows zip 我们解压得到一个platform tools 二 配置adb环境 新建系统变量 点击浏览目录选择解压的文件夹 xff0c 然后点
  • 【Dev-c++】美化配置

    概述 一个好的配置能够帮助开发者完成更便捷 更快速的开发书山有路勤为径 xff0c 学海无涯苦作舟 我是秋知叶i 期望每一个阅读了我的文章的开发者都能够有所成长 一 设置语法格式 点击工具 编辑器选项 选择 语法 点击预设这里选择 Plas
  • 嵌入式Linux调试器GDB的使用

    调试一直是程序开发的重中之重 xff0c 使用GDB调试可以帮助我们快速找到程序中的错误 注意 xff1a 在进行GDB调试之前 xff0c 程序在gcc编译时要加上 g 选项 1 进入GDB xff1a gdb 可执行文件名 2 查看GD
  • 华清数据结构项目实训——学生信息管理系统

    模块划分及主要文件 1 主程序模块 主要功能 xff1a 程序的入口 主要文件 xff1a main c 2 菜单模块 主要功能 xff1a 完成菜单的显示以及登录和调用相应功能函数 主要文件 xff1a menu h menu c 3 学
  • sqlite3的安装以及增删改查排序功能的实现

    目录 一 安装sqlite3 1 安装sqlite3数据库 xff1a 2 安装编译依赖库 3 安装可视化界面 4 验证数据库是否安装成功 二 常用数据库指令及SQL数据类型 1 常用数据库指令 2 常用SQL数据类型 三 数据库操作 1