ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Python连接MYSQL

2021-07-08 15:03:28  阅读:191  来源: 互联网

标签:Python pymysql cursor MYSQL new password 连接 conn


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是一样的。

标签:Python,pymysql,cursor,MYSQL,new,password,连接,conn
来源: https://www.cnblogs.com/guangqianglu/p/14986042.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有