当前位置: 首页 > news >正文

SQL-Python

师从黑马程序员

数据库介绍

数据库就是存储数据的库

数据组织:库->表->数据

数据库和SQL的关系

MySQL的基础命令

 

SQL基础

SQL语言的分类

SQL的语法特征

DDL-库管理

show DATABASES;use sys;SELECT database();CREATE DATABASE test CHARSET utf-8;SHOW DATABASES;-- drop DATABASE test01;

DDL-表管理

use students;show TABLES;CREATE TABLE student(id int,name VARCHAR(10),age int 
);drop table student;

DML-数据操作

数据插入-INSERT

create table student(id int,name VARCHAR(10),age int
);insert into student(id) VALUES(1),(2),(3);# 等价于
-- insert into student(id) VALUES(1);
-- insert into student(id) VALUES(1);
-- insert into student(id) VALUES(1);
insert into student(id,name,age) VALUES(4,'周杰伦',31),(5,'领军解',33);

数据删除-DELETE

DELETE from student WHERE id =4;

数据更新-Update

UPDATE student set name ='张学友' where id ='5';

注:字符串的值,出现在SQL语句中,必须要用单引号

DQL-数据查询

基础数据查询

select id,name,age from student;select * from student;SELECT * from student where age>20;
select * from student where name ='张学友';

分组聚合

select id,avg(age) from student group by id;

-- 在非聚合函数中,GROUP BY 后出现什么,select 才能出现什么,但对像聚合函数avg()不适用

select id,avg(age),sum(age),min(age),max(age),count(*) from student group by id;

排序分页

结果排序

 

结果分页限制

select * from student where age >20 order by age ASC;
-- asc升序  de 降序

select * from student limit 5;
-- 只查询5条数据SELECT * from student LIMIT 10,5;
-- 6跳过前10条数据,然后查询5条数据-- 可以和其他语句结合
select age,count(*) from student where age>20 group by age ORDER BY age LIMIT 3;

Python操作MySQL语句

创建到MySQL的数据库链接

from pymysql import Connection#构建到MySQL数据库的链接
conn=Connection(host="localhost",   #主机名port=3306,  #端口user="root",    #账户password="5863AXzy@"    #密码
)# print(conn.get_server_info())#打印出数据库的基本信息#执行非查询性质SQL
# cursor=conn.cursor()    #获取游标对象
# #选择数据库
# conn.select_db("students")
# #执行sql          #传入sql语句
# cursor.execute("create table students_pymysql(id int);")#创建一个在students库下的students_pymysql表    #分号可不写#执行查询性质的SQL
cursor=conn.cursor()    #获取游标对象
#选择数据库
conn.select_db("students")
#执行sql          #传入sql语句
cursor.execute("select * from student")
#拿到上述语句的结果
results=cursor.fetchall()   #生成的是元组
for r in results:print(r)
#关闭链接
conn.close()

commit-提交

from pymysql import Connection#构建到MySQL数据库的链接
conn=Connection(host="localhost",   #主机名port=3306,  #端口user="root",    #账户password="5863AXzy@"    #密码
)#执行查询性质的SQL
cursor=conn.cursor()    #获取游标对象
#选择数据库
conn.select_db("students")
#执行sql          #传入sql语句
cursor.execute("insert into student values(1,'张学友',23)")
#通过commit确认
conn.commit()
#关闭链接
conn.close()

自动commit

from pymysql import Connection#构建到MySQL数据库的链接
conn=Connection(host="localhost",   #主机名port=3306,  #端口user="root",    #账户password="5863AXzy@",    #密码autocommit=True #自动提交
)#执行查询性质的SQL
cursor=conn.cursor()    #获取游标对象
#选择数据库
conn.select_db("students")
#执行sql          #传入sql语句
cursor.execute("insert into student values(1,'林俊杰',23)")#关闭链接
conn.close()

综合案例

DDL定义

"""
SQL 综合案例,读取文件,写入MySQL
"""
from file_define import  TextFileReader, JsonFileReader
from data_define import Record
from pymysql import Connectiontext_file_reader = TextFileReader("D:/2011年1月销售数据.txt")
json_file_reader = JsonFileReader("D:/2011年2月销售数据JSON.txt")jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()
# 将2个月份的数据合并为1个list来存储
all_data: list[Record] = jan_data + feb_data#构建MySQL链接对象
conn=Connection(host="localhost",port=3306,user="root",password="5863AXzy@",autocommit=True
)
#获得游标对象
cursor=conn.cursor()
#选择数据库
conn.select_db("py_sql")
#组织SQL语句
for record in all_data:sql = "INSERT INTO orders(order_date, order_id, money, province) VALUES (%s, %s, %s, %s)"cursor.execute(sql, (record.date, record.order_id, record.money, record.province))conn.close()

若有侵权,请联系作者

相关文章:

SQL-Python

师从黑马程序员 数据库介绍 数据库就是存储数据的库 数据组织:库->表->数据 数据库和SQL的关系 MySQL的基础命令 SQL基础 SQL语言的分类 SQL的语法特征 DDL-库管理 show DATABASES;use sys;SELECT database();CREATE DATABASE test CHARSET utf-8;SHOW D…...

mysql索引以及优化

索引的作用 在数据库表中对字段建立索引可以大大提高查询速度 mysql索引类型 普通索引唯一索引: 唯一索引列的值必须唯一允许有空值,如果是组合索引,则列值的组合必须唯一create unique index indexName on mytable(username(length))修改表结…...

【pytorch06】 维度变换

