Python基础(八)——MySql数据库
一.数据库
【库——>表——>数据】
借助数据库对数据进行组织存储,借助SQL语言对数据库、数据进行操作管理
Mysql数据库
下载:https://www.mysql.com/
查看是否安装配置成功:

安装DBeaver用于Mysql数据库图形化
安装:https://dbeaver.io/

二.SQL语言
结构化查询语言(Structured Query Language),用于访问和处理数据库的标准计算机语言。
基于功能分为四类:
- 数据定义:DDL(Data Definition Language)
- 数据操纵:DML(Data Manipilation Language)
- 数据控制:DCL(Data Control Language)
- 数据查询:DQL(Data Query Language)
(部分)基础列类型:
- int 整数
- float 浮点数
- varchar(长度) 文本,长度为数字,做最大长度限制
- data 日期类型
- timestamp 时间戳类型
特点:
- 大小写不敏感
- 可以单行或多行书写,以分号结束一条语句
- 字符串只支持用单引号表示
命令
| 代码 | 作用 |
|---|---|
| – 注释内容 | 单行注释,–后一定要有一个空格 |
| # 注释内容 | 单行注释,#后可以不加空格,最好加上 |
| /* 注释内容 */ | 多行注释 |
| DDL操作: | |
| mysql -uroot -p | 打开数据库 |
| show databases; | 查看数据库 |
| create database 数据库名 [charset UTF8]; | 创建数据库,中括号内容表示可写可不写 |
| drop database 数据库名; | 删除数据库 |
| select database(); | 查看当前使用的数据库 |
| use 数据库名; | 使用某数据库 |
| drop table 表名; | 删除表 |
| drop table if exists 表名; | 删除表 |
| create table 表名(列名称 列类型,列名称,列类型,……); | 创建表 |
| show tables; | 查看数据库内有哪些表 |
| exit | 退出数据库环境 |
| DML操作: | |
| insert into 表[(列1,列2,……)] values(值1,值2,……)[,(值1,值2,……),……]; | 数据插入,[]中内容代表可省略 |
| delete from 表名 [where 条件判断]; | 数据删除,[]中内容代表可省略。条件判断:(列 操作符 值)操作符包括:=、<、>、>=、<=、!= |
| updata 表名 set 列=值 [where 条件判断]; | 数据更新,[]中内容代表可省略。条件判断同数据删除中类似 |
| DQL操作: | |
| select 字段列表 from 表 [where 条件判断]; | 数据查询,从表中选择某些列进行展示,其中字段列表可以使用*表示所有列。 |
| select 列或聚合函数或* from 表 [where 条件判断] group by 列; | 分组聚合,聚合函数有:sum(列) ——求和、avg(列)——求平均值、min(列)——求最小值、max(列)——求最大值、count(列或*)——求数量。语法限制:group by中包含的列才能在非聚合函数中出现。 |
| select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc]; | 结果排序,[]中内容代表可省略。asc代表升序(默认为升序),desc代表降序; |
| select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc] limit n[,m]; | 结果分页查询限制,[]中内容代表可省略。 |
执行顺序:
from—>where—>group by或聚合函数—>select—>order by—>limit
from和select必须写,其他可按需求省略
use world;create table student(name varchar(10),age int,id int
);
# 插入数据
insert into student(age) values(20),(18),(22),(30);
insert into student(name,id) values('li',20240001),('wang',20240002),('liu',20240003);/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+| 20| || 18| || 22| || 30| |
li | |20240001|
wang| |20240002|
liu | |20240003|
*/# 删除数据
delete from student where age >= 18;
/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+
li | |20240001|
wang| |20240002|
liu | |20240003|
*/# 更新数据
update student set name = 'qi' where id = 20240001;
/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+
qi | |20240001|
wang| |20240002|
liu | |20240003|
*/# 查询数据
select name,id from student;
/*
输出结果:(使用文本显示)
name|id |
----+--------+
qi |20240001|
wang|20240002|
liu |20240003|
*/
select name,id from student where id > 20240001;
/*
输出结果:(使用文本显示)
name|id |
----+--------+
wang|20240002|
liu |20240003|
*/# 查询student表中age大于20的数据,并按照age升序排序
select * from student where age > 20 order by age asc; # 查询student表中age大于20的数据,并按照age升序排序,显示前4条数据
select * from student where age > 20 order by age asc limit 4;# 查询student表中age大于20的数据,并按照age升序排序,显示第2条后的4条数据
select * from student where age > 20 order by age asc
limit 2, 4;
【记录学习过程的笔记,欢迎大家一起讨论,会持续更新】
相关文章:
Python基础(八)——MySql数据库
一.数据库 【库——>表——>数据】 借助数据库对数据进行组织存储,借助SQL语言对数据库、数据进行操作管理 Mysql数据库 下载:https://www.mysql.com/ 查看是否安装配置成功: 安装DBeaver用于Mysql数据库图形化 安装:…...
统一网关--gateway(仅供自己参考)
1、网关的概念: 2、网关的功能: (1):身份认证和权限校验 (2):服务路由(具体的业务路由到具体的服务),负载均衡(多台服务的话ÿ…...
【Leetcode152】分割回文串(回溯 | 递归)
文章目录 一、题目二、思路三、代码 一、题目 二、思路 具体例子和步骤:假设 s "aab",步骤如下: 初始状态: s "aab"path []res [] 第一层递归(外层循环): path []检…...
基于BiGRU+Attention实现风力涡轮机发电量多变量时序预测(PyTorch版)
前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…...
深入探究 Flask 的应用和请求上下文
目标 读完本文后,您应该能够解释: 什么是上下文哪些数据同时存储在应用程序和请求上下文中在 Flask 中处理请求时,处理应用程序和请求上下文所需的步骤如何使用应用程序和请求上下文的代理如何在视图函数中使用current_app和代理request什么…...
C++学习笔记(30)
二十三、随机数 在实际开发中,经常用到随机数,例如:纸牌的游戏洗牌和发牌、生成测试数据等。 函数原型: void srand(unsigned int seed); // 初始化随机数生成器(播种子)。 int rand(); // 获一个取随机数。…...
Rust GUI框架 tauri V2 项目创建
文章目录 Tauri 2.0创建应用文档移动应用开发 Android 前置要求移动应用开发 iOS 前置要求参考资料 Tauri 2.0 Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架…...
C++继承(上)
1.继承的概念 继承是一个类继承另外一个类,称继承的类为子类/派生类,被继承的类称为父类/基类。 比如下面两个类,Student和Person,Student称为子类,Person称为父类。 #include<iostream> using namespace std…...
在 Vim 中打开文件并快速查询某个字符
在 Vim 中打开文件并快速查询某个字符,可以按照以下步骤操作: 打开 Vim 并加载文件: vim your_file.txt将 your_file.txt 替换为你要查询的文件名。 进入普通模式(如果你还在插入模式或其他模式下): Es…...
oracle 条件取反
在Oracle数据库中,条件取反主要通过逻辑运算符NOT来实现。NOT是一个单目运算符,用于对指定的条件表达式取反。当条件表达式为真(True)时,NOT运算符的结果就是假(False);反之…...
力扣最热一百题——缺失的第一个正数
目录 题目链接:41. 缺失的第一个正数 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:标记数组法 1. 将非正数和超出范围的数替换 2. 使用数组下标标记存在的数字 3. 找到第一个未标记的位置 4. 为什么时间复杂…...
零基础入门AI:一键本地运行各种开源大语言模型 - Ollama
什么是 Ollama? Ollama 是一个可以在本地部署和管理开源大语言模型的框架,由于它极大的简化了开源大语言模型的安装和配置细节,一经推出就广受好评,目前已在github上获得了46k star。 不管是著名的羊驼系列,还是最新…...
3.接口测试的基础/接口关联(Jmeter工具/场景一:我一个人负责所有的接口,项目规模不大)
一、Jmeter接口测试实战 1.场景一:我一个人负责所有的接口:项目规模不大 http:80 https:443 接口文档一般是开发给的,如果没有那就需要抓包。 请求默认值: 2.请求: 请求方式:get,post 请求路径 请求参数 查询字符串参数…...
【matlab】将程序打包为exe文件(matlab r2023a为例)
文章目录 一、安装运行时环境1.1 安装1.2 简介 二、打包三、打包文件为什么很大 一、安装运行时环境 使用 Application Compiler 来将程序打包为exe,相当于你使用C编译器把C语言编译成可执行程序。 在matlab菜单栏–App下面可以看到Application Compiler。 或者在…...
从底层原理上解释clickhouse查询为什么快
ClickHouse 是一个开源的列式数据库管理系统,以其极高的查询性能著称。为了理解 ClickHouse 查询为什么快,我们需要从以下几个方面进行深入探讨,包括其架构设计、存储引擎、索引结构、并行化策略以及内存管理等底层原理。 1. 列式存储&#…...
FEAD:fNIRS-EEG情感数据库(视频刺激)
摘要 本文提出了一种可用于训练情绪识别模型的fNIRS-EEG情感数据库——FEAD。研究共记录了37名被试的脑电活动和脑血流动力学反应,以及被试对24种情绪视听刺激的分类和维度评分。探讨了神经生理信号与主观评分之间的关系,并在前额叶皮层区域发现了显著的…...
标准库标头 <bit>(C++20)学习
<bit>头文件是数值库的一部分。定义用于访问、操作和处理各个位和位序列的函数。例如,有函数可以旋转位、查找连续集或已清除位的数量、查看某个数是否为 2 的整数幂、查找表示数字的最小位数等。 类型 endian (C20) 指示标量类型的端序 (枚举) 函数 bit_ca…...
redis群集三种模式:主从复制、哨兵、集群
redis群集有三种模式 redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集 ●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制…...
【MATLAB源码-第225期】基于matlab的计算器GUI设计仿真,能够实现基础运算,三角函数以及幂运算
操作环境: MATLAB 2022a 1、算法描述 界面布局 计算器界面的主要元素分为几大部分:显示屏、功能按钮、数字按钮和操作符按钮。 显示屏 显示屏(Edit Text):位于界面顶部中央,用于显示用户输入的表达式和…...
基于yolov8的红外小目标无人机飞鸟检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
【算法介绍】 基于YOLOv8的红外小目标无人机与飞鸟检测系统是一项集成了前沿技术的创新解决方案。该系统利用YOLOv8深度学习模型的强大目标检测能力,结合红外成像技术,实现了对小型无人机和飞鸟等低空飞行目标的快速、准确检测。 YOLOv8作为YOLO系列的…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
