Python3.x操作数据库Mysql--接入篇
(来自菜鸟教程)连接数据库前,请先确认以下事项:
1、您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE
2、EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
3、连接数据库TESTDB使用的用户名为 “testuser” ,密码为"test123",你可以可以自己设定或者直接使用root用户名及其密码。
4、Mysql数据库用户授权请使用Grant命令。
5、在你的机子上已经安装了 Python MySQLdb 模块。
(如果未安装,请参考
Python操作数据库mysql服务–安装篇)
1、安装mysql server
下载地址:[https://dev.mysql.com/downloads/file/?id=479097]
安装过程较为简单,此处不做赘述。
别忘记开启相关服务。
2、按照上述要求创建数据库、表、以及用户
笔者用的是:Navicat Premium【版本11.2.16(64-bit)】
右键点击localhost,选择创建数据库,输入数据库名字:TESTDB
然后双击数据库,点击选项:表,右键–新建表:EMPLOYEE
依次创建: FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME
进入服务器控制台(快捷方式F6),输入以下语句创建用户:
mysql> grant all privileges on *.* to 'testuser'@'%' identified by 'test123';
出现以下提示,表示创建成功:
Query OK, 0 rows affected
刷新一下:
mysql> flush privileges;
验证:
找到localhost–mysql(数据库)–user(表)
双击user表,查看是否创建成功:
3、实例
import pymysql #打开数据库连接(也可以不加port=3306) db=pymysql.connect(host="localhost",user="testuser",password="test123",db="TESTDB",port=3306) #使用cursor()方法创建一个游标对象cursor cursor=db.cursor() #使用execute()方法执行sql查询 cursor.execute("SELECT VERSION()") #使用fetchone()方法获取单条 4000 数据 data=cursor.fetchone() print("Database version : %s"%data) #关闭数据库连接 db.close()
执行以上脚本,输出结果如下:
常见问题汇总:
1、报错:AttributeError: module ‘pymysql’ has no attribute ‘connect’
这个是因为笔者脚本保存为pymysql导致重名,所以将脚本改为其他命名就不再报错了。
2、pymysql.err.OperationalError: (1045, “Access denied for user ‘root’@‘localhost’ (using password: YES)”)
此类报错多半是创建的用户名和密码等与数据库不符合导致无法连接的问题。
3、pymysql.err.OperationalError: (1045, “Access denied for user ‘root’@‘localhost’ (using password: NO)”)
此前笔者用root账号,默认没有密码,就写密码为空,报错。
password=“”
4、pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on ‘localhost’ ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)”)
此前有人在网上贴出代码,port=3307,报此错误,这边mysql数据库默认连接端口号:3306。
暂时就遇到这些坑,但愿能帮上你!
- Python3.x的mysqlclient的安装、Python操作mysql,python连接MySQL数据库,python创建数据库表,带有事务的操作,CRUD
- 数据库之python+MySQL基本操作
- python+mysql 操作数据库出现的中文编码问题
- python 安装操作 MySQL 数据库.
- 困扰老子一下午的数据库操作问题(python+mysql)
- python3+ 连接并操作mysql 数据库,支持读写分离
- python操作数据库mysql
- Python 深入浅出 - PyMySQL 操作 MySQL 数据库
- 数据存储之Python操作关系型数据库MySQL
- Python笔记day42(MySQL)|数据库操作、数据表操作、表内容操作、数据类型
- mac安装mysql-python和采用MVC的方式操作数据库
- Python操作数据库之 MySQL
- 不写一句mysql操作数据库才是Python的风格!!3个ORM模型库示范
- python 操作mysql 数据库 安装 MySQL-python
- Python Mysql 数据库操作
- python 操作mysql 数据库
- python连接sqlite(mysql)数据库以及sqlite数据库基础操作
- python 试题:以mysql或者sqlite为例,请用代码给出简洁且完整的数据库操作示例。
- python django 增删改查操作 数据库Mysql
- Python mysql 数据库操作