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不报错即表示成功
安装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>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()