python访问mysql

发布时间:2019-07-14 10:00:28编辑:auto阅读(1270)

    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()


关键字