在linux下安装MySQLdb及基本操作
1、linux版本
⾸先在安装MySQL-python之前要安装setuptools(否则在安装MySQL-python的时候会抛出ImportError: No module named setuptools异常):
安装setuptools步骤:
shell中输⼊:
在shell中执⾏上⾯⼏个步骤setuptools就安装好了,现在就可以进⾏开始安装MySQL-python:
下载好后解压,在shell中执⾏:tar zxvf MySQL-python-1.2.
之后会产⽣⼀个叫 MySQL-python-1.2.3 的⽬录,进去。这⾥就要做⼀些配置了,往往问题就在这个地⽅。要想编译这个模块,就必须要先安装开发版的mysql,这⾥不说mysql怎么安装,假设你已经装好了。
然后到MySQL-python-1.2.3⽬录下,到site.cfg,并且把site.cfg⾥的threadsafe = True改为threadsafe=False后在shell中执⾏如下命令:
python setup.py build
python setup.py install
如果出现很多提⽰信息,OK,现在你已经安装好环境了,就尽情的⽤python来操作mysql数据库吧。
2、windows版本
安装后import MySQLdb会出现 DeprecationWarning: the sets module is deprecated 这样⼀个警告,google之
原因是2.6不知sets这个模块,不过已经添加了set内置函数。到MySQLdb⽂件夹的中__init__.py,注释掉from sets import ImmutableSet class DBAPISet(ImmutableSet):添加class DBAPISet(frozenset):;到converters.py注释掉from sets import BaseSet, Set。然后修改第45⾏和129⾏中的Set为set。
下⾯开始操作的demo:
Python代码
# -*- coding: utf-8 -*-
#mysqldb
import time, MySQLdb
#连接
t(host="localhost",user="root",passwd="",db="test",charset="utf8")
cursor = conn.cursor()
#写⼊
sql = "insert into user(name,created) values(%s,%s)"
param = ("aaa",int(time.time()))
n = ute(sql,param)
print n
#更新
sql = "update user set name=%s where id=3"
param = ("bbb")
n = ute(sql,param)
print n
#查询
n = ute("select * from user")
for row in cursor.fetchall():
for r in row:
print r
#删除
sql = "delete from user where name=%s"
param =("aaa")
n = ute(sql,param)
print n
cursor.close()
#关闭
conn.close()
基本的使⽤如上,还是很简单的,进⼀步使⽤还没操作,先从⽹上点资料放上来,以备后续查看
1.引⼊MySQLdb库
import MySQLdb
2.和数据库建⽴连接
t(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")
提供的connect⽅法⽤来和数据库建⽴连接,接收数个参数,返回连接对象.
⽐较常⽤的参数包括
host:数据库主机名.默认是⽤本地主机.
user:数据库登陆名.默认是当前⽤户.
passwd:数据库登陆的秘密.默认为空.
db:要使⽤的数据库名.没有默认值.
port:MySQL服务使⽤的TCP端⼝.默认是3306.
charset:数据库编码.
5 编码(防⽌乱码)
需要注意的点:
1 Python⽂件设置编码 utf-8 (⽂件前⾯加上 #encoding=utf-8)
2 MySQL数据库charset=utf-8
3 Python连接MySQL是加上参数 charset=utf8
4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)
#encoding=utf-8
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')
t(user='root',charset='utf8')在linux中下载mysql时冲突是什么
注:MySQL的配置⽂件设置也必须配置成utf8
设置 MySQL 的 myf ⽂件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/myf):[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论