python 数据分析基础 day12-python调用mysql

今天是读《python数据分析基础》的第11天,今天的读书笔记的内容为通过MysqlcCient模块来使用mysql数据库。

mysqlcilent介绍

mysql与python连接的包名为mysql-python, 不过在python3.x中这个包的名字为mysqlclient,调用时包的名称则为MySQLdb。
使用方式与sqlite3类似,先链接数据库,再创建游标,通过cursor.execute()执行sql语句,再通过connection.commit()提交事务。
注:
1.进行以下操作时,必须确保mysql服务已经开启。
2.下文操作所涉及的数据库pydatabase已实现通过mysql生成。

创建数据表

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#创建表
cur.execute('CREATE TABLE IF NOT EXISTS test(ID long,text varchar(20),score float)')

#关闭游标及数据库连接
cur.close()
con.close()

插入数据

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#插入数据
data=[(1,'a',12.5),(2,'b',10.3),(3,'c',11.0)]
for row in data:
    cur.execute('INSERT INTO test VALUES(%s,%s,%s);',row)
con.commit()

#关闭游标及数据库连接
cur.close()
con.close()

选取数据

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#选取数据
cur.execute('SELECT * FROM test;')
rows=cur.fetchall()
for row in rows:
    print(row)

#关闭游标及数据库连接
cur.close()
con.close()

修改数据

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#更新数据
cur.execute('UPDATE test SET score=score+1.0;')
con.commit()

#关闭游标及数据库连接
cur.close()
con.close()

删除数据

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#删除数据
cur.execute('DELETE FROM test;')

#关闭游标及数据库连接
cur.close()
con.close()

删除表

import MySQLdb

#连接mysql数据库
con=MySQLdb.connect(host='localhost',port=3306,db='pydatabase',user='user',passwd='pass')
#生成游标
cur=con.cursor()

#删除表
cur.execute('DROP TABLE test;')

#关闭游标及数据库连接
cur.close()
con.close()

猜你喜欢

转载自blog.csdn.net/weixin_34396902/article/details/87232414