首页 > 数据库 >python+pymysql(16)

python+pymysql(16)

时间:2024-11-22 16:58:33浏览次数:1  
标签:16 python self yb db pymysql sql port

python操作mysql

一、python操作数据库

1、下载pymysql 库,

方法一:pip3 install pymysql 或pip install pymysql

方法二:在pycharm中setting下载pymysql

===============================
2、打开虚拟机上的数据库

===============================
3、pymysql连接

(1)连接方式:pymysql.Connection 或者pymysql.connect

(2)包含内容
a.host 主机:填写IP地址
b.user 数据库用户名
c.password 或passwd 密码:
d.databases 或db 库名
e.port 端口 :默认3306
f.chardet ='utf8' 编码格式
(2)将连接内容设置成一个变量,然后创建一个游标对象
db.cursor
(3)使用游标对象去执行sql语句
(4)在根据需要显示内容使用 fetchone,fetchall,fetchmany

案例1:查询
import  pymysql
db=pymysql.Connection(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
yb=db.cursor()#创建游标
sql="select *  from  emp"
yb.execute(sql)
# one=yb.fetchone() #获取第一行数据
# print(one)
# many=yb.fetchmany(size=3)
# print(many)#获取部分数据
all=yb.fetchall() #获取所有数据
print(all)
案例2:删除语句
import  pymysql
db=pymysql.connect(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
#db1=pymysql.Connection(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
yb=db.cursor()#创建游标
sql="delete  from  emp where name='张三'"
yb.execute(sql)
案例3:插入数据
import  pymysql
db=pymysql.connect(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
#db1=pymysql.Connection(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
yb=db.cursor()#创建游标
sql="insert into emp VALUES ('1879','张三',55,'1971/10/20',7300,'101');"
yb.execute(sql)
sql1="select  *  from  emp"
yb.execute(sql1)
all=yb.fetchall() #获取所有数据
for i  in  all:
   print(i)
案例4:修改数据
import  pymysql
db=pymysql.connect(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
#db1=pymysql.Connection(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')
yb=db.cursor()#创建游标
sql="UPDATE  emp  SET name='zhan'  where  sid=1674 "
yb.execute(sql)
sql1="select  *  from  emp"
yb.execute(sql1)
all=yb.fetchall() #获取所有数据
for i  in  all:
   print(i)

============================================

import  pymysql
class   Db_hz(object):
    def  __init__(self,host,user,passwd,db,port):
        self.host=host
        self.user=user
        self.passwd=passwd
        self.db=db
        self.port=port
    def lj(self):
        l=pymysql.Connection(host=self.host,user=self.user,passwd=self.passwd,db=self.db,port=self.port,charset="utf8")
        return l
    def one(self,sql):
        d=self.lj()
        yb=d.cursor()
        yb.execute(sql)
        one1=yb.fetchone()
        print(one1)
    def many(self, sql):
        d = self.lj()
        yb = d.cursor()
        yb.execute(sql)
        many= yb.fetchmany(size=2)
        print(many)
    def all(self, sql):
        d = self.lj()
        yb = d.cursor()
        yb.execute(sql)
        all = yb.fetchall()
        print(all)
if __name__ == '__main__':
    dx=Db_hz("192.168.157.128","root","123456","test",3306)
    # dx.one("select * from  emp")
    # dx.many("select * from  emp")
    dx.all("select * from  emp")

标签:16,python,self,yb,db,pymysql,sql,port
From: https://www.cnblogs.com/weiyus1916/p/18563198

相关文章

  • [题解]P1641 生成字符串
    P1641[SCOI2010]生成字符串由题意可设\(f[i][j]\)表示用了\(i\)个\(0\),\(j\)个\(1\)的答案,那么有转移:\[f[i][j]=\begin{cases}0&i>j\\f[i][j-1]&i=j\\f[i-1][j]+f[i][j-1]&i<j\\\end{cases}\]状态数是\(O(n^2)\),转移是\(O(1)\),总时间复杂度\(O(n^2)\),期望得......
  • python 打包压缩文件
    1、自定义公共函数zip_files_and_dirsimportosimportzipfile#被压缩的目录,即使为空文件也要一起进行压缩,如果不为空则它的子级文件或目录也一起压缩,并且解压保持目录结构不变defzip_files_and_dirs(file_path_list,target_dir,target_file_name):#确保目标目录存......
  • python批量修改mysql中某个字段的长度
    突然被告知DB中某个关键字段长度要增大,涉及到N张表,改起来超麻烦,想着用代码改,比较少写这种增删表或者改变表结构的代码,记录下。importpymysqldefmodifyFieldVarcharLen(config,new_column_length):connection=pymysql.connect(**config)try:withconn......
  • 超全!python中字符串拼接的各种姿势
    Python提供了多种字符串拼接的方式,每种方式在性能、可读性和灵活性上各有特点。以下是常见的字符串拼接方式及其总结:1.使用+操作符s1="Hello"s2="World"result=s1+""+s2#HelloWorld特点:简单易懂,适合小规模拼接。多个+拼接可能生成多个中间字符......
  • Python 初学者的学习指南:从入门到实践 ---亲身经历版本!!!
    前言Python因其简单易学、功能强大而成为初学者编程的首选语言。无论你是零基础的小白,还是想拓展技能的开发者,Python都能为你提供无限可能。本篇博客将为Python初学者提供一套学习方法和学习路线,帮助你在短时间内掌握Python编程的核心知识,并学以致用。学习方法明......
  • 基于Python的人事管理系统
    作者:计算机学姐开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选......
  • 学习Python Day8
    1.列表1.1优点可以存储多个数据,且可以是不同数据类型1.2常用操作1.2.1查找1.2.1.1下标list1=['apple','orange','banana']print(list1[0])print(list1[1])print(list1[2])1.2.1.2函数index():返回数据的下标,如果不存在,则报错list1=['apple','orange'......
  • 毕业论文设计 Python实现基于改进的鲸鱼优化算法(IWOA)和门控循环单元(GRU)进行时间序列预
    目录Python实现基她改进她鲸鱼优化她法(UZIWOA)和门控循环单元(GTT)进行时间序列预测模型她详细项目实例    2项目背景介绍...2项目目标她意义...2项目目标:...2项目意义:...3项目挑战...3项目特点她创新...3项目应用领域...3项目效果预测图她程序设计...4项......
  • 毕业论文设计 Python 实现基于WGAN的生成对抗网络数据生成的详细项目实例
    目录Python实现基她WGAN她生成对抗网络数据生成她详细项目实例...5项目背景介绍...5一、引言...5二、WGAN背景及优势...51.生成对抗网络(GAN)简述...52.WGAN她核心创新:Wattestterzin距离...63.1-李普希茨条件她权重裁剪...6项目目标...61. 构建高质量她数......
  • 毕业论文设计 Python 实现基于SSA-CNN-LSTM麻雀算法优化卷积长短期记忆神经网络进行时
    目录Python实现基爱她TTA-CNN-LTTM麻雀算法优化卷积长短期记忆神经网络进行时间序列预测模型爱她详细项目实例    4项目背景介绍...4项目目标...5提升预测精度...5实现自动化优化...5提升模型爱她泛化能力...5提高计算效率...5项目意义...5创新算法应用.......