3.27-1 pymysql下载及使用

pymysql

1、下载pymysql 库(第三方机构)

方法一:dos下安装:

pip3 install pymysql 或pip install pymysql

方法二:在pycharm中下载

二.使用pymysql

(1)数据安装好,能连接

(2)连接数据库

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

(2)包含内容

a.host 主机:填写IP地址

b.user 数据库用户名

c.password 或passwd 密码:

d.databases 或db 库名

e.port 端口 :默认3306

f.charset ='utf8' 编码格式

案例:

db=pymysql.Connection(host="192.168.157.128",user="root",password="123456",database="test",port=3306,charset='utf8')

(2)将连接内容设置成一个变量,然后创建一个游标对象

db.cursor

(3)使用游标对象去执行sql语句

(4)在根据需要显示内容使用 fetchone,fetchall,fetchmany

代码:

复制代码
import  pymysql #导入pymysql
lj=pymysql.connect(    host="192.168.1.210",user="root",passwd="123456",port=3306,
    database="hh",charset="utf8"
)  #pymysql连接参数
yb=lj.cursor() #创建游标对象
sql="select  * from  student" #sql语句
yb.execute(sql) #执行sql语句
# one=yb.fetchone() #查看执行一行数据
# print(one)
# many=yb.fetchmany(size=3)
# print(many)
all=yb.fetchall()
print(all)

二.pymysql操作数据库的增删改查

1.删除

复制代码
import  pymysql #导入pymysql
lj=pymysql.connect(
    host="192.168.1.210",user="root",passwd="123456",port=3306,
    database="hh",charset="utf8"
)  #pymysql连接参数
yb=lj.cursor() #创建游标对象
#删除
sql="delete  from  student where id=1 "
yb.execute(sql)

2.插入数据

复制代码
import  pymysql #导入pymysql
lj=pymysql.connect(
    host="192.168.1.210",user="root",passwd="123456",port=3306,
    database="hh",charset="utf8"
)  #pymysql连接参数
yb=lj.cursor() #创建游标对象
#插入数据:
sql="INSERT into  student(id)  VALUES (1)"
yb.execute(sql)

3.修改数据

复制代码
import  pymysql #导入pymysql
lj=pymysql.connect(
    host="192.168.1.210",user="root",passwd="123456",port=3306,
    database="hh",charset="utf8"
)  #pymysql连接参数
yb=lj.cursor() #创建游标对象
#插入数据:
sql="UPDATE  student  set  id=30 where id=20;"
yb.execute(sql)

案例2:

复制代码
import  pymysql #导入pymysql
lj=pymysql.connect(
    host="192.168.1.210",user="root",passwd="123456",port=3306,
    database="hh",charset="utf8"
)  #pymysql连接参数
yb=lj.cursor() #创建游标对象
#插入数据:
sql="UPDATE  student  set  id=40 where id=30;"
yb.execute(sql)
sql2="select  * from  student"
yb.execute(sql2)
print(yb.fetchall())

三.数据库封装

复制代码
import pymysql
class  Sjk(object):
    def __init__(self,host,user,passwd,port,database):
        self.host=host
        self.user=user
        self.passwd=passwd
        self.port=port
        self.database=database
    def lj(self):
       ljsql= pymysql.connect(
            host=self.host,user=self.user,port=self.port,passwd=self.passwd,
            database=self.database,charset="utf8"
        )
       return ljsql
    def one(self,sql1):
        s=self.lj()
        yb=s.cursor()
        yb.execute(sql1)
        print(yb.fetchone())

    def many(self, sql2,x):
        s = self.lj()
        yb = s.cursor()
        yb.execute(sql2)
        print(yb.fetchmany(size=x))

    def all(self, sql3):
        s = self.lj()
        yb = s.cursor()
        yb.execute(sql3)
        # print(yb.fetchall())
        sy=yb.fetchall()
        for i  in sy:
            print (i)
if __name__ == '__main__':
    dx=Sjk(host="192.168.1.210",user="root",passwd="123456",port=3306,
     database="hh")
    # dx.one("select *  from student")
    # dx.many("select *  from student",3)
    dx.all("select *  from student")

在测试,你可以通过数据库造数据,删除数据,修改数据,

断言

1.查询后台数据

2.造数据

3.删除数据,让数据不冗余

相关推荐
三少爷的鞋4 小时前
Java 线程自上而下,Kotlin 协程自下而上
android
好的佩奇5 小时前
Dart 之增强枚举
android·flutter·dart
梦影_6 小时前
MySQL进阶教程(五)—— SQL调优(下)
android·大数据·数据库·后端·sql·mysql·database
好的佩奇8 小时前
蓝牙之无线电与通信距离
android·flutter·蓝牙
vilya9 小时前
我把一套完整的 Python Agent 运行时塞进手机 APK:依赖闭包、Rust 轮子和三个真机坑
android
呆呆敲代码的小Y10 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
思想觉悟12 小时前
SEAndroid实战
android·linux·c++
思想觉悟13 小时前
Aosp开发磨刀石之ADB速查
android·c++
应用市场15 小时前
用本机跑的开源音乐模型,给安卓小游戏做 20 秒无缝循环背景音乐
android·python·游戏开发·soundpool·音频处理
企业数字化笔记15 小时前
表单发布前怎么验收?版本引用、字段兼容和历史数据回归
android·数据挖掘·回归