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

好了,本文全部内容介绍完毕,希望本文分享对大家有所帮助。

时间: 2015-10-17

python3读取MySQL-Front的MYSQL密码

前言 同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是MySQL-Front. MySQL-Front就一款开源的mysql管理工具,官方网站http://www.mysqlfront.de/ . 配置文件的路径: MySQL-Front的配置文件存在用户目录下,环境变量是%appdata% . 在windows7下的存储路径是: C:\Users\%user%\AppData\Roaming\MySQL-Front\Accounts.xml Accounts.xml这个XML

python3.4用函数操作mysql5.7数据库

本文实例为大家分享了python3.4函数操作mysql数据库的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ python study Date:2017 """ # -*- coding: utf-8 -*- __author__ = 'djstava@gmail.com' import lo

Python3连接MySQL(pymysql)模拟转账实现代码

本文实例为大家分享了Python3连接MySQL模拟转账的具体实现代码,供大家参考,具体内容如下 # coding:utf8 import sys import pymysql class TransferMoney(object): def __init__(self,conn): self.conn=conn def check_acct_available(self,acctid): cursor = self.conn.cursor() try: sql="select * from a

python3操作mysql数据库的方法

软硬件环境 OS X EI Capitan Python 3.5.1 mysql 5.6 前言 在开发中经常涉及到数据库的使用,而python对于数据库也有多种解决方法.本文以python3中的mysql为例,介绍pymysql模块的使用. 准备数据库 创建一个mysql数据库,名字叫testdb,建立一张表叫testtable,它有3个字段,分别是id,数据类型是INT(11),设为主键.非空.UNSIGNED.AUTO INCREMENT,name,数据类型是VARCHAR(45),设为非空

python3使用PyMysql连接mysql数据库实例

python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb 目前MySQLdb并不支持python3.x , Python3.x连接MySQL的方案有:oursql, PyMySQL, myconnpy 等. 下面来说下python3如何安装和使用pymysql,另外两个方案我会在以后再讲. 1.pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymys

python3图片转换二进制存入mysql

首先,在数据库中创建一个表,用于存放图片: 复制代码 代码如下: CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB); 然后运行如下PYTHON代码进行: 复制代码 代码如下: # -*- coding: UTF-8 -*-import MySQLdb as mdbimport systry:    #用读文件模式打开图片    fin = open("../web.jpg")    #将文本读

python3.4用循环往mysql5.7中写数据并输出的实现方法

如下所示: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ python study Date:2017 """ import pymysql # import MySQLdb #python2中的产物 try: # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库 conn = pymysql.connect(hos

Linux下安装Python3和django并配置mysql作为django默认服务器方法

我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法

如下所示: 如上图,replace即可. 以上这篇Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

Java中转义字符反斜杠\的代替方法及repalceAll内涵解析

一.需求 现有一个字符串str String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\":\\\"123456\\\"}"; System.out.println("str = " + str); 在控制台的输出为: str = {\"name\":\"spy\",\"id\":\&

VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法

通常用VB 写的程序在32位系统上可以正常的运行,但到了64位系统中虽然可以运行但是无法修改OEM信息.经过查找原因可以发现,当我们在访问文件夹"SYSTEM32"的时候系统会自动转向到文件夹"SYSWOW64"下,当我们在访问某些注册表键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面. 先来谈谈文件系统的转向,查找了一些资料,并没有VB相关的资料,但是可以查到2个相关函数:Wow64DisableWow64FsRedirect

MySQL中字符串与Num类型拼接报错的解决方法

发现问题 图片地址如下 http://qximg.lightplan.cc/2016/09/11/1473574486942944.jpeg 需要实现的效果是要加上尺寸,如以下效果 http://qximg.lightplan.cc/2016/09/11/1473574486942944.jpeg|1200*675 一开始想当然使用 UPDATE tag_group SET cover = cover + '|1200*675' WHERE id = 1; 结果报错 Data truncatio

python3实现往mysql中插入datetime类型的数据

昨天在这个上面找了好久的错,嘤嘤嘤~ 很多时候我们在爬取数据存储的时候都需要将当前时间作为一个依据,在python里面没有时间类型可以直接拿来就用的.我们只需要在存储之前将时间类型稍作修饰就行. datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") 如: #插入产品信息 insert_good_sql = """ INSERT INTO T_GOOD(good_name, good_type, img_

详谈python在windows中的文件路径问题

在使用python通过open()函数来打开文件的时候,传递绝对路径给open()的时候,发现路径参数的内容与想象中的有所出入: 由于windows的路径分隔符使用的是反斜杠\,它刚刚好是转义字符,故可能发生冲突 # 错误示范:反斜杠似乎被解释为转义字符而不是分隔字符 path = '''F:\Python\test.txt''' path = '''F:\\Python\test.txt''' """以下三种方式都是可行的""" path =

Linux下修改MySQL数据库数据文件路径的步骤

使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysql_data/mysql Linux系统版本:centos7.6 MySQL数据库版本:5.7.25 步骤: 1.创建目标路径 mkdir -p /home/mysql_data 2.关闭MySQL systemctl stop mysqld 3.复制数据文件 cp -arp /var/lib/my

MySQL 处理插入过程中的主键唯一键重复值的解决方法

本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )d

Android开发中R.java文件丢失或无法更新的解决方法

本文分析了Android开发中R.java文件丢失或无法更新的解决方法.分享给大家供大家参考,具体如下: 首先确定你的SDK是新的. 其次接下来检查你的.xml文件,文件名不能大写. 如果xml文件太多 ,那么clean一下你的项目,这时候注意看Console的提示. Console会提示你xml文件错误在哪里 修改完xml文件之后 clean你的项目,再build你的项目 R.java会重新出现或更新 Android 在开发中会自动生成一个 R.java 文件 ,这个文件是自动生成的,最好不要

解决Mysql数据库插入数据出现问号(?)的解决办法

首先,我用的mysql数据库是5.7.12版本. 出现的问题: 1.插入数据显示错误,插入不成功,出现:Incorrect string value: '\xCD\xF5\xD5\xBC\xBE\xA9' for column 'Sname' at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件中的 [mysqld] 中加入 #character-set-server=utf8 如图所示,必须在蓝圈的上方,就是说,蓝圈内的内容必须在[mysqld]的最下面