当前位置 博文首页 > linux下python3连接mysql数据库问题

    linux下python3连接mysql数据库问题

    作者:admin 时间:2021-07-09 18:36

    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 

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

    jsjbwy