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")
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息