使用python操作mysql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FisherWang_CN/article/details/82352786

说在前面,本文假设读者有了一定的python基础和mysql基础。

文档操作环境是mac + python3.5 + mysql5.6

1、工具选择与安装

1.1 在此我们选择python3.x  版本进行mysql操作,支持比较好的工具即pymysql。

1.2 安装pymysql

$ pip install PyMySQL

如果系统不支持pip3命令,则离线安装:

$ git clone https://github.com/PyMySQL/PyMySQL
$ cd PyMySQL/
$ python3 setup.py install

1.3 测试

->python

Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> pymysql.
pymysql.BINARY               pymysql.__getattribute__(
pymysql.Binary(              pymysql.__gt__(

2、pymysql连接数据库

2.1 准备工作

测试数据库能否联通

> mysql -uroot -pmysql

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database learn;
Query OK, 1 row affected (0.01 sec)

2.2 连接mysql 

注意输入你自己的数据库地址和密码。本例中直接输出数据库的版本号。

#!/usr/bin/python3

import pymysql

# 打开数据库连接
db = pymysql.connect(**{
        'host':'localhost',
        'port':3306,
        'user':'root',
        'password':'mysql',
        'db':'learn',
        'charset':'utf8mb4',
        'cursorclass':pymysql.cursors.DictCursor,
    })

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接
db.close()

2.3 创建数据库

我们可以使用cursor.execute() 执行任意sql 语句。

#!/usr/bin/python3

import pymysql

# 打开数据库连接
db = pymysql.connect(**{
        'host':'localhost',
        'port':3306,
        'user':'root',
        'password':'mysql',
        'db':'learn',
        'charset':'utf8mb4',
        'cursorclass':pymysql.cursors.DictCursor,
    })

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 使用预处理语句创建表
sql = """CREATE TABLE IF NOT EXISTS EMPLOYEE(
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接
db.close()

3、pymysql 执行sql语句并获取结果

3.1 数据库插入操作

4、事务的回滚

猜你喜欢

转载自blog.csdn.net/FisherWang_CN/article/details/82352786