
使用python3+pymysql
一、安装python3
a) 从网上下载安装吧
二、安装pymysql
https://pypi.python.org/pypi/PyMySQL
https://github.com/PyMySQL/PyMySQL
当然,最简单的安装方式还是使用pip命令。
> pip install PyMySQL
安装完成后,查看pymysql是否安装成功:pip show pymysql
二,创建MySQL表
执行下面的SQL语句,创建一张users 表。
CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`email` VARCHAR(255) COLLATE utf8_bin NOT NULL,
`password` VARCHAR(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;
三,Python操作MySQL
接下来才是重点,Python操作MySQL数据库。
4.1插入数据:
不管你使用的是什么工具或库,连接数据库这一步必不可少。host为数据库的主机IP地址,port为MySQL的默认端口号,user为数据的用户名,password为数据库的登录密码,db为数据库的名称。
cursor()方法创建数据库游标。
execute()方法执行SQL语句。
commit()将数据库的操作真正的提交到数据。
代码如下:
#!/usr/bin/env python
# -*- coding: utf- -*-
# @Author: Dang Kai
# @Date: -- ::
# @Last Modified time: -- ::
# @E-mail: @qq.com
# @Description: import pymysql.cursors # 连接数据库 def connect_mysql(host, port, user, password, db): connection = pymysql.connect(host=host, port=port, user=user, password=password,
db=db, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
print('connect success') config = {
'host': 'localhost',
'port': ,
'user': 'root',
'password': 'dk137046',
'db': 'test',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor,
}
'''使用字典连接'''
connection = pymysql.connect(**config)
print('connect success') def insert_Mysql(config, sql):
'''插入sql'''
cursor = connection.cursor()
cursor.execute(sql)
connection.commit()
print('插入成功')
# result=cursor.fetchone()
# print(result)
connection.close() if __name__ == '__main__':
# connect_mysql('localhost', , 'root', 'dk137046', 'test') insert_sql = "INSERT INTO users (email,password) VALUES ('1370465454@qq.com','123456');"
insert_Mysql(config, insert_sql)
4.2. 查询数据
接下来的操作就是数据库的查询了。
fetchone() 用于查询单条数据。
fetchall() 用于查询多条数据。
close() 最后不要忘记了关闭数据连接。
#!/usr/bin/env python
# -*- coding: utf- -*-
# @Author: Dang Kai
# @Date: -- ::
# @Last Modified time: -- ::
# @E-mail: @qq.com
# @Description: import pymysql.cursors # 连接数据库 def connect_mysql(host, port, user, password, db): connection = pymysql.connect(host=host, port=port, user=user, password=password,
db=db, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
print('connect success') config = {
'host': 'localhost',
'port': ,
'user': 'root',
'password': 'dk137046',
'db': 'test',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor,
}
'''使用字典连接'''
connection = pymysql.connect(**config)
print('connect success') def insert_Mysql(config, sql):
'''插入sql'''
cursor = connection.cursor()
cursor.execute(sql)
# connection.commit()
# print('插入数据成功')
result=cursor.fetchone()
print(result)
result1=cursor.fetchall()
# print(result1)
for data in result1:
print(data)
connection.close() if __name__ == '__main__':
# connect_mysql('localhost', , 'root', 'dk137046', 'test') # insert_sql = "INSERT INTO users (email,password) VALUES ('1370465454@qq.com','123456');"
# insert_Mysql(config, insert_sql)
query_sel="SELECT * FROM users"
insert_Mysql(config, query_sel)
运行结果:
connect success
{'id': 1, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 2, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 3, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 26, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 29, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 30, 'email': '1370465454@qq.com', 'password': '123456'}
{'id': 31, 'email': '1370465454@qq.com', 'password': '123456'}
[Finished in 0.2s]