python连接MySQL数据库问题? cursor( ) 、execute()和fetchall( )方法的作用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python连接MySQL数据库问题? cursor( ) 、execute()和fetchall( )方法的作用?相关的知识,希望对你有一定的参考价值。

db=mysqldb.connect(host="172.168.10.135",user="USER",passwd="123456",db="hive",charset="gb2312")
cursor = db.cursor() #这句话是什么意思?cursor()方法的作用?
n = cursor.execute("select * from TABLE_PARAMS") #execute方法的作用

for row in cursor.fetchall(): # fetchall()方法滴作用?还有就是row代表什么?
for r in row:
print r

MySQLdb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单:
host:MySQL服务器名
user:数据库使用者
password:用户登录密码
db:操作的数据库名
charset:使用的字符集(一般是gb2312)
cursor = db.cursor() 其实就是用来获得python执行Mysql命令的方法,也就是
我们所说的操作游标
下面cursor.execute则是真正执行MySQL语句,即查询TABLE_PARAMS表的数据。
至于fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据。同样后面的r也是一个变量,用来接收row中的每个字符,如果写成C的形式就更好理解了
for(string row = ''; row<= cursor.fetchall(): row++)
for(char r = ''; r<= row; r++)
printf("%c", r);
大致就是这么个意思!
参考技术A

    cucursor()方法的作用?获取操作游标

    execute方法的作用?执行SQL,括号里的是sql语句 fetchall()方法滴作用?返回查询到的所有记录

mysql与python的交互

##导包
import pymysql

#封装方法
def main():
    #创建mysql连接
    conn = pymysql.connect(host=localhost,port=3306,database=python01,user=root,password=858362,charset=utf8)
    #创建cursor,接受mysql语句并且执行的对象方法
    cursor = conn.cursor()
    #插入10万数据
    for x in range(100000):
        cursor.execute("insert into test_index values(‘ha - %s‘,‘ca - %s‘)"%(x,x))
    conn.commit()

if __name__ == __main__:
    main()
import pymysql

def test():
    conn=pymysql.connect(host=localhost,port=3306,database=message,user=root,password=858362,charset=utf8)
    cursor=conn.cursor()

    cursor.execute(select * from classify)

    ret=cursor.fetchall()
    print(ret)
    cursor.execute(select * from news where id = 1)
    r=cursor.fetchone()
    print(r)
    cursor.execute(delete from news where id = 2)
    cursor.execute(select * from news)
    e=cursor.fetchall()
    print(e)
    cursor.execute(update news set name = "张三" where id = 3)
    cursor.execute(select * from news where id = 3)
    a=cursor.fetchone()
    print(a)
    cursor.execute(select * from news where s_news = 1)
    vv=cursor.fetchall()
    print(vv)
    cursor.execute(select * from news where (count>5 and is_delete = "是"))
    ew=cursor.fetchone()
    print(ew)
    conn.commit()
    cursor.close()
    conn.close()

if __name__ == __main__:
    test()
import pymysql
#
# #创建函数
def main():
    #建立mysql连接
    conn = pymysql.connect(host=127.0.0.1,port=3306,user=root,password=858362,database=python01,charset=utf8)
    #创建cursor对象,执行sql语句,声明游标对象返回dict
    cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)

    cursor.execute("select * from students")#select * from students
    ret=cursor.fetchone()
    # ret=cursor.fetchall()
    # print(ret)
    # print(ret[4])
    # print(ret[4][‘name‘])
    print(ret[name])
    cursor.close()
    conn.close()
if __name__ == __main__:
    main()

 

以上是关于python连接MySQL数据库问题? cursor( ) 、execute()和fetchall( )方法的作用?的主要内容,如果未能解决你的问题,请参考以下文章

Python操作MySQL实战案例讲解

mysql与python的交互

Python学习之MySQLdb模块

python 操作 MySQL 即相关问题

MySQLdb使用

python连接mysql数据库——版本问题