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-数据准备

#听课进度01:55 

3 必备SQL-条件 

 4必备SQL-通配符

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

6必备SQL–排序

7必备SQL- limit部分数据

8必备SQL-分组

9必备SQL-左右连表

10必备SQL-上下连表

11必备SQL-小结

12表关系

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

14用户授权管理

15今日总结
 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lec7-路由与路由器

lec7-路由与路由器 1. 路由器硬件 路由器的硬件部分&#xff1a; 断电失去&#xff1a; RAM断电不失去&#xff1a;NVRAM&#xff0c; Flash&#xff0c; ROMinterface也算是一部分 路由器是特殊组件的计算机 console 口进行具体的调试 辅助口&#xff08;Auxiliary&…

HP 电脑开机黑屏 | 故障判断 | BIOS 恢复 | BIOS 升级

注&#xff1a;本文为 “HP 电脑开机黑屏 | 故障判断 | BIOS 恢复 | BIOS 升级” 相关文章合辑。 引文图片 csdn 转储异常&#xff0c;重传。 篇 1&#xff1a;Smart-Baby 回复中给出故障现象判断参考 篇 2、篇3 &#xff1a;HP 官方 BIOS 恢复、升级教程 开机黑屏&#xff0c…

代码随想录算法训练营第五十天|图论基础|深度优先搜索理论基础|KM98.所有可达路径|广度优先搜索理论基础

图论基础 1、图的基本概念 二维坐标中&#xff0c;两点可以连成线&#xff0c;多个点连成的线就构成了图。 当然图也可以就一个节点&#xff0c;甚至没有节点&#xff08;空图&#xff09; 2、图的种类 整体上一般分为有向图和无向图&#xff1b; 有向图是指图中边是有方向的…

《Vue3实战教程》40:Vue3安全

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 安全​ 报告漏洞​ 当一个漏洞被上报时&#xff0c;它会立刻成为我们最关心的问题&#xff0c;会有全职的贡献者暂时搁置其他所有任务来解决这个问题。如需报告漏洞&#xff0c;请发送电子邮件至 securityvuejs.org。…

2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined

2025年1月4日蜻蜓q旗舰版st完整开源包含前后端所有源文件开源可商用可二开优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined 产品介绍&#xff1a; 本产品主要贡献者优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined-青史留名&#xff0c;时光如川浪淘…

计算机网络练习题

学习这么多啦&#xff0c;那就简单写几个选择题巩固一下吧&#xff01; 1. 在IPv4分组各字段中&#xff0c;以下最适合携带隐藏信息的是&#xff08;D&#xff09; A、源IP地址 B、版本 C、TTL D、标识 2. OSI 参考模型中&#xff0c;数据链路层的主要功能是&#xff08;…

【UE5 C++课程系列笔记】21——弱指针的简单使用

目录 概念 声明和初始化 转换为共享指针 打破循环引用 弱指针使用警告 概念 在UE C 中&#xff0c;弱指针&#xff08;TWeakPtr &#xff09;也是一种智能指针类型&#xff0c;主要用于解决循环引用问题以及在不需要强引用保证对象始终有效的场景下&#xff0c;提供一种可…

Spring Boot 的自动配置,以rabbitmq为例,请详细说明

Spring Boot 的自动配置特性能够大大简化集成外部服务和组件的配置过程。以 RabbitMQ 为例&#xff0c;Spring Boot 通过 spring-boot-starter-amqp 提供了自动配置支持&#xff0c;开发者只需在应用中添加相关依赖并配置必要的属性&#xff0c;Spring Boot 会自动配置所需的连…

2025/1/4期末复习 密码学 按老师指点大纲复习

我们都要坚信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…

Vulnhub靶场(Earth)

项目地址 https://download.vulnhub.com/theplanets/Earth.ova.torrent 搭建靶机 官网下载.ova文件双击vm打开导入 获取靶机IP kail终端输入 arp-scan -l 获取靶机 IP 192.168.131.184 信息收集 端口扫描 sudo nmap -sC -sV -p- 192.168.131.184 可以看到开启22端口&…

Linux菜鸟级常用的基本指令和基础知识

前言:很多Linux初学者都会头疼于指令太多记不住&#xff0c;笔者刚学习Linux时也是如此&#xff0c;学习Linux指令时&#xff0c;学了后面的指令&#xff0c;前面的指令也会忘的差不多了&#xff0c;针对于以上这些情况&#xff0c;笔者今天来分享一篇Linux菜鸟级的常用指令的博…

使用SSH建立内网穿透,能够访问内网的web服务器

搞了一个晚上&#xff0c;终于建立了一个内网穿透。和AI配合&#xff0c;还是得自己思考&#xff0c;AI配合才能搞定&#xff0c;不思考只依赖AI也不行。内网服务器只是简单地使用了python -m http.server 8899&#xff0c;但是对于Gradio建立的服务器好像不行&#xff0c;会出…

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明&#xff1a;企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…

HTML——75. 内联框架

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>内联框架</title><style type"text/css">iframe{width: 100%;height: 500px;}</style></head><body><!--iframe元素会创建包含…

Ajax原理-XMLHttpRequest

1. XMLHttpRequest 是什么&#xff1f; 和axios的关系&#xff1a; axios 内部采用 XMLHttpRequest 与服务器交互 学习XMLHttpRequest的目的&#xff1a; 掌握使用 XHR 与服务器进行数据交互&#xff0c;了解 axios 内部原理&#xff0c;加强对知识的理解&#xff0c;提升技…

离散数学 期末笔记

命题符号化 使用等值演算法证明 求公式范式 在自然推理体系中构造下列推理的证明 在一阶逻辑中将下列命题符号化 设A、B、C、D是 Z 的子集 证明下列集合恒等式 二元关系 性质 没有空的 没有漏的 没有重复 函数

Fabric环境部署-Git和Node安装

一.安装Git&#xff08;v2.43.0&#xff09; Git 是一个开源的分布式版本管理系统&#xff08;也是全球最大的开源软件存储服务器&#xff09;&#xff0c;用于敏捷高效地处理任何或小或大的项目。搭建区块链需要使用Git&#xff0c;因为区块链的开发和部署需要使用版本控制工…

springCloud 脚手架项目功能模块:Java分布式锁

文章目录 引言分布式锁产生的原因:集群常用的分布式锁分布式锁的三种实现方式I ZooKeeper 简介zookeeper本质上是一个分布式的小文件存储系zookeeper特性:全局数据一致性ZooKeeper的应用场景分布式锁(临时节点)II 基于ZooKeeper 实现一个排他锁创建锁获取锁释放锁Apache Zo…

stm32入门元件介绍

stm32入门元件介绍 文章目录 stm32入门元件介绍入门套件总览套件介绍面包板面包板跳线/飞线杜邦线STM32最小系统板STLINKOLED显示屏LED按键电位器蜂鸣器光敏/热敏电阻传感器/对射式/反射式红外传感器旋转编码器USB转串口MPU6050陀螺仪加速度计W25Q64 Flash闪存TB6612FNG电机驱动…

C语言:调试的概念和调试器的选择

所谓调试&#xff08;Dubug&#xff09;&#xff0c;就是跟踪程序的运行过程&#xff0c;从而发现程序的逻辑错误&#xff08;思路错误&#xff09;&#xff0c;或者隐藏的缺陷&#xff08;Bug&#xff09;。 在调试的过程中&#xff0c;我们可以监控程序的每一个细节&#xff…