zoukankan      html  css  js  c++  java
  • day6_mysql模块

    mysql数据存在磁盘里,mysql数据库:host是211.149.218.16,端口是3306,用户名是jxz,密码是123456,db也是jxz
    import pymysql
    connect1 = pymysql.connect(host='211.149.218.16', port=3306, user='jxz', passwd='123456', charset='utf8', db='jxz')  # 连接数据库,必须是utf8,不能是utf-8
    cur = connect1.cursor()  # 建立游标,相当于仓库管理员
    sql = 'select * from stu limit 3;'
    insert_sql = "insert into stu values(99, 'ssj')"
    cur.execute(insert_sql)  # 执行sql语句
    cur.execute(sql)  # 执行sql语句
    res = cur.fetchall()  # 获取所有sql语句执行的结果,fetchone()只能获取一条数据,fetchmany(),传入几条就获取几条
    connect1.commit()  # 提交数据
    print(res)  # 返回一个元组
    for c in cur:
          print(c)  # 直接循环cur对象,可以获取每一条数据,不用fetchone()一条条调
    cur.close()  #关闭游标
    connect1.close()  # 关闭数据库

    import pymysql
    from pymysql.cursors import DictCursor
    connect1 = pymysql.connect(host='211.149.218.16', port=3306, user='jxz', passwd='123456', charset='utf8')  # 连接数据库
    cur = connect1.cursor(DictCursor)  # 指定游标类型,返回字典
    sql = 'select * from stu limit 2,5;'  # 表示从第3条开始往后读5条数据
    cur.execute(sql)
    for c in cur:
          print(c)  # 返回值是字典类型,字典好取值

    def op_mysql(host, user, passwd, db, sql, charset='utf8', port=3306):
    import pymysql
    from pymysql.cursors import DictCursor
    con = pymysql.connect(host=host, user=user, passwd=passwd, db=db, charset=charset, port=port)
    cur = con.cursor(DictCursor) # 指定返回数据的类型是字典
    cur.execute(sql)
    if sql.strip().startswith('select'):
    res = cur.fetchall()
    else:
    con.commit() # 除了查询操作外,其他操作都需要commit(),才能同步到数据库里面
    res = 'ok'
    cur.close()
    con.close()
    print(res)
    return res
    sql1 = 'insert into stu values(100, "insert语句测试");'
    sql2 = 'update stu set name = "update语句测试" where id = 77;'
    sql3 = 'delete from stu where id = 99;'
    sql4 = 'select id,name from stu where id = 999;'
    op_mysql(host='211.149.218.16', user='jxz', passwd='123456', db='jxz', sql=sql1)
    op_mysql(host='211.149.218.16', user='jxz', passwd='123456', db='jxz', sql=sql2)
    op_mysql(host='211.149.218.16', user='jxz', passwd='123456', db='jxz', sql=sql3)
    op_mysql(host='211.149.218.16', user='jxz', passwd='123456', db='jxz', sql=sql4)

    cur.fetchall()  # 它一直返回的是一个二维的list,不管你指定了什么类型的游标
    cur.fetchone()  # 它才返回的是具体的值,如果指定游标类型是字典,那么它就返回一个字典,否则返回的是list,如果你写的sql只有一条结果的话,用fetchone方便,如果写的sql结果有多条,那么用fetchall

  • 相关阅读:
    java泛型
    java集合
    java面向对象
    java常用类
    二分查找
    递归
    选择排序+冒泡排序
    threejs入门简单例子
    css表格合并边框以及单元格宽度计算方式
    Spring Boot 有哪些优点?
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8534986.html
Copyright © 2011-2022 走看看