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.使用完毕后一定要关闭数据库连接