先安裝pymysql套件
pip install pymysql
數據庫連接
import pymysql import logging def connectDb(dbName): try: mysqldb = pymysql.connect( host="127.0.0.1", user="root", passwd="123456", database=dbName) return mysqldb except Exception as e: logging.error('Fail to connection mysql {}'.format(str(e))) return None
select語句
conn = connectDb('world') cur = None if conn is not None: cur = conn.cursor() sql = 'select * from city' if cur is not None: cur.execute(sql) result_one = cur.fetchone() result_many = cur.fetchmany(5) #獲取5筆記錄 resultall = cur.fetchall() print 'Fetch one row:' print result_one[1] #數字代表對應column, 由0開始,即0=第一column print '\nFetch many(5) rows:' for row in result_many: print row[1] #數字代表column print '\nFetch all rows:' for row in resultall: print row[1] #數字代表column
cursor每一次fetch都會向下移,所以fetch_one()之後執行fetch_all()並不會取得第一筆record “Kabul”
Create table語句
conn = connectDb('school') cur = None if conn is not None: cur = conn.cursor() if cur is not None: sql = 'CREATE TABLE IF NOT EXISTS `teacher`( \ `TEACHER_ID` INT(2) NOT NULL, \ `FIRST_NAME` VARCHAR(20) NOT NULL, \ `LAST_NAME` VARCHAR(20) NOT NULL, \ `AGE` VARCHAR(2) NOT NULL \ )ENGINE=InnoDB' cur.execute(sql)
Insert/update/delete語句
conn = connectDb('school') cur = None if conn is not None: cur = conn.cursor() if cur is not None: sql = 'INSERT INTO `school`.`teacher` (`TEACHER_ID`, `FIRST_NAME`, `LAST_NAME`, `AGE`) VALUES (1, \'TOM\', \'LEE\', 25)' cur.execute(sql) conn.commit()
conn = connectDb('school') cur = None if conn is not None: cur = conn.cursor() if cur is not None: sql = 'UPDATE TEACHER SET AGE=28 WHERE TEACHER_ID=1' cur.execute(sql) conn.commit()
if __name__ == '__main__': conn = connectDb('school') cur = None if conn is not None: cur = conn.cursor() if cur is not None: sql = 'DELETE FROM TEACHER WHERE TEACHER_ID=1' cur.execute(sql) conn.commit()
insert/update/delete語句需要commit才生效