[学习笔记] pymysql入门

一、快速开始

对于会用MySQL的朋友来说,开始使用pymysql可以说真的so esay,只要用下面的代码,把想要对数据库的操作放在 sql = " " 里就可以了。

没有接触过MySQL的小伙伴可以先学一下SQL。

上一篇文章是关于mysql入门的,可以参考一下。(只是自己入门的学习笔记,欢迎交流指正)

import pymysql
 
# 连接数据库
conn = pymysql.connect(
    host=“数据库地址(localhost)”,
    user=“用户名”,
    password=“密码”,
    database=“数据库名”,
    charset=“utf8”)
 
# 得到一个可以执行SQL语句的光标对象且结果集默认以元组显示
cursor = conn.cursor() 
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
#cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
 
# 定义要执行的SQL语句
sql = """
create table fav_table
(
    id INT auto_increment primary key,
    user VARCHAR(128),
    ess INT
)CHARACTER SET utf8;
"""

cursor.execute(sql)
#对数据库进行写操作要提交(建表不算)
#conn.commit()
cursor.close()
conn.close()

二、批量操作

import pymysql
 
conn = pymysql.connect(
    host='主机IP(或localhost)',
    port=端口号,
    user='root',
    password='123456',
    database='数据库名',
    charset='utf8'
)
cursor = conn.cursor()


#sql ='insert into userinfo (user,ess) values (%s,%s);'
#user = 'user_1'
#ess = 1
#cursor.execute(sql, [name, ess])


sql = 'insert into userinfo(user,ess) values(%s,%s);'
data = [
    ('user_1', 110),
    ('user_2', 120),
    ('user_3', 479)
]
# 拼接并执行sql语句
cursor.executemany(sql, data)

conn.commit()
cursor.close()
conn.close()

 三、结合Django,从前端获取数据,返回HtppResponse

#views.py

import pymysql
from django.http import HttpResponse

def add_fav(request):
    conn = pymysql.connect(
    host='localhost',
    user='root',
    password='buzhidao',
    database='wapp_shuer',
    charset='utf8'
    )
    
    user = request.POST.get('re_user')    
    ess = request.POST.get('re_ess')
    data = [user,ess]

    cursor = conn.cursor()
    sql = "insert into fav_table (user, ess) value (%s, %s);"
    res = cursor.execute(sql,data)
    conn.commit()
    cursor.close()
    conn.close()
    return HttpResponse(res)

PS:这是最原生的通过pymysql包对mysql数据库的操作方法。下一篇关于Django的文章里,我们会用Django的models操作数据库。

原文地址:https://www.cnblogs.com/importGPX/p/11089154.html