MySQL之mysql-connector-python的安装使用
MySQL 是最流行的关系型数据库管理系统,关于数据库以及MySQL相关知识,此处不再赘述。本篇介绍使用 mysql-connector-python 来连接使用 MySQL。
1. 安装mysql-connector-python
执行以下代码,没有报错,证明安装成功。
import mysql.connector
# 连接数据库
Mysql = mysql.connector.connect(
host="localhost",
user="root",
passwd="123456"
)
1
2
3
4
5
6
7
8
2. 安装MySQL
只有安装了MySQL,才能使用mysql-connector-python包提供的接口去操作数据库。关于MySQL的安装,参考另一篇博客:MySQL8.0解压版本的安装。
本机上安装的版本是 8.0.16版本。
3. 数据库可视化工具Navicat的安装
注意,我们通过Navicat可以以可视化的行为去操控数据库,更方便简洁,关于Navicat的安装,此处不再赘述,之前写过一篇详细的安装文章,但是无法审核过去,所以迟迟没有发布。此处读者可联系我索要安装步骤,也可以自行百度解决。
值得说明的是,安装Navicat并不是必须的,也可以不安装,后续直接使用SQL语句在终端中进行数据库的操作。
本篇将基于Navicat进行讲解。
4. mysql-connector-python包的使用
# 导入包
import mysql.connector
# 连接数据库
Mysql = mysql.connector.connect(
host="localhost",
user="root",
passwd="123456"
)
# 首先获取游标对象
cursor = Mysql.cursor()
# 数据库操作
cursor.execute("CREATE DATABASE IF NOT EXISTS testDB;") # 创建数据库
cursor.execute("SHOW DATABASES;") # 显示数据库
for item in cursor: print(item)
cursor.execute("USE testdb;") # 选中数据库
cursor.execute("CREATE TABLE IF NOT EXISTS usermanage (name VARCHAR(255), passwd VARCHAR(255));") # 创建表
cursor.execute("DELETE FROM usermanage;") # 删除表中的内容
# 插入一条数据
sql = "INSERT INTO usermanage(name, passwd) VALUES(%s, %s);"
cursor.execute(sql, ("zhang", "123456"))
Mysql.commit() # 必须使用此命令, 否则无法插入成功
print(cursor.rowcount, "插入数据成功.")
# 批量插入数据
val = [
('wang', '222222'),
('li', '333333'),
('zhao', '444444')
]
cursor.executemany(sql, val)
Mysql.commit()
print(cursor.rowcount, "批量插入数据成功.")
# 数据库查询
cursor.execute("SELECT * FROM usermanage;")
result = cursor.fetchall()
https://blog.csdn.net/TianYanRen111/article/details/128763175
mysql.connector
一、基本操作
import mysql.connector #导入MySQL驱动
#打开数据库 first
conn = mysql.connector.connect(user='root', password='password', database='first')
cursor = conn.cursor() #创建一个浮标
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))') #创建user表
cursor.execute('insert into user (id,name) values (%s, %s)',['1', 'Guoguo']) #插入一行数据
#注意MySQL的占位符是%s
cursor.rowcount #返回操作的行数
#1
cursor.execute('update user set name = %s where id = 1',('LinYun',)) #更改表中数据
cursor.execute('delete from user where id = 1') #删除表中数据
conn.commit() #将操作提交到数据库
cursor.close() #关闭连接
cursor = conn.cursor() #重新建立连接
cursor.execute('select * from user where id = %s',('1',)) #运行查询
values = cursor.fetchall() #取出所查询到的
values #输出所查询到的
cursor.close() #关闭cursor
conn.close() #关闭connection
二、多线程存取Mysql数据
创建表
>>> import mysql.connector
>>> conn = mysql.connector.connect(user='root', password='password', database='thread') # 打开数据库 thread
>>> cursor = conn.cursor()
>>> cursor.execute('create table threading (operation varchar(100) primary key, name varchar(500))') # 创建 threading 表
>>> conn.commit()
>>> cursor.close()
True
(一)多线程存入数据
import mysql.connector
import datetime
import time
import threading
def insert(io):
time_now = datetime.datetime.now()
print(io, time_now)
conn = mysql.connector.connect(user='root', password='password', database='thread')
cursor = conn.cursor()
cursor.execute("insert into threading values (%s, %s)",[io ,time_now])
cursor.close()
conn.commit()
time.sleep(5)
if __name__ == "__main__":
t = threading.Thread(target=insert, args=('in',))
t.start()
t = threading.Thread(target=insert, args=('out',))
t.start()
t.join()
这是在一个表中多线程插入数据
最好是多线程建表和插入 数据
(二)读取数据
作者:交易狗二哈
链接:https://www.jianshu.com/p/b49f3c09fa85
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。