Python mysql实践小记

Python使用mysql数据库需要先导入MySQLdb模块(用于Python链接Mysql数据库的接口)

1、先安装mySQLdb模块
通过pip命令安装:pip install MySQL-python

结果报错提示:unable to find vcvarsall.bat


经过网上一番查找,发现需要安装visual studio

下载visual studio 2015社区版完成安装后,仍然报错,经查证发现默认是不安装c++的编译sdk的。你需要再次挂载iso

于是下载iso,安装



安装完成后,不再提示unable to find vcvarsall.bat,这时又报了另外一个错误


原因是MySQL-python只有32位系统安装包,如果下载exe或者pip安装,也会报错
解决方法:直接下载mysqlclient, http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下载对应的mysqlclient即可(适用于Python 3.0以上版本)
至此,新建一个Python文件,输入import mySQLdb不报错即表示成功

2、安装mysql和mysql可视化工具

安装mysql server,记住自己所设置的密码

为了方便数据库的操作,这里下载一个mysql可视化工具,我选择的是navicat

在navicat中新建一个连接,需要输入安装mysql时的密码,然后开始连接,如果密码输入错误,则会

报错提示:1045 access denied for user'root'@'localhost' using password yes

这时就需要重置root用户的密码:

  • 停止mysql服务,net stop  mysql
  • MySQL安装目录\MySQL Server 5.1\bin后面输入:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables
  • 重新打开一个DOS窗口,在C:\Program Files\MySQL\MySQL Server 5.1\bin后面输入:mysql -root -p
  • 提示输入密码,在Enter后面输入密码,进入mysql>
  • 在mysql>下输入:
                mysql>update ssh(数据库名称) set password=PASSWORD('newpassword') where USER='root'
                mysql>FLUSH PRIVILEGES;
                mysql>quit

再次打开连接,navicat正常,然后就是创建数据库和表

3、Python实现

具体代码如下:

#引入模块
import MySQLdb

# 打开数据库连接
db = MySQLdb.connect(host='127.0.0.1',
                           port=3306,
                           user='root',
                           passwd='root',
                           db='test'
                           )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 编写sql语句
sql_select = "select * from user"
sql_insert = "insert into user(userid,username) values(2,'name2')"
sql_update = "update user set username = 'name2_update' where userid = 2"
sql_delete = "delete from user where userid = 2"

cursor.execute(sql_select)
# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()

# 使用 fetchall() 方法获取数据库剩余所有数据。
data = cursor.fetchall()

# rowcount: 只读属性,返回执行execute()方法后影响的行数。
print(cursor.rowcount)

# 使用execute方法执行SQL语句
try:
    cursor.execute(sql_insert)
    cursor.execute(sql_update)
    cursor.execute(sql_delete)
    #三个操作全部正确执行后再提交
    db.commit()
except Exception as e:
    print(e)
    # 如果有异常就回滚代码
    db.rollback()
finally:
    #最后关闭cursor和数据库
    cursor.close()
    db.close()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值