User:Alvonruff/mysql.connector
Jump to navigation
Jump to search
MySQL Connector Notes
To install on python3:
- pip install mysql-connector-python
The connector generates TLS errors with python2.7, as "Python 2.7 support was removed in Connector/Python 8.0.24".
Instantiating a Connection
The algorithm using MySQLdb to connect to the database is:
db = MySQLdb.connect(DBASEHOST, USERNAME, PASSWORD, conv=_IsfdbConvSetup()) db.select_db(DBASE) db.set_character_set("latin1")
The method using mysql.connector to connect is:
db = mysql.connector.connect(user=USERNAME, password=PASSWORD, host=DBASEHOST, database=DBASE)
Queries That Return a Single Record
The algorithm using MySQLdb to fetch a single record is:
query = "select author_birthplace from authors where author_id='%d'" % int(authorID) db.query(query) result = db.store_result() record = result.fetch_row() return record[0][0]
The method using mysql.connector to fetch a single record would be:
query = "select author_birthplace from authors where author_id='%d'" % int(authorID) cursor = db.cursor() cursor.execute(query) record = cursor.fetchone() return record[0]
Queries That Return Multiple Record
The algorithm using MySQLdb to fetch multiple records is:
query = "select pubs.* from pubs,pub_authors where pub_authors.author_id=%d and pubs.pub_id=pub_authors.pub_id;" % aurec db.query(query) result = db.store_result() pub = result.fetch_row() results = [] while pub: results.append(pub[0]) pub = result.fetch_row() return results
The method using mysql.connector to fetch a multiple records would be:
query = "select pubs.* from pubs,pub_authors where pub_authors.author_id=%d and pubs.pub_id=pub_authors.pub_id;" % aurec cursor = db.cursor() cursor.execute(query) results = [] record = cursor.fetchmany() while record: results.append(record[0]) record = cursor.fetchmany() return results