zoukankan      html  css  js  c++  java
  • python 操作mysql数据库

    _mysql模块封装了与Mysql C API相对应的功能,MySQLdb又在_mysql的基础上进行了封装,为的是与Python DB API兼容(不清楚python的DB API标准是怎么样的,刚学python)。

    在两者的文档中,都建议尽量使用MySQLdb。

    直接上代码:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import MySQLdb
    
    if __name__ == '__main__':
        #sql = 'insert into table_test values(...)' conn
    = MySQLdb.connect(user='user', host='ip_addr', passwd='password',db='test') cur = conn.cursor() #cur.executemany(sql, params) cur.execute(sql) conn.commit() #记得提交,否则如果上述语句是更新语句,比如insert,只会在本地进行,服务器端不会得到更新 cur.close() conn.close()

    有些网上的示例程序中并没有提到要执行conn.commit()

    我实验的过程中发现,这句话是必要的,否则插入语句只是在本地进行,并没有更新到数据库

    实验平台:python 2.4.3,[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2,

         mysql:5.5.24-0ubuntu0.12.04.1 (Ubuntu)

    因为上述问题,纠结了很久,因为是在百度搜索中找到的示例程序,排名很靠前,就没有怀疑什么,以为是python模块的bug

    后来读了MySQLdb和_mysql模块的文档,结合测试程序中出现的现象,想到有可能是没有提交的原因。

    因为过程中很纠结,所以记录一下

  • 相关阅读:
    php-文件系统
    php
    php
    php
    关于学习上面的感悟
    php
    Error: PostCSS plugin tailwindcss requires PostCSS 8.
    常用/不常用的HTTP状态码
    小程序云托管无需服务器部署PHP
    Docker-镜像操作
  • 原文地址:https://www.cnblogs.com/un4sure/p/2832059.html
Copyright © 2011-2022 走看看