linux下python3连接mysql数据库问题
python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb
1.安装pymysql
pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql
pip install pymysql3
2.使用pymysql
在我们需要使用数据库的.py文件开头添加下面两行
import pymysql
pymysql.install_as_mysqldb()
第一行是引入pymysql,第二行是照顾习惯,将其当成是mysqldb一样使用
linux下python连接mysql数据库方法
要连接数据库名称是hhh,用户名是tom,连接的数据表是 data_import,其中 data_import数据结构如下(5个属性):
mysql> desc data_import;
+---------+-------------+------+-----+---------+-------+
| field | type | null | key | default | extra |
+---------+-------------+------+-----+---------+-------+
| id | char(10) | yes | | null | |
| name | char(10) | yes | | null | |
| age | char(10) | yes | | null | |
| address | varchar(15) | yes | | null | |
| hobby | varchar(15) | yes | | null | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
linux下python连接mysql数据库完整例程:
#!/usr/bin/python import mysqldb #导入库 conn = mysqldb.connect(host="127.0.0.1",user="tom",passwd="123",db="hhh") #conn = mysqldb.connect('localhost',"tom","123","hhh")#连接函数 cur = conn.cursor()#获得指向当前数据库的指针 #cur.execute('show tables;') cur.execute("select * from data_import;")#用execute()方法执行sql语句 result = cur.fetchall()#用fetchall()方法得到行信息 for record in result: print "%s \t%s \t%s \t%s \t%s " % record#格式化输出 cur.close()#关闭指针对象 conn.close()#关闭数据库连接对象
运行结果(部分):
[root@localhost python]# ./python_mysql.py
1 tom 24 beijing football
2 liu 27 heibei football
3 jim 26 shandong football
4 han 28 beijing football
5 meng 25 beijing tennis
1 tom 24 beijing football
好了,本文全部内容介绍完毕,希望本文分享对大家有所帮助。
上一篇: Linux 中 CURL常用命令详解
推荐阅读
-
详解使用navicat连接远程linux mysql数据库出现10061未知故障
-
详解在Windows环境下访问linux虚拟机中MySQL数据库
-
Broadcom网卡linux系统下无法连接到网络问题的解决办法
-
解决php用mysql方式连接数据库出现Deprecated报错问题
-
python 连接数据库mysql解压版安装配置及遇到问题
-
linux下Vps自动备份web和mysql数据库的脚本
-
Windows7下安装使用MySQL8.0.16修改密码、连接Navicat问题
-
解决Windows10下mysql5.5数据库命令行中文乱码问题
-
完美解决MySQL通过localhost无法连接数据库的问题
-
windows系统下mysql数据库字符编码问题分析之需要修改字符集为UTF-8