python mysql pymysql 数据库操作,常用脚本,个人小工具

起因, 目的:

整理 mysql 工具

启动数据库

检查服务器是否启动了: Get-Service -Name ‘mysql*’
如果没启动的话,那么就启动:

net start MySQL80 (最好是开启管理员权限)

1, 日常最常用的,创建连接 --> 查看所有数据库 —> 查看所有的表
import pymysql.cursorsdef get_connection():connection = pymysql.connect(host='127.0.0.1',user='root',password='root',database='gamelearning',  # 数据库名local_infile=True,  # 使用本地数据库文件charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)return connectiondef get_tables(connection):with connection.cursor() as cursor:cursor.execute("SHOW TABLES")tables = cursor.fetchall()return tables# 获取数据库连接
connection = get_connection()# 获取数据库中的所有表
tables = get_tables(connection)# 打印所有表名
print(f"数据库: gamelearning 包含的全部的 tables:")
for table in tables:print(table)# print(table['Tables_in_gamelearning'])print()
print()
print()
print("打印 student 中 全部的内容: ")# 打印 student 中 全部的内容
def get_all_rows(connection, table_name):with connection.cursor() as cursor:cursor.execute(f"SELECT * FROM `{table_name}`")rows = cursor.fetchall()return rows# 获取 student 表中的所有内容
student_rows = get_all_rows(connection, 'professor')# 打印所有学生信息
for student in student_rows:print(student)# 关闭数据库连接
connection.close()
2. 连接远程数据库
import pymysql.cursors # pip install pymysql# Connect to the database
connection = pymysql.connect(host='124.xxx.yyy.158',user='root',password='123456',database='mysql',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)with connection:with connection.cursor() as cursor:# 1. 查看全部数据库名称sql = "show databases"cursor.execute(sql)result = cursor.fetchall()print(result)print()# [{'Database': 'information_schema'}, {'Database': 'mysql'}, {'Database': 'performance_schema'}, {'Database': 'sys'}]# 3. 查看 某一个数据库,比如 mysql 的表名称sql2 = "show tables from mysql"cursor.execute(sql2)result2 = cursor.fetchall()print(result2)print()# 3. 查看全部表名称for d in result:sql3 = f"show tables from {d['Database']}"cursor.execute(sql3)result3 = cursor.fetchall()ret33 = f"{d['Database']} tables are: {result3}"print(ret33)print()
3. pymysql 写成类的形式:
import pymysql# pymysql 常用的操作流程。其他项目也是经常用的。
# 这是一个模板文件,随时可以拿出来用,根据情况修改。class DB:def __init__(self, db_name):# 创建连接。注意修改为自己的用户名和密码。self.conn = pymysql.connect(host='localhost', user='root', password='root', charset='utf8mb4')# 创建游标self.cur = self.conn.cursor()self.db_name = db_namedef create_database(self):# 创建数据库的sql(如果数据库存在就不创建,防止异常)sql = f"CREATE DATABASE IF NOT EXISTS {self.db_name}"print(sql)# 执行创建数据库的sqlself.cur.execute(sql)# 创建表def create_table(self):# 选择使用的数据库u = f'use {self.db_name};'self.cur.execute(u)# 判断 table 是否存在, 然后再创建,放在报错。sql = '''CREATE TABLE  IF NOT EXISTS `friends_info` (`id` INT NOT NULL AUTO_INCREMENT,`age` INT ,`name` varchar(20) unique not null,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;'''self.cur.execute(sql)# 添加数据。def add_data(self):# 选择使用的数据库u = f'use {self.db_name};'self.cur.execute(u)# 执行插入语句。sql = """insert into friends_info(id,age,name) values (3,24,'bill')"""self.cur.execute(sql)# 主要要提交self.conn.commit()self.conn.close()# 查看数据def show_data(self):# 选择使用的数据库u = f'use {self.db_name};'self.cur.execute(u)sql = 'select * from friends_info'self.cur.execute(sql)# 此时可以获取全部查到的数据results = self.cur.fetchall()for row in results:print(row)              # (2, 22, 'alllen')print(type(row))        # <class 'tuple'># 这里调用的时候,根据自己的需求来选择使用那个函数,然后把用不到的注释掉。
if __name__ == '__main__':database_name = "pad"db = DB(database_name)db.create_database()# db.create_table()# db.add_data()# db.show_data()print("ok")"""
表:
create table `student` (
`id` int unsigned auto_increment primary key,
`name` varchar(20) unique not null,
`gender` enum('男', '女') not null,
`location` varchar(10) not null,
`birthday` date default '1995-01-01',
`chinese` float(4, 1) not null default 0,
`math` float(4, 1) not null default 0,
`english` float(4, 1) not null default 0,
`only_child` boolean
) charset='utf8mb4';数据:
insert into student(`name`, `gender`, `location`, `birthday`, `chinese`, `math`, `english`, `only_child`)
values
('萧峰', '男', '北京', '2000-10-1', 93, 91, 94, true),
('阿朱', '女', '苏州', '1997-07-05', 67, 56, 69, false),
('虚竹', '男', '广州', '1996-9-9', 94, 86, 82, true),
('郭靖', '男', '深圳', '1995-4-4', 97.5, 94, 95, false),
('小昭', '女', '北京', '1996-08-10', 67, 56, 58, false),
('杨康', '男', '成都', '1998-10-5', 41, 75, 66, false),
('张无忌', '男', '西安', '1994-8-30', 62, 98, 55, true),
('多隆', '男', '上海', '1997-11-28', 67, 56, 24, false),
('王语嫣', '女', '青岛', '1997-07-25', 67, 56, 80, false),
('黄蓉', '女', '北京', '1999-10-01', 67, 56, 77, false),
('令狐冲', '男', '杭州', '1997-5-2', 85.0, 100.0, 70, false),
('郭襄', '女', '厦门', '1998-02-22', 67, 56, 70, false),
('小龙女', '女', '西安', '1995-09-20', 67, 56, 69, false),
('韦小宝', '男', '上海', '1995-6-1', 60, 46, 58, false),
('周芷若', '女', '重庆', '1997-10-12', 67, 56, 74, false),
('杨过', '男', '北京', '1996-7-9', 82, 59.5, 70, false),
('赵敏', '女', '上海', '1997-10-16', 67, 56, 73, false),
('双儿', '女', '南京', '1994-09-08', 67, 56, 50, false),
('沐剑屏', '女', '北京', '1998-09-19', 67, 56, 22, false),
('段誉', '男', '上海', '1995-3-2', 59.5, 59.5, 58, false);"""

个人接单,python, R语言,有事请私聊

老哥,支持一下啊。

支付宝扫码领红包哦

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 部署 sqlserver数据库,并且还原bak文件,使用MSSM 连接 sqlserver

文章目录 1 docker 安装mssql2 使用MSSM连接sqlserver3 还原bak文件 1 docker 安装mssql 拉取镜像 docker pull mcr.microsoft.com/mssql/server:2019-latest运行镜像生成容器 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDYourPassword123" -p 143…

CSS入门笔记

目录 概述 组成 CSS 语法 常见的使用方式 CSS 优先级 CSS 选择器 1. 基本选择器 2. 属性选择器 3. 伪类选择器 4. 组合选择器 示例 优先级 边框样式与盒子模型 单个边框 边框轮廓&#xff08;Outline&#xff09; 盒子模型 模型介绍 边距设置 布局示例 文…

一个基于VB的期刊信息管理系统

一个基本的期刊信息管理系统的示例&#xff0c;使用 Visual Basic (VB.NET) 编写。这个示例将展示如何创建一个简单的期刊信息管理系统&#xff0c;其中包括添加、查看、编辑和删除期刊的功能。 系统需求 添加期刊&#xff1a;允许用户输入期刊的信息&#xff08;如标题、作者…

如何使用 maxwell 同步到 redis?

文章目录 1、MaxwellListener2、MxwObject1. 使用Maxwell捕获MySQL变更2. 将Maxwell的输出连接到消息系统3. 从消息系统读取数据并同步到Redis注意事项 1、MaxwellListener package com.atguigu.tingshu.album.listener;import com.alibaba.fastjson.JSON; import org.apache.…

文心一言 VS 讯飞星火 VS chatgpt (350)-- 算法导论24.1 1题

一、在图 24-4上运行Bellman-Ford算法&#xff0c;使用结点 z z z作为源结点。在每一遍松弛过程中&#xff0c;以图中相同的次序对每条边进行松弛&#xff0c;给出每遍松弛操作后的 d d d值和 π π π值。然后&#xff0c;把边 ( z , x ) (z,x) (z,x)的权重改为 4 4 4&#xf…

傅里叶变换的基本性质和有关定理

一、傅里叶变换的基本性质 1.1 线性性质 若 则 其中:a,b是常数 函数线性组合的傅里叶变换等于歌函数傅里叶变换的相应组合。 1.2 对称性 若 则 关于傅里叶变换的对称性还有 虚、实、奇、偶函数的傅里叶变换性质: 1.3 迭次傅里叶变换 对f(x,y)连续两次做二维傅里叶变换…

Datawhile 组队学习Tiny-universe Task01

Task01&#xff1a;LLama3模型讲解 仓库链接&#xff1a;GitHub - datawhalechina/tiny-universe: 《大模型白盒子构建指南》&#xff1a;一个全手搓的Tiny-Universe 参考博客&#xff1a;LLaMA的解读与其微调(含LLaMA 2)&#xff1a;Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子…

前端框架对比和选择

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; 前端框架选择是前端开发中的关键决策&#xff0c;因为它影响项目的开发效率、维护成本和可扩展性。当前&#xff0c;最流行的前端框架主要包括 React、Vue 和 Angular。它们各有优劣&#xff0c;适用于不同…

msvcp140.dll丢失如何解决?msvcp140.dll丢失的多种解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行&#xff0c;给用户带来很大的困扰。那么&#xff0c;当我们遇到msvcp140.dll丢失的情况时&#xff0c;应该如何解决呢&a…

【HTTP】HTTP报文格式和抓包

文章目录 HTTP 是什么HTTP 报文格式抓包工具抓包工具的原理抓包结果请求响应 IP&#xff0c;数据链路层&#xff0c;DNS… 都是理论为主&#xff0c;TCP/UDP 虽然有一些时间&#xff0c;但课堂内容不多 HTTP 理论和实践同样重要&#xff0c;未来作为 web 开发程序猿&#xff0…

机房监控运维工作的全面优化:以监控易一体化运维软件为助力

在当今高度信息化的社会&#xff0c;数据中心的运维工作显得尤为重要。为了确保机房环境的稳定、服务器和存储设备的正常运行、操作系统和数据库的持续高效&#xff0c;以及中间件服务的可靠性&#xff0c;运维团队需要执行一系列精细化的管理和操作。本文将以监控易一体化运维…

扩展------SpringBoot的自动装配机制+自定义一个Starter

SpringBoot的自动装配机制 SpringBoot提供给我们只要将框架的依赖包引入pom文件中&#xff0c;就可以帮助我们自动配置好&#xff0c;我们开箱即用&#xff0c;非常方便&#xff0c;底层原理是如何的呢&#xff1f; 首先自动装配依赖于EnableAutoConfiguration注解。 往下走&a…

PCIe扫盲(九)

系列文章目录 PCIe扫盲&#xff08;一&#xff09; PCIe扫盲&#xff08;二&#xff09; PCIe扫盲&#xff08;三&#xff09; PCIe扫盲&#xff08;四&#xff09; PCIe扫盲&#xff08;五&#xff09; PCIe扫盲&#xff08;六&#xff09; PCIe扫盲&#xff08;七&#xff09…

测试栏杆天线和金属圆管天线的差异

今天用网分测试了大约800mm的拉杆天线和800mm的金属圆管的s11的差异。 拉杆的最粗部分10mm,最细部分6mm。圆管的直径为均匀26mm。 两者的谐振频率在60Mhz左右。&#xff08;这也说明了谐振频率只要由长度决定&#xff09; 拉杆天线的swr 圆管的swr 注&#xff1a;上图因为网…

六个神级AI绘画技巧,让你的作品瞬间高级感爆棚!

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 在艺术的世界里&#xff0c;AI绘画正成为一…

网络原理(4)——网络层(IP)、数据链路层

1. IP 协议 基本概念&#xff1a; 主机&#xff1a;配有 IP 地址&#xff0c;但是不进行路由控制的设备 路由器&#xff1a;即配有 IP 地址&#xff0c;又能进行路由控制 节点&#xff1a;主机和路由器的统称 IP 协议报头格式 1) 4 位版本&#xff1a;实际上只有两个取值&…

扣子智能体实战-快速生成公众号爆款标题的智能体

文章目录 一&#xff0c;创建一个智能体二&#xff0c;创建工作流1&#xff0c;开始结点增加一个theme变量2&#xff0c;新增一个大模型节点3&#xff0c;新增一个代码结点4&#xff0c;发布工作流5&#xff0c; 工作流概览 三&#xff0c;增加开场白 如果是做公众号&#xff0…

Linux线程基础

&#x1f30e; Linux线程 文章目录&#xff1a; Linux线程 线程概念       线程的理解 再谈地址空间 线程控制       线程等待       线程资源共享       线程退出       线程异常       线程分离       理解线程tid 线程切换 线程…

重修设计模式-设计原则

重修设计模式-设计原则 设计原则 设计原则是软件编码时所遵循的规则&#xff0c;旨在帮助开发者创建出既满足功能需求又易于维护、可扩展且美观的设计&#xff0c;理解设计原则可以提升代码质量、减少错误以及促进团队协作&#xff0c;但对设计原则的理解要灵活&#xff0c;不…

佩戴舒适且适合学生党的蓝牙耳机?分享开放式耳机排行榜前十名

对于追求佩戴舒适的学生党来说&#xff0c;高性价比的开放式耳机是一个不错的选择。因为这类耳机不仅提供了良好的通风性&#xff0c;还减少了长时间佩戴带来的闷热感。而且开放式耳机也通常具有轻巧的设计&#xff0c;能够减轻了耳朵的压力。而且&#xff0c;还需要考虑到学生…