• Python操作MySQL库结(MySQL详细下载、安装、操控及第三方库中的使用)


    在这里插入图片描述 

    活动地址:CSDN21天学习挑战赛

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

    学习日记(4)

    目录

    学习日记(4)

    一、下载和安装MySQL

    1、下载MySQL

    2、安装MySQL

    3、设置环境变量

     3、启动MySQL

    二、安装PyMySQL

    三、MySQL的使用

    1、连接数据库

    2、创建数据表

    3、操作MySQL数据表

    四、注意事项


        MySQL是一款开源的数据库软件,由于其免费特性得到了全世界用户的喜爱,因此MySQL成为当前使用人数最多的数据库之一。

        pymysql是一个Python编写的MySQL驱动程序,让我们能用Python语言操作MySQL数据库。

    一、下载和安装MySQL

    1、下载MySQL

    可以再浏览器输入地址“https://dev.mysql.com/downloads/windows/installer/8.0.html”,并按Enter键,进入MySQL8.0的下载页面,选择离线安装包下载。

     如果有MySQL账户,可以单击“Login”登录账户后下载,没有账户的,可以单击下方“No thanks, just start my download.”超链接,跳过注册步骤,直接下载。

     

    2、安装MySQL

        下载完成后,开始安装MySQL。双击安装文件,在所示界面选中I accept the license terms 复选框,点击NEXT,进入选择设置类型界面,这里有五种类型,MySQL会默认选择Developer Default类型,这里选择纯净的Server only类型,然后一直默认选择安装

     

    3、设置环境变量

    右击“此电脑”v→选择“属性”→选择“高级系统设置”→单击“环境变量”→选择“Path”→点击“编辑”后输入安装的路径并保存。(默认安装路径是:C:\Program Files\MySQL\MySQL Server 8.0\bin)

     

     3、启动MySQL

        在“命令提示符”窗口输入命令 net start mysql80 ,启动MySQL 8.0.启动后使用账户和密码进入MySQL。输入命令 mysql-u root-p ,会提示“Enter password:”,输入密码root,即可进入MySQL。

    二、安装PyMySQL

    win+r打开后输入cmd并Enter一下

    输入下面指令后回车

    pip install PyMySQL

     即可安装成功

    再次重复pip命令,出现下图情况即安装成功

    三、MySQL的使用

    1、连接数据库

    #由于PyMySQL遵循Python Database API 2.0 规范,因此操作MySQL数据库的方式与SQLite相似,可以通过类比的方式来学习。

    首先import MySQL库

    import pymysql

    先前已经建立MySQL数据库mrsoft,并且安装数据库时设置了数据库的账户名和密码均为root,下面就通过这些信息,使用connect()方法连接MySQL数据库。

    1. # 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名称
    2. db = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft")
    3. # 使用 cursor() 方法创建一个游标对象 cursor
    4. cursor = db.cursor()
    5. # 使用 execute() 方法执行 SQL 查询
    6. cursor.execute("SELECT VERSION()")
    7. # 使用 fetchone() 方法获取单条数据.
    8. data = cursor.fetchone()
    9. print ("Database version : %s " % data)
    10. # 关闭数据库连接
    11. db.close()

    2、创建数据表

    使用execute()方法为数据库创建表books

    books表包含id(主键)、name(图书名称)、category(图书分类)、price(图书价格)和publish_time(出版时间)5个字段

    1. import pymysql
    2. # 打开数据库连接
    3. db = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft")
    4. # 使用 cursor() 方法创建一个游标对象 cursor
    5. cursor = db.cursor()
    6. # 使用 execute() 方法执行 SQL,如果表存在则删除
    7. cursor.execute("DROP TABLE IF EXISTS books")
    8. # 使用预处理语句创建表
    9. sql = """
    10. CREATE TABLE books (
    11. id int(8) NOT NULL AUTO_INCREMENT,
    12. name varchar(50) NOT NULL,
    13. category varchar(50) NOT NULL,
    14. price decimal(10,2) DEFAULT NULL,
    15. publish_time date DEFAULT NULL,
    16. PRIMARY KEY (id)
    17. ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    18. """
    19. # 执行SQL语句
    20. cursor.execute(sql)
    21. # 关闭数据库连接
    22. db.close()

    3、操作MySQL数据表

    MySQL数据表主要操作包括数据的新增、删除、修改和查找。

    例如,可以用excute()方法增加一条记录,也可以用executemany()方法批量增加多条记录。executemany()方法格式如下:

    executemany(operation,seq_of_params)

    详细操作如下:

    1. # 增
    2. sql = """insert into students(name) values("痔疮")"""
    3. cursor.execute(sql) # 打印受影响的行数
    4. # 删
    5. sql = """delete from students where name="痔疮"""";
    6. cursor.execute(sql)
    7. # 改
    8. sql = """update students set name="小王" where id=6;"""
    9. cursor.execute(sql)
    10. # 提交之前的操作,如果之前已经执行过多次的execute,那么就都进行提交
    11. conn.commit()
    12. # conn.rollback() # 对之前的操作进行回退处理

    实例:

    1. import pymysql
    2. # host:连接的mysql主机,如果本机是a
    3. # port:连接的mysql主机的端口,默认是1234
    4. # database:数据库的名称
    5. # user:连接的用户名
    6. # password:连接的密码
    7. # charset:通信采用的编码方式,推荐使用utf8
    8. conn = pymysql.connect(host="a",
    9. port=1234,
    10. user="root",
    11. password="mysql",
    12. database="python41",
    13. charset="utf8"
    14. )
    15. 获取游标,目的就是要执行sql语句
    16. cursor = conn.cursor()
    17. # 增加操作
    18. sql = "insert into classes(name) values('嘿嘿)"
    19. # 修改操作
    20. # sql = "update classes set name = '漆漆' where id = 2"
    21. # 删除操作
    22. # sql = "delete from classes where id=2"
    23. try:
    24. # 4. 执行sql语句
    25. cursor.execute(sql)
    26. # 增删改都必须提交数据
    27. conn.commit()
    28. except:
    29. # 如果报错就对修改的数据进行撤销
    30. conn.rollback()
    31. # 5.关闭游标
    32. cursor.close()
    33. # 6.关闭连接
    34. conn.close()

    四、注意事项

        使用connect()方法连接数据库时,额外设置字符集charset=utf-8,可以防止插入中文时出错。

    使用insert语句插入数据时,使用%作为占位符,可以防止SQL注入。

  • 相关阅读:
    什么是腾讯云云硬盘?有哪些优势?应用于哪些场景?
    我们常说的网络资产,具体是如何定义的?
    线性表的链式存储的基本
    创业开店选择哪一种咖啡机好?不同咖啡机有什么区别?
    【java】5-线程的中断
    如何使用环境变量运行bat脚本(开启数据库db)
    java基于springboot的学院资产管理系统
    C语言交通查询系统
    【linux】【platform[1]】简述device和driver几种匹配方式(包括测试用demo)
    Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks
  • 原文地址:https://blog.csdn.net/m0_63794226/article/details/126237882