python访问mysql

来源:互联网 发布:软件界面 英文 编辑:程序博客网 时间:2024/04/26 21:22

Python访问mysql需要第三方模块MySQLdb

1.安装MySQLdb

首先先把mysql的bin目录加到你的PATH中

下载来的MySQLdb 源码包解包后

进入解压出来的目录

编辑一下site.cfg文件

[quincy@Quincy MySQL-python-1.2.3]$ vim site.cfg

找到#mysql_config = /usr/local/bin/mysql_config

将#去掉,后面写上你的mysql_config的目录

比如我的 mysql_config = /app/mysql-5.6.13/bin/mysql_config

并把第七行的

 threadsafe = True改为threadsafe = False

然后:wq

执行

[quincy@Quincy MySQL-python-1.2.3]$ python setup.py build

没问题的话就执行

[quincy@Quincy MySQL-python-1.2.3]$ sudo python setup.py install
安装好了就测试一下

>>> import MySQLdb

这回又出错了

ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

这要在/usr/lib下建立一个到mysql的lib目录下的符号链接

ln -s mysql安装目录/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.18

比如我的是

[quincy@Quincy ~]$ sudo ln -s /app/mysql-5.6.13/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.18

权限不够记得sudo一下

先在import就没问题了

2.使用MySQLdb模块

2.1建立连接

conn=MySQLdb.connect(host=主机地址,user=用户名,passwd=密码,db=数据库,charset=语言编码)

如果是中文charset不写会出现乱码

2.2获得游标

cursor=conn.cursor()

操作必须要有游标

2.3查询

cursor.execute("select语句")

cursor.fetchone()获得一行记录

cursor.fetchmany(n)获得n条记录

cursor.fetchall()获得全部记录

中文字符:如果直接用 print cursor.fetchxx()会显示unicode元组

遍历的话就会输出中文字符了

2.4插入

cursor.execute(“insert into 表名 values(%s)”,待插入的元组) 此时只能插入一条记录

插入多条记录

cursor.executemany("insert into 表名 values (%s,%s)",要插入的记录的元组列表)

2.5删除

cursor.execute("delete from语句")

2.6更改

cursor.execute("update语句")

2.7释放连接

用完要记得释放连接

cursor.close()

conn.close()



原创粉丝点击