pythonはどのようにmysqlを操作しますか?

2185 ワード

mysql使用
サービスを開始
sudo system start mysql
pip 3 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: 
    {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:
    {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()
    よく使う
    
    DROP TABLE IF EXISTS employee;
    CREATE TABLE IF NOT EXISTS employee(id INT);
    以上はpython操作mysqlの手順の詳細です。python操作mysqlに関する資料は他の関連記事に注目してください。