python连接本地mysql_python 3.6连接MySQL

python3.6不支持 import MySQLdb 改用为 import pymysql 模块,需要自行安装模块pymysql。

python3.6安装模块pymysql

管理员命令行安装: pip install pymysql

2:python3.6连接mysql数据库

# -*- coding:utf-8 -*-

import pymysql

conn = pymysql.connect(

user="root",

password="xxxxxx",

port=3306,

host="127.0.0.1", #本地数据库 等同于localhost

db="MYSQL", #数据库名

charset="utf8"

)

cur = conn.cursor() #获取对应的操作游标

query = 'select count(*) from tableName'

cur.execute(query)

cur.close()

conn.commit()

conn.close()

请注意连接数据库时要保证数据库已经开启,否则连接失败。

获取SQL语句得到的结果给Python

使用 fetchone() 方法获取一条数据,返回一个tuple

query = "select * from consume where studentId='1111111111' and Jdate = '2014-11-23';"

cur.execute(query)

data = cur.fetchone()

print(data)

结果:

('1111111111', '111122', '良乡开水机 ', datetime.date(2014, 11, 23), datetime.timedelta(0, 2118), -4)

使用 fetchall() 方法获取多条数据,返回一个tuple,每条数据又是一个tuple

query = "select * from consume where studentId='1120131007' and Jdate = '2014-11-23';"

cur.execute(query)

data = cur.fetchall()

print(data)

结果如下:

(('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 2118), -4),

('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 38805), -4),

('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 46505), -1180),

('1120131007', '159722', '后勤 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 44232), -1),

('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 67821), -180),

('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 67796), -200),

('1120131007', '159722', '良乡 ',

datetime.date(2014, 11, 23), datetime.timedelta(0, 67770), -44))

参数传递

以下代码使用变量向SQL语句中传递参数:

user_id = "test123"

password = "password"

con.execute('insert into Login values("%s", "%s")' % \

(user_id, password))

或者:

sql = "SELECT * FROM EMPLOYEE \

WHERE INCOME > '%d'" % (1000)

cursor.execute(sql)

在或者:

query = 'insert into consume (studentId, cardId, address, Jdate, Jtime, money) values (%s, %s, %s, %s, %s, %s)'\

studentId = '1111111'

cardId ='1111'

address = "xxxx"

Jdate = "xxxx"

Jtime = "xxxx"

money = "xxxx"

values = (studentId, cardId, address, Jdate, Jtime, money)

cur.execute(query, values)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值