Posted under » MySQL » Python on 27 May 2021
Activate a venv that has PyMysql installed. Assuming you already have a MySQL database created.
Create a python file... say coon.py and make it able to execute.
#!/usr/bin/env python import pymysql endpoint = 'lms-contents.cs4.ap-southeast-1.rds.amazonaws.com' dbuser = 'sandylam' dbpassword = 'LKly' database = 'LMS_contents' # Open database connection db = pymysql.connect(host=endpoint,user=dbuser,password=dbpassword,database=database) # prepare a cursor object using cursor() method cursor = db.cursor() # execute SQL query using execute() method. cursor.execute("SELECT VERSION()") # Fetch a single row using fetchone() method. data = cursor.fetchone() print ("Database version : %s " % data) # disconnect from server db.close()
Go to the folder and execute ./coon.py It will show "Database version : 8.0.20".
Now let's read the database. Once the database connection is established, you are ready to make a query into this database. You can use either fetchone() method to fetch a single record or fetchall() method to fetch multiple values from a database table
... same con as above # Open database connection db = pymysql.connect(host=endpoint,user=dbuser,password=dbpassword,database=database) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query read the database. sql = "SELECT * FROM auth_user WHERE `username` LIKE '%weiling%'" try: # Execute the SQL command cursor.execute(sql) # Fetch all the rows in a list of lists. results = cursor.fetchall() for row in results: last_login = row[2] username = row[4] # Now print fetched result print ("Date = %s, baboy = %s" % \ (last_login, username)) except: print ("Error: unable to fetch data") # disconnect from server db.close()
You might want to use Peewee