网络编程
位置:首页>> 网络编程>> 数据库>> python如何操作mysql

python如何操作mysql

作者:云雀叫了一整天  发布时间:2024-01-16 23:27:28 

标签:python,MySQL

mysql 使用

启动服务

sudo systemctl start mysql
pip3 install pymysql

python 操作数据库:

  • 定义类


import pymysql

class MyDb():
 def __init__(self, host, user, passwd, db):
     self.__db = pymysql.connect(host, user, passwd, db)
     self.__cursor = self.__db.cursor()

# 增删改-数据库
 def set(self, sql):
   try:
     self.__cursor.execute(sql)
     self.__db.commit()
   except Exception as e:
     self.__db.rollback()
     print('Execute Error: \n {e}')

# 查-数据库
 def get(self, sql, fetchone=True):
   self.__cursor.execute(sql)
   try:
     if fetchone == True:
       data = self.__cursor.fetchone()
     else:
       data = self.__cursor.fetchall()
   except Exception as e:
     print('Execute Error: \n {e}')
     data = None
   finally:
     return data

# 关闭数据库
 def close(self):
   self.__db.close()
  • 调用


def example():
 ## 实例化数据库
 ### 类参数:host、user、passwd、db
 db = MyDb('localhost', 'root', 'zuoy123', 'test')

## 查看版本
 get_version_sql = 'SELECT VERSION()'
 version = db.get(get_version_sql)
 print(f'Database Version: {version}')

## 删除表
 delete_table_sql = 'DROP TABLE IF EXISTS employee'
 db.set(delete_table_sql)

## 新建表
 new_table_sql = 'CREATE TABLE IF NOT EXISTS employee( \
   id INT NOT NULL PRIMARY KEY, \
   name CHAR(21) NOT NULL, \
   age DOUBLE DEFAULT 18)'
 db.set(new_table_sql)

## 查找表
 get_table_sql = 'SHOW TABLES'
 data = db.get(get_table_sql)
 if data:
   print(data)

## 关闭数据库
 db.close()

if __name__ == '__main__':
 example()

常用sql


DROP TABLE IF EXISTS employee;
CREATE TABLE IF NOT EXISTS employee(id INT);

来源:https://cloud.tencent.com/developer/article/1526845

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com