Python3:连接和操作MySQL数据库(使用mysql.connector操作数据库)

1.简介

当前的学习来源:菜鸟教程 操作mysql数据库

操作数据库是最基本的操作,是一个编程语言的基础

2.开启连接

1.需要安装当前的mysql.connector模块

import mysql.connector
mydb = mysql.connector.connect(
    host="localhost",  # 数据库主机地址
    user="root",  # 数据库用户名
    passwd="root",  # 数据库密码
    database="python-db" #连接的数据库
)
print(mydb)

结果:

<mysql.connector.connection.MySQLConnection object at 0x000001DBDF73D518>

3.执行建表操作

1.需要使用:mydb.cursor()打开一个客户端用于执行sql语句

mycursor = mydb.cursor()
# 创建表
def create_table(table=""):
    if table == "":
        print("can't create database with null db name!")
        return
    else:
        mycursor.execute(
            """create table {0} (
                id int primary key auto_increment,
                name varchar(10) not null,
                pwd varchar(6) not null)
            """.format(table))

create_table("users")

2.执行结果
在这里插入图片描述
在这里插入图片描述

4.执行增删改操作

#任何添加修改删除操作都需要commit
print("插入数据=========")
mycursor.execute("insert into users(`name`,`pwd`) values ('admin','admin'),('guest','guest'),('root','root')")
mydb.commit()

# 删除数据
mycursor.execute("delete from users where id=1")
mydb.commit()

# 修改数据
mycursor.execute("update users set name='guest1' where id=2")
mydb.commit()

5.执行查询操作

1.创建一个User模块类

class User:
    def __init__(self, _id=int, _name=str, _pwd=str):
        self.id = _id
        self.name = _name
        self.pwd = _pwd

    def to_string(self):
        print("User [id:{0},name:{1},pwd:{2}]".format(self.id, self.name, self.pwd))

2.导入这个模块中的User类到需要的页面

from User import User

3.创建一个函数用于转换tuple类型的数据为User类型的数据


def convert_to_user(user=tuple):
    if len(user) != 3:
        print("传入的数据不正确")
        return None
    else:
        return User(user[0], user[1], user[2])

4.执行查询操作以及数据的处理

# 查询数据
 mycursor.execute("SELECT * FROM users")
 all_users = mycursor.fetchall()
 mycursor.close()
 mydb.close()

 all_users = [convert_to_user(item) for item in all_users]

 for user in all_users:
    user.to_string()

5.结果

在这里插入图片描述

6.总结

1.在python中操作当前的MySQL数据库可以使用mysql.connector来实现

2.通过mysql.connector.connect()方法打开一个mysql的连接

3.通过mydb.cursor()开启一个可以操作mysql数据库的cursor

4.通过cursor的execute()方法执行数据操作,如果是增删改操作需要使用mydb.commit(),如果是查询操作需要使用cursor.fetchall()获取所有查询的数据

6.使用完毕后一定要关闭数据库连接

发布了215 篇原创文章 · 获赞 39 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45492007/article/details/103108293