Python连接MYSQL


Python连接MYSQL

本着如果使用博客记录自己的学习路径,这个是自己的第一个博客,正好自己正在利用Python去连接MYSQL,所以记录下来以防将来学习使用。

利用PIP装pymysql

首先需要有对应的Python环境,可以使用anaconda装载集成开发环境,也可以单独装python,再装pip。

重开一个terminal,如果已经装过Pip, 则直接输入pip install pymysql就ok.

装MYSQL

如果是windows则直接下载MYSQL不同版本的MYSQL,推荐使用64位版本,之后可以配置相应的db,然后我们就可以进行连接。

连接MYSQL

首先需要使用pymysql与我们本地的mysql建立连接,如果是远程server,只需要更改对应的host,user和password即可。

import pymysql

host = 'localhost'
user = 'root'
password = 'password'
# which database to use.
db = 'person'

conn = pymysql.connect(host=host, user=user, password=password, database=db)

应用Connection进行建表及查询

创建表

我们需要做的就是根据MYSQL基本建表语法进行SQL的编写即可。

new_table_create_sql = "create table if not exists `new_purchase` (`name` varchar(255), `item` varchar(255))"

# with condiction so we don't need to care about close connection.
with conn:
    with conn.cursor() as cursor:
        cursor.execute(new_table_create_sql)

插入数据

插入数据则可以开一个connection,遍历我们需要插入的数据,如果我们插入成功则进行提交。

new_data = [("a", "1"), ("b", "2")]

with conn:
    with conn.cursor() as cursor:
        cursor.execute(new_table_create_sql)

        insert_sql = "insert into new_purchase values (%s, %s)"
        for d in new_data:
            cursor.execute(insert_sql, (d[0], d[1]))
	conn.commit()

查询数据

查询数据则只需要利用connection进行需要查询的SQL,我们可以将全部的数据集都查询出来,返回的结果为一个tuple,不可变;或者我们可以只查询一条数据以判定我们确实可以得到结果。

with conn:
    with conn.cursor() as cursor:
        cursor.execute("select * from new_purchase")
        # get full data
        out_res = cursor.fetchall()
        # if just need one record
        # out_res = cursor.fetchone()

最后一句

其实我们使用pymysql进行MYSQL的查询,最核心的就是连接MYSQL,之后我们可以的和我们直接写SQL是一样的。