Python连接MySQL数据库的多种方式
Python连接MySQL数据库的多种方式上篇文章分享了windows下载mysql5.7压缩包配置安装mysql
后续可以选择
①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器的数据
②连接测试服务器的数据库账号和密码,在测试服务器上操作,内部测试服务器的数据库账号和密码在分配时会给不同账号做权限限制,如不同账号允许登录的方式、开放的数据库范围、账号可读写操作的权限都会不一样,若出现一直使用代码登录不上远程数据库服务器,应检查下账号是否具有权限,可询问负责管理测试服务器数据库管理员。(本人亲测不同账号相同代码,一个能操作成功一个报错连接不上数据库;另,在navicat工具或pycharm ide内配置可视化数据库时账号登录需要使用ssh通道认证,相同的账号用python代码连接却完全不需要ssh远程连接的代码,提供账号和密码就能登录成功。数据库权限限制相关的着实深!)
本次代码实现连接远程服务器
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。
目前,MySQL驱动有几种:
mysql-connector-python:是MySQL官方的纯Python驱动;
MySQL-python:是封装了MySQL C驱动的Python驱动。
安装MySQL驱动:
pip install mysql-connector-python
测试是否安装成功,测试python下是否可成功导入mysql.connector即可(import mysql.connector)
pip install MySQL-python (不支持python3)
测试是否安装成功,测试python下是否可成功导入MySQLdb即可(import MySQLdb)
pip install mysqlclient (mysqlclient 完全兼容MySQLdb,同时支持python3)
测试是否安装成功,测试python下是否可成功导入MySQLdb即可(import MySQLdb)
pip install PyMySQL
测试是否安装成功,测试python下是否可成功导入pymysql即可(import pymysql)
python连接MySQL数据库的多种方式(方式一)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
方式一:
import mysql.connector
打开数据库连接
db = mysql.connector.connect(host='...',
port=3306, user='*', # 数据库IP、用户名和密码 passwd='*', charset = 'utf8')
使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
for item in data:
print(item[0])
关闭数据库连接
db.close()
python连接MySQL数据库的多种方式(方式二)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
方式二:
import MySQLdb
打开数据库连接
conn = MySQLdb.connect(host='...',
port=3306, user='*', passwd='*', charset = 'utf8' )
使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
cursor.execute("select * from tables_name")
使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
for item in data:
print(item)
关闭数据库连接
cursor.close()
python连接MySQL数据库的多种方式(方式三)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
方式三:
import pymysql
打开数据库连接
conn = pymysql.connect(host='...',
port=3306, user='*', passwd='*', charset = 'utf8' )
使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
使用 execute() 方法执行 SQL 查询
cursor.execute("show databases;")
cursor.execute("use database_name;")
cursor.execute("show tables;")
cursor.execute("select * from tables_name")
使用 fetchone() 方法获取单条数据;使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
for item in data:
print(item[0])
关闭数据库连接
cursor.close()
原文地址https://www.cnblogs.com/kristin/p/10718048.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python爬虫入门教程 7-100 蜂鸟网图片爬取之二
1. 蜂鸟网图片-简介 今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度。 安装模块常规套路 pip install aiohttp 运行之后等待,安装完毕,想要深造,那么官方文档必备 :https://aiohttp.readthedocs.io/en/stable/ 接下来就可以开始写代码了。 我们要爬取的页面,这一次选取的是 http://bbs.fengniao.com/forum/forum_101_1_lastpost.html 打开页面,我们很容易就获取到了页码 好久没有这么方便的看到页码了。 尝试用 aiohttp 访问这个页面吧,模块的引入,没有什么特殊的,采用 import 即可 如果我们需要 使用 Asyncio + Aiohttp异步IO 编写爬虫,那么需要注意,你需要异步的方法前面加上 async 接下来
- 下一篇
双非二本的2019春招Java岗面试心得
前言 1. 已拿途牛天津研发部Java研发岗Offer 2. 追一科技等hr面ing 也许对于大佬来说 这个offer不怎么样 不过对于我这个0offer菜鸟来说已经是来之不易了. 2019.2.20到2019.4.16这两个月对我来说其实挺煎熬的 还好抓住一个春招的末班车 希望接下来我的面试心得可以给一些刚准备面试的待实习生一点建议 面试这东西很玄学, 简历, 实力, 情商还有运气四者缺一不可. 简历篇: 这个可是门面啊 当然的好好斟酌.打个预防针: 校招挺看重学历要是因为学历原因挂简历,挂面试 那无可厚非, 同等条件下, 谁不想要高学历的员工呢?社会本来就是不公平的 所以别失落 提高自身能力才是王道 我的室友就收到头条, 吉比特 , 依图offer 人家是付出了时间和精力的 大一开始早上7点-晚上10点全程在工作室ACM, 持续到大三拿到亚洲区域赛银牌 所以别灰心, 学历不够 实力来凑;毕竟 IT行业相对其他行业已经显得很公平了 一句话:打铁还需自身硬 回归正题:学历不够优秀(菜鸡如我) 那么只能完善简历 ,突出你的专业性因为简历也是实力的体现: 技能会啥写啥,但是要描述准确,比如...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,8上快速安装Gitea,搭建Git服务器