常用API view/reshapesqueeze/unsqueezetranspose/t/permuteexpand/repeat view和reshape view操作的基本前提是保证numel()一致 a.view(4,28*28)的物理意义是把行宽以及通道合并在一起,对于4张图片,我们直接把所有数据都合在一起,用一个7…...

移动Web开发实战内容要点!!!

移动web开发 目录 移动web开发 第一章、Web开发标准与网页网站制作介绍 1.1Web开发标准 1.2网页基本构成元素 第二章、Web开发技术基础 2.1HTML的主要特点: 2.2HTML基本知识 2.3CSS样式 2.4JavaScript 第三章、打造移动Web应用程序 3.1为什么Android会成…...

spdlog生产者消费者模式

spdlog生产者消费者模式 spdlog提供了异步模式,显示的创建async_logger, 配合环形队列实现的消息队列和线程池实现了异步模式。异步logger提交日志信息和自身指针, 任务线程从消息队列中取出消息后执行对应的sink和flush动作。 1. 环形队列 1.1 环形队…...

日语 13 14

13. スピーチの依頼 いらい 自信 自信 自信 自信 自信 じしん 折り入って 折り入って 折り入って おりいって  诚恳 頼み 頼み 頼み 頼み 頼み  たのみ 请求 整備 整備 整備 整備 整備 せいび 维修 肥満 肥満 肥満 肥満 肥満 ひまん 肥胖 権利 …...

初学者应该掌握的MySQL数据库的基本组成部分及概念

MySQL数据库作为一种开源的关系型数据库管理系统,被广泛应用于Web应用开发和数据存储。它具有高性能、易用性和可靠性等特点,是开发者们的首选之一。在本篇文章中,我们将详细介绍MySQL数据库的核心组成部分,帮助你深入理解这个强大…...

四川汇聚荣科技有限公司怎么样?

在探讨一家科技公司的综合实力时,我们往往从多个维度进行考量,包括但不限于公司的发展历程、产品与服务的质量、市场表现、技术创新能力以及企业文化。四川汇聚荣科技有限公司作为一家位于中国西部的科技企业,其表现和影响力自然也受到业界和…...

数据仓库和数据库有什么区别?

一、什么是数据仓库二、什么是数据库三、数据仓库和数据库有什么区别 一、什么是数据仓库 数据仓库(Data Warehouse)是一种专门用于存储和管理大量结构化数据的信息系统。它通过整合来自不同来源的数据,为企业提供统一、一致的数据视图&…...

计算子网掩码

例题 如果子网掩码是255.255.192.0, 那么下面主机()必须通过路由器才能与主机129.23.144.16通信( 1分 )A.129.23.148.127B. 129.23.191.21C. 129.23.127.222D. 129.23.130.33计算 要确定哪些主机必须通过路由器才能与…...

JVM 垃圾收集算法

首先我们要知晓,垃圾收集是建立在两个分代假说之上的: ①弱分代假说:绝大多数对象都是朝生夕灭的 ②强分代假说:熬过越多次垃圾收集的对象就越难消亡 收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄分配…...

安装虚拟环境

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Flask依赖两个外部库:Werkzeug和Jinja2。Werkzeug是一个WSGI(在Web应用和多种服务器之间的标准 Python 接口)工具…...

【ai】tx2-nx:安装深度学习环境及4.6对应pytorch

参考:https://www.waveshare.net/wiki/Jetson_TX2_NX#AI.E5.85.A5.E9.97.A8 英伟达2021年发布的的tritionserver 2.17 版本中,backend 有tensorflow1 和 onnxruntime ,他们都是做什么用的,作为backend 对于 triton 推理server意义是什么,是否应该有pytorch? Triton Infer…...

华为某员工爆料:三年前985本科起薪30万,现在硕士起薪还是30w,感慨互联网行情变化

“曾经的30万年薪,是985本科学历的‘标配’,如今硕士也只值这个价?” 一位华为员工的爆料,揭开了互联网行业薪资变化的冰山一角,也引发了不少人的焦虑:互联网人才“通货膨胀”的时代,真的结束了…...

Java基础--AOP--1.概述

一、AOP简介 AOP(Aspect Oriented )即为面向切面编程,也可称为面向方法编程,是方法增强的一种途径,通常可用于记录操作日志、权限空值、事务管理等等;Spring框架中的事务底层就是AOP。 二、AOP的组成 1、连接点&…...

【计算机网络仿真实验-实验3.1、3.2】交换路由综合实验

实验3.1 交换路由综合实验——作业1 一、实验目的 运用实验二(可前往博主首页计算机网络专栏下查看)中学到的知识,将这个图中的PC机连接起来组网并分析,本篇涉及代码以截图展示,过于简单的代码及操作不再详细介绍&…...

RSA密码系统的特定密钥泄露攻击与Coppersmith方法的应用

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 RSA密码系统作为当前最广泛使用的公钥加密算法之一,其安全性依赖于大整数分解问题的困难性。然而,随着计…...

从零开始精通Onvif之音视频流传输

💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。 概述 Onvif协议的核心作用之一,是定义了如何通过网络访问和控制IP摄像机和其他视频设备。Onvif协议不仅涉及设备发现、设备管理&…...

CentOS 7、Debian、Ubuntu,这些是什么意思

CentOS 7、Debian、Ubuntu 都是基于 Linux 内核的操作系统,它们各自有不同的特性和用途。以下是对它们的详细解释: CentOS 7 CentOS(Community ENTerprise Operating System) 是一个基于开源的 Linux 发行版。CentOS 7 是 CentOS …...

安装Flask

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 大多数Python包都使用pip实用工具安装,使用Virtualenv创建虚拟环境时会自动安装pip。激活虚拟环境后,pip 所在的路径会被添加…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...