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系列的…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...
