从昨天开始就一直在折腾旧电脑安装MySQL数据库,安装5.7不成功,后来尝试安装5.5版的exe文件,非常顺利。
今天开始正式学习Python操作MySQL数据,现在记录下学习历程
- 需安装mysqlclient,在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient下载,因我安装的3.7版python,这里下载相应版本mysqlclient‑1.4.3‑cp37‑cp37m‑win_amd64.whl,安装需进入相应目录,使用
pip3 install mysqlclient‑1.4.3‑cp37‑cp37m‑win_amd64.whl
- 跟着公众号 Python爱好者社区学习,首先需在mysql创建一个表,后期插入数据总是报错“字符集与utf8不符”,后来加上一句
set names gbk;
完美解决,然后跟着写代码操作数据库,都很顺利,下面把相关代码贴在这里
import MySQLdb
class Mysql(object):
def __init__(self):
self.connect()
def connect(self):
try:
self.conn = MySQLdb.connect(
host='127.0.0.1',
user='root',
passwd = '****',
db = 'test',
port = 3306,
charset = 'utf8'
)
except MySQLdb.Error as e:
print('Error:%s'%e)
def close_conn(self):
try:
if self.conn:
self.conn.close()
except MySQLdb.Error as e:
print('Error:%s'%e)
def get_a(self):
sql = 'select * from `student` where `sid` = %s;'
cursor = self.conn.cursor()
cursor.execute(sql, ('01',))
data = cursor.fetchone()
print(data)
cursor.close()
self.close_conn()
def add_a(self):
sql = "insert into `student`(`sid`,`sname`) value(%s, %s);"
cursor = self.conn.cursor()
cursor.execute(sql,('05','白云'))
self.conn.commit()
cursor.close()
self.close_conn()
def main():
object = Mysql()
#object.get_a()
object.add_a()
if __name__ == '__main__':
main()
#查询报utf8编码错误 set names gbk;
- MySQL和pandas结合导入数据到数据库,简单例子如下:
#pip install PyMySQL
#pip install sqlalchemy
import MySQLdb
import pandas as pd
from sqlalchemy import create_engine
host = '127.0.0.1'
port = 3306
db = 'test'
user = 'root'
password = '****'
engine = create_engine(str(r"mysql+mysqldb://%s:" + '%s' + "@%s/%s") % (user, password, host, db))
try:
df = pd.DataFrame([[1,'x'],[2,'y']],columns=list('ab'))
df.to_sql('test1',con=engine,if_exists='replace',index=False)
except Exception as e:
print(e)
今天2019年8月10日也算是有一点小收获,想记录下来,以后数据库连接可以参考,这是我在CSDN的第 一篇博客,以前是在网易写,其实也好没记录,现在要重启博客,加油,继续成长,拥抱Python,一切不晚