Want to get better at Web Development πππ? Subscribe to my weekly newsletter at https://codesnacks.net/subscribe/
We will use pymysql to connect to MySQL in Python3. First, you have to install the module using pip or pip3:
pip install -U pymysql pip3 install -U pymysql
Then you can use this code to connect to your database and do a simple query:
import pymysql conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd="your_pw", db='your_db') cur = conn.cursor() cur.execute("SELECT * FROM your_table") for r in cur: print(r) # print whole row print(r[0]) # print first column of result print(cur.description) # gives a description of the table including all columns cur.close() conn.close()
If you don't want to access columns by index, but by name, you need to pass cursorclass=pymysql.cursors.DictCursor
to the connection.
import pymysql # add cursorclass to access columns by name conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd="your_pw", db='your_db', cursorclass=pymysql.cursors.DictCursor) cur = conn.cursor() cur.execute("SELECT * from your_table") for r in cur: print(r["id"]) # now you can access columns by name (assuming you have an id column) print(cur.description) cur.close() conn.close()
Top comments (1)
pmysql vs mysqlclient
which one is the right choice?