python进阶06:MySQL
课后大总结
Day1
一、数据库命令总结
1.连接数据库
连接数据库进入mysql安装目录打开bin文件夹,输入cmd(此命令后无分号)mysql.exe -u root -ppassword命令后输入密码:root
设置密码set password=password("root123");
查看所有数据库show databases;
创建数据库create database day1db DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库drop database day1db;
进入数据库use day1db;
查看数据库中的表show tables;
退出数据库exit;
2.创建表
(1)创建表的基本语法格式(查阅豆包得出):
CREATE TABLE [IF NOT EXISTS] table_name (column1 datatype constraint,column2 datatype constraint,...columnN datatype constraint
);
CREATE TABLE:这是创建表的关键字命令。
[IF NOT EXISTS]:这是一个可选的部分。如果加上这个选项,当要创建的表名不存在时才会创建表。如果表已经存在,就不会执行创建操作,这样可以避免因为表名重复而导致的错误。
table_name:这是要创建的表的名称,表名在数据库中应该是唯一的,并且要符合 MySQL 的命名规则(例如,表名通常由字母、数字和下划线组成,不能以数字开头等)。
column1, column2,..., columnN:这些是表中的列名。每一列代表表中的一个数据字段,例如在一个学生表中,可能有student_id(学生编号)、student_name(学生姓名)等列。
datatype:这是列的数据类型。MySQL 支持多种数据类型,如INT(整数型)、VARCHAR(可变长字符串)、DATE(日期型)等。不同的数据类型用于存储不同种类的数据,并且有不同的存储要求和限制。
constraint:这是列的约束条件。约束用于定义列中数据的规则,常见的约束有PRIMARY KEY(主键约束,用于唯一标识表中的每一行)、NOT NULL(非空约束,规定列中的数据不能为空)、UNIQUE(唯一约束,保证列中的数据是唯一的)等。
3.数据类型datatype
1.整数int 表示有符号,取值范围:-2147483648~2147483647int unsigned 表示无符号,取值范围:0~4294967295int(5)zerofi11 仅用于显示,当不满足5位时,按照左边补0,例如:00002;满足时,正常显示。tinyint((m))[unsigned][zerofi11]有符号,取值范围:-128~127无符号,取值范围:0~ 255bigint[(m)][unsigned][zerofi11]有符号,取值范围:-9223372036854775808~9223372036854775807无符号,取值范围:0~18446744073709551615
2.小数decimal[(m[,d])][unsigned][zerofill]准确的小数值,m是数字总个数(负号不算),d是小数点后个数。m最大值为65,d最大值为30。FLOAT[(M,D)】[UNSIGNED][ZEROFILL]单精度浮点数,非准确小数值,m是数字总个数,d是小数点后个数。DOUBLE[ (M,D)][UNSIGNED][ZEROFILL]双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
3.文本char(m)定长字符串,m代表字符串的长度,最多可容纳255个字符。定长的体现:即使内容长度小于m,也会占用m长度。例如:char(5),数据是:yes,底层也会占用5个字符;如果超出m长度限制(默认MySQL是严格模式,所以会报错)。varchar(m)变长字符串,m代表字符串的长度,最多可容纳65535个字节。变长的体现:内容小于m时,会按照真实数据长度存储;如果超出m长度限制((默认MySQL是严格模式,所以会报错)。texttext数据类型用于保存变长的大字符串,可以组多到65535(2**16-1)个字符。一般情况下,长文本会用text类型。例如:文章、新闻等。mediumtextA TEXT column with a maximum length of16,777,215(2**24-1)characters.longtextTEXT column with amaximum length of4,294,967,295 or 4GB(2**32-1)
4.时间datetimeYYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59)timestampYYYY-MM-DD HH:MM:SS(1970-01-0100:00:00/2037年)对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储,查询时,将其又转化为客户端当前时区进行返回。
4.约定条件constraint
null 允许为空
not null 不允许为空
default 3 设置默认值为3,也可以设置为其他值
primary key 主键(不允许为空、不能重复)
auto_increment 自增
5.mysql增删改查
1.新增数据(1)新增单行数据insert into 表格(列名1,名2,列名3) values(数据1,数据2,数据3);(2)新增多行数据insert into 表格(列名1,名2,列名3) values(数据1,数据2,数据3),(数据4,数据5,数据6);说明:values后多行数据用逗号隔开。(3)不输入列名新增数据insert into 表格 values(数据1,数据2,数据3);说明:表示按默认列顺序插入数据,插入的数据数量必须和列的位置及数量一致,否则会报错。
2.删除数据delete from 表名;delete from 表名 where 条件;说明:1.条件用“=”“>”,"<",">=","<=","!="等符号表示,切记不用python中的“==”。2.条件可以使用and和or连接符进行连接。
3.修改数据update 表名 set 列名=值 where 条件;说明:1.值可以是一个具体的数值,也可以是表达式,也可以是一个函数(见mysql函数总结)。2.条件用法同删除数据中的where中条件用法。3.如果不添加where条件是不是修改的为整列数据,操作验证一下。
4.查询数据select * from 表名; 查询所有数据select 列名1,列名2,列名3 from 表名; 查询表中名称为列名1,列名2,列名3中的数据select * from 表名 where 条件; 查询表中符合where条件的数据select 列名1,列名2,列名3 as 别名1,别名2,别名3 from 表名; 查询表中名称为列名1,列名2,列名3中的数据,显示结果时对应的列名分别为别名1,别名2,别名3
6.mysql函数
来自豆包。
(1)数学函数
ABS()
功能:返回一个数的绝对值。 示例:ABS(-5)返回5。
CEIL()、CEILING()
功能:返回大于或等于给定数字的最小整数。 示例:CEIL(4.2)返回5,CEILING(4.8)也返回5。
FLOOR()
功能:返回小于或等于给定数字的最大整数。 示例:FLOOR(4.8)返回4。
ROUND()
功能:对给定数字进行四舍五入。可以指定小数位数。 示例:ROUND(4.4)返回4,ROUND(4.5)返回5,ROUND(4.123, 2)返回4.12(保留两位小数)。
TRUNCATE()
功能:截断数字,直接舍去指定小数位数后的数字。 示例:TRUNCATE(4.123, 2)返回4.12。
MOD ()、%(取模运算符)
功能:返回除法运算的余数。 示例:MOD(7, 3)或7 % 3都返回1。
POW()、POWER()
功能:计算一个数的幂次方。 示例:POW(2, 3)或POWER(2, 3)都返回8(计算 2 的 3 次方)。
SQRT()
功能:计算一个数的平方根。 示例:SQRT(9)返回3。
(2)字符串函数
CONCAT()
功能:将多个字符串连接成一个字符串。 示例:CONCAT('Hello', ', ', 'World')返回Hello, World。
SUBSTRING()、MID()
功能:从字符串中提取子字符串。可以指定起始位置和长度。 示例:SUBSTRING('Hello World', 7, 5)或MID('Hello World', 7, 5)都返回World(从第 7 个字符开始取 5 个字符)。
LEFT()
功能:从字符串的左边提取指定长度的子字符串。 示例:LEFT('Hello World', 5)返回Hello。
RIGHT()
功能:从字符串的右边提取指定长度的子字符串。 示例:RIGHT('Hello World', 5)返回World。
LENGTH()、CHAR_LENGTH()
功能:返回字符串的长度。对于多字节字符集,CHAR_LENGTH()更准确。 示例:LENGTH('Hello')返回5,CHAR_LENGTH('你好')返回2。
LOWER()、LCASE()
功能:将字符串转换为小写。 示例:LOWER('HELLO')或LCASE('HELLO')都返回hello。
UPPER()、UCASE()
功能:将字符串转换为大写。 示例:UPPER('hello')或UCASE('hello')都返回HELLO。
REPLACE()
功能:替换字符串中的指定子字符串。 示例:REPLACE('Hello World', 'World', 'MySQL')返回Hello MySQL。
TRIM()、LTRIM()、RTRIM() 功能:去除字符串两端(TRIM())、左边(LTRIM())或右边(RTRIM())的空格或指定字符。 示例:TRIM(' Hello ')返回Hello,LTRIM(' Hello')返回Hello,RTRIM('Hello ')返回Hello。
(3)日期和时间函数
CURRENT_DATE()、CURDATE()
功能:返回当前日期。 示例:CURRENT_DATE()或CURDATE()在执行时返回当天日期,格式为YYYY - MM - DD。
CURRENT_TIME()、CURTIME()
功能:返回当前时间。 示例:CURRENT_TIME()或CURTIME()在执行时返回当前时间,格式为HH:MM:SS。
NOW()、SYSDATE()
功能:返回当前日期和时间。 示例:NOW()和SYSDATE()在执行时返回当前日期和时间,格式为YYYY - MM - DD HH:MM:SS。
DATE_ADD()、ADDDATE()
功能:向日期添加指定的时间间隔。可以是年、月、日、小时、分、秒等。 示例:DATE_ADD('2023 - 01 - 01', INTERVAL 1 DAY)或ADDDATE('2023 - 01 - 01', 1)都返回2023 - 01 - 02(向后加 1 天)。
DATE_SUB()、SUBDATE()
功能:从日期中减去指定的时间间隔。 示例:DATE_SUB('2023 - 01 - 01', INTERVAL 1 DAY)或SUBDATE('2023 - 01 - 01', 1)都返回2022 - 12 - 31(向前减 1 天)。
DATEDIFF()
功能:计算两个日期之间的天数差。 示例:DATEDIFF('2023 - 01 - 03', '2023 - 01 - 01')返回2。
TIMEDIFF()
功能:计算两个时间之间的时间差。 示例:TIMEDIFF('10:00:00', '09:00:00')返回01:00:00。
(4)聚合函数
COUNT()
功能:统计行数。可以用于统计某个列的非空值数量或者整个表的行数。 示例:COUNT(*)统计表中的所有行数,COUNT(column_name)统计column_name列的非空值数量。
SUM()
功能:计算某列数值的总和。 示例:对于一个sales表中的amount列,SUM(amount)可以计算总销售额。
AVG()
功能:计算某列数值的平均值。 示例:对于一个scores表中的score列,AVG(score)可以计算平均分数。
MAX()
功能:返回某列中的最大值。 示例:在一个prices表中的price列,MAX(price)返回最高价格。
MIN()
功能:返回某列中的最小值。 示例:在一个temperatures表中的temperature列,MIN(temperature)返回最低温度。
(5)其他函数
IF()
功能:根据条件返回不同的值。类似于编程语言中的条件判断。 示例:IF(condition, value_if_true, value_if_false),如IF(score > 60, 'Pass', 'Fail')根据score的值判断是否及格。 CASE WHEN...THEN...ELSE...END
功能:实现更复杂的条件判断和返回值。
7.python操作excel语法
Day2
Day3
Day4
Day1
1 MySQL数据库概述







2今日概要

3 windows系统-MySQL环境















老师说,加环境变量自己加。
4 mac系统-MySQL环境搭建
5 配置和密码相关



6 数据库的管理



命令汇总:
查看所有数据库
show databases;
创建数据库
create database day1db DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库
drop database day1db;
进入数据库
use day1db;
查看数据库中的表
show tables;






7 数据表的管理








管理表命令
创建表
create table tab1(id int,name varchar(16)
)default charset=utf8;查看列名
desc tab1;create table L1(id int,uid int unsigned,zid int(6) zerofill
)default charset=utf8;
# 学习进度12:31
8 数据表-列类型-整型


9 数据表-列类型-小数



10 数据表-列类型-字符串





11 数据表-列类型-时间



12 数据表-小结

13 数据表-python代码操作


14 数据行-增删改查








15 数据行-python操作和应用案例








16 SQL注入





17 今日总结和作业





Day2
1 今日概要

2 必备SQL-数据准备



3 必备SQL-条件




4必备SQL-通配符
% 表示任意字符"%佩%" 表示以任意字符开头,以任意字符结尾,中间是汉字“佩”"%佩" 表示以任意字符开头,结尾是汉字“佩”"吴%奇" 表示以汉字“吴”开头,以汉字“奇”结尾,中汉是任意字符注意:这里的任意字符可以多个或一个字符
_ 表示一个字符"_peiqi@live.com" 表示peiqi@live.com前面可以是任意一个字符,切记只能有一个字符


5必备SQL-指定列(映射)














6必备SQL–排序



7必备SQL- limit部分数据






8必备SQL-分组






个人理解:MySQL中的分组中pandas中不一样。
9必备SQL-左右连表
















10必备SQL-上下连表
老师说上下连接不常用。



11必备SQL-小结

12表关系
MySQL中,表关系主要由外键约束来实现。









13表关系案例:简易版路飞学城



14用户授权管理











15今日总结

Day3
1今日概要

2 题目介绍







3 SQL强化-表和数据的导入导出
4 SQL强化-第2至18题
5 SQL强化-第19至34题
6SQL强化-35至结束
7 博客系统-表结构设计
Day4
1 今日概要
2 索引概述
3 常见索引
4 案例:博客系统
5 查询是要命中索引呀
6 执行计划
7 索引小结
8 MySQL函数
相关文章:
python进阶06:MySQL
课后大总结 Day1 一、数据库命令总结 1.连接数据库 连接数据库进入mysql安装目录打开bin文件夹,输入cmd(此命令后无分号)mysql.exe -u root -ppassword命令后输入密码:root 设置密码set passwordpassword("root123"); 查看所有数据库show databases; …...
mac 使用zip2john破解zip压缩包密码
一、下载: git clone https://github.com/magnumripper/JohnTheRipper.git cd JohnTheRipper/src ./configure sudo make -s clean && sudo make -sj4 cd ../run二、使用: zip2john提取提取 ZIP 文件的哈希: ./zip2john protecte…...
若依中Feign调用的具体使用(若依微服务版自身已集成openfeign依赖,并在此基础上定义了自己的注解)
若依中Feign调用具体使用 注意:以下所有步骤实现的前提是需要在启动类上加入注解 EnableRyFeignClients 主要是为开启feign接口扫描 1.创建服务提供者(provider) 导入依赖(我在分析依赖时发现若依本身已经引入openfeign依赖,并在此基础上自定义了自己的EnableRyF…...
【算法题系列】LeetCode 5.最长回文子串|JavaScript 5种思路实现
题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: &q…...
基于ROS先验地图的机器人自主定位与导航SLAM
2021年学习,当时参加科大讯飞的智能车大赛, 【语音交互启动-teb算法路径规划A*算法自动避障路径最短优化yolo5目标检测视觉结果判断分类终点指定点位自动泊车语音播报。】 【讯飞学院】http://www.iflyros.com/home/ 一、全局路径规划中的地图 栅格地图&…...
nginx 1.6.3配置虚拟主机与rewrite-location匹配规则
1、 Nginx 虚拟主机配置(配置文件末尾以分号[;]结尾) (1) 准备测试目录站点 [rootWEB conf]# cd /application/nginx/conf/ [rootWEB conf]# mkdir extra (创建虚拟主机存放目录࿰…...
1130-host ... is not allowed to connect to this MySql serve
局域网内另外一台电脑使用navicat连接Mysql出现上述问题:不允许连接 解决方案: 1、输入命令:进入mysql mysql -u root -p 2、输入命令:展示所有数据库 show databases; 3、输入命令进入mysql数据库: use mysql; 4、…...
力扣1502判断能否形成等差数列
class Solution:def canMakeArithmeticProgression(self, arr: List[int]) -> bool:# 对数组进行排序arr.sort()# 计算公差diff arr[1] - arr[0]# 从第二个元素开始逐个检查差值是否一致for i in range(1, len(arr) - 1):if arr[i 1] - arr[i] ! diff:return Falsereturn …...
Python版本变更历史及版本选择指南
Python版本变更历史及版本选择指南 Python版本变更历史及版本选择指南1. Python 3.13.1(2023年发布)主要特性适用场景 2. Python 3.12(2022年发布)主要特性 3. Python 3.11(2022年发布)主要特性 4. Python …...
初始值变量类型
状态名同步位置初始值变量类型不支持的UL刷新注意事项State父组件必填Object、classstring、number、boolean、enum类型,以及这些类型的数组。支持Date类型。对象的对象数组属性更新数组对象的属性更新 State装饰的变量必须初始化,否则编译期会报错。Sta…...
苍穹外卖 项目记录 day03
文章目录 菜品管理模块开发公共字段填充自定义注解 AutoFill自定义切面 AutoFillAspect在Mapper接口的方法上加入 AutoFill 注解 新增菜品文件上传实现新增菜品实现菜品分页查询删除菜品实现修改菜品实现 菜品管理模块开发 公共字段填充 在新增员工或者新增菜品分类时需要设置…...
统计字符【2】(PTA)C语言
本题要求编写程序,输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。 输出格式: 在一行内按照…...
如何在 Spring Cloud Gateway 中创建全局过滤器、局部过滤器和自定义条件过滤器
Spring Cloud Gateway 是一个功能强大的 API 网关,能够处理 HTTP 请求、响应及路由。通过过滤器机制,您可以在请求和响应过程中进行各种处理操作,如记录日志、身份验证、限流等。Spring Cloud Gateway 提供了三种主要类型的过滤器:…...
PINN模型详解
定义与原理 物理信息神经网络(Physics-Informed Neural Networks, PINN)是一种创新性的机器学习模型,巧妙地将物理知识与深度学习相结合。这种独特的设计理念源于Karniadakis教授的研究团队,他们在一系列开创性工作中提出了这一概念。 PINN的核心思想是在神经网络的损失函数…...
查找路由器的管理后台ip【通用找IP】
需求: 刚刚搞了个【小米】路由器,我想进路由的管理后台,提示:安装xx的路由管家,我不想安装 但是无法找到这个管理后台。 而且我是用这个路由作为中继,那么这个路由的ip就会经常更换 尝试通过网上搜索引擎来…...
AI如何改变IT行业
AI如何改变IT行业 在当今数字化的社会中,人工智能(AI)不仅仅是一个技术词汇,而是一个正在重塑我们生活的现实时态。如果把AI比作一场即将到来的暴风雨,那么IT行业就是它的海洋。在这场风暴中,所有的船只都…...
运行vue项目,显示“npm”无法识别为 cmdlet、函数、脚本文件或可操作程序的名称
PS D:\weduproject\wedu1\wedu\wedu-fast-vue> npm run dev,运行时出现像下面这样的报红信息, npm : The term npm is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or …...
Kubernetes开发环境minikube | 开发部署apache tomcat web单节点应用
minikube是一个主要用于开发与测试Kubernetes应用的运行环境 本文主要描述在minikube运行环境中部署J2EE tomcat web应用 minikube start --force minikube status 如上所示,在Linux中启动minikube运行环境 service docker start docker version service docker …...
OpenCV相机标定与3D重建(44)初始化广角(鱼眼)相机的投影映射函数initWideAngleProjMap()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::initWideAngleProjMap 是 OpenCV 库中的一个函数,用于初始化广角(鱼眼)相机的投影映射。这个函数生成两个…...
现代前端框架
截至2025年,现代前端框架领域仍然以React、Vue和Angular等成熟框架为主导,同时一些新兴框架也在不断崛起和发展。以下是目前较为先进和受欢迎的前端框架: 成熟框架 React 由Facebook开发,是目前最流行的前端框架之一。它使用声明…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
