""""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")