PyMysql

""""PyMySQL介绍PyMySQL 是在 Python3.x 版本中用于链接 MySQL 服务器的一个库,Python2中则使用mysqldb。Django中也可使用PyMySQL链接MySQL数据库。基本使用# 导入pymysql模块import pymysql# 链接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,                                        database=“数据库名”,charset=“utf8”)# 获得一个能够执行SQL语句的光标对象cursor = conn.cursor()# 定义要执行的SQL语句sql =CREATE TABLE USER1 (            id INT auto_increment PRIMARY KEY ,            name CHAR(10) NOT NULL UNIQUE,            age TINYINT NOT NULL            )ENGINE=innodb DEFAULT CHARSET=utf8;# 执行SQL语句cursor.execute(sql)# 关闭光标对象cursor.close()# 关闭数据库链接conn.close()返回字典格式的数据conn = pymysql.connect(    host="127.0.0.1", port=3306, user="root",    password="123456", database="task", charset="utf8")cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)cursor.execute("select * from goods;")ret2 = cursor.fetchall()print("=" * 100)cursor.close()conn.close()print(ret2)注意:charset=“utf8”,编码不要写成"utf-8"二 . 增删改查 操做1 . 增  加 插入数据失败回滚conn = pymysql.connect(host="127.0.0.1",port=3306, user="root", password="123456",database="task",charset="utf8")cursor = conn.cursor()sql = "insert into tb2(name, age) values(%s, %s);"name = "小刚"age = 22try:    cursor.execute(sql, [name, age])    conn.commit()except Exception as e:    conn.rollback()    print(e)cursor.close()conn.close()     批量操做 (注意是cursor.executemany)     conn = pymysql.connect(host="127.0.0.1",port=3306, user="root", password="123456",database="task",charset="utf8")cursor = conn.cursor()sql = "insert into tb2(name, age) values(%s, %s);"data = [    ("ahuango",6),    ("ahoongi",7),]try:    cursor.executemany(sql, data)    conn.commit()except Exception as e:    conn.rollback()    print(e)cursor.close()conn.close()       获取插入数据的ID(关联操做时会用到)conn = pymysql.connect(host="127.0.0.1",port=3306, user="root", password="123456",database="task",charset="utf8")cursor = conn.cursor()sql = "insert into tb2(name, age) values(%s, %s);"name = "小刚2"age = 20try:    cursor.execute(sql, [name, age])    conn.commit()    #  获取刚插入数据的 id    last_id = cursor.lastrowid    print(last_id)except Exception as e:    conn.rollback()    print(e)cursor.close()conn.close()             删除数据conn = pymysql.connect(host="127.0.0.1",port=3306, user="root", password="123456",database="task",charset="utf8")cursor = conn.cursor()sql = "delete from tb2 where id=%s;"try:    cursor.executemany(sql, [10])    conn.commit()except Exception as e:    conn.rollback()    print(e)cursor.close()conn.close()        修改数据conn = pymysql.connect(host="127.0.0.1",port=3306, user="root", password="123456",database="task",charset="utf8")cursor = conn.cursor()sql = "update tb2 set age=%s where id=%s;"age = 88id = 12try:    cursor.execute(sql, [age, id])    conn.commit()except Exception as e:    conn.rollback()    print(e)cursor.close()conn.close()            最重要的查看数据conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", database="task", charset="utf8")cursor = conn.cursor()sql = "select * from tb2;"cursor.execute(sql)ret1 = cursor.fetchone() #取一条ret2 = cursor.fetchall() #取所有的数据cursor.close()conn.close()print(ret1)print(ret2)  #返回元组 形式           进阶用法       # 能够获取指定数量的数据cursor.fetchmany(3)# 光标按绝对位置移动1cursor.scroll(1, mode="absolute")# 光标按照相对位置(当前位置)移动1cursor.scroll(1, mode="relative")
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息