MySQLdb 菜鸟笔记 1

1 打开数据库连接


conn = MySQLdb.connect( host='x.x.x.x',

                        user='xxx',

                        passwd='xxx',

                        db='xxx',

                        port=3306)

sql = 'select * from table limit 10'                       

只有port字段类型为int

2 使用cursor()方法获取操作游标

cursor = db.cursor()

2.1 fetchall返回所有的结果

2.1.1 正常输出

with conn:

    cur = conn.cursor()

    cur.execute(sql)

    rs = cur.fetchall()

    for info in rs:

        print info

输出:


(6104592L, 4L)

(214339L, 7L)

(7516522L, 7L)

(7744948L, 32L)

(9820259L, 33L)

(1420524L, 35L)

(8153528L, 38L)

(6422477L, 41L)

(3883549L, 42L)

(5919834L, 43L)

2.1.2 字典输出

with conn:

    dict_cnf = MySQLdb.cursors.DictCursor # 增加字典输出的配置项

    cur = conn.cursor(dict_cnf)

    cur.execute(sql)

    rs = cur.fetchall()

    for info in rs:

        print "id: %s ,  k:%s " %(info['id'],info['k'])

输出


id: 6104592 ,  k:4

id: 214339 ,  k:7

id: 7516522 ,  k:7

id: 7744948 ,  k:32

id: 9820259 ,  k:33

id: 1420524 ,  k:35

id: 8153528 ,  k:38

id: 6422477 ,  k:41

id: 3883549 ,  k:42

id: 5919834 ,  k:43

2.2 fetchone结果集的下一行

2.2.1 简单输出

with conn:

    cur = conn.cursor()

    cur.execute(sql)

    rs = cur.fetchone()

    print rs

输出


(6104592L, 4L)

2.2.2 测试description参数的作用(不是很理解)

with conn:

    cur = conn.cursor()

    cnt = cur.execute(sql)

    rs = cur.fetchone()

    desc = cur.description

    print desc

    print cnt # 输出查询值的数量

输出


(('id', 3, 7, 10, 10, 0, 0), ('k', 3, 2, 10, 10, 0, 0))

10

2.2.3 使用description参数配置输出,字典,跟(2.1.2 字典输出)类似

with conn:

    cur = conn.cursor()

    cur.execute(sql)

    rs = cur.fetchone()

    desc = cur.description

    cols = [col[0] for col in desc]

    rs = dict(zip(cols, rs))

    print 'id: %s    ,k:%s' %(rs['id'],rs['k'])

输出


id: 6104592    ,k:4

3 使用execute方法执行SQL语句


cursor.execute(sql)

4 关闭数据库连接


db.close()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,252评论 4 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 什么是MySQLdb? MySQLdb是用于Python链接Mysql数据库的接口,它实现了Python数据库AP...
    胖腚猴阅读 3,251评论 0 0
  • 时尚女魔头:幽默下的人生观 看完时尚女魔头,并不只是沉浸在灰色幽默中,并不只有马琳达的尖酸刻薄,艾米莉的雷厉风行或...
    屁SONG卡阅读 706评论 0 3
  • 人生多彩因多折, 千人万恼自难说。 吞云吐雾暂屏烦, 吾知有害不需拦。
    诗忆君阅读 302评论 6 4