连接数据库前,请先确认以下事项:
已经创建了数据库 ,表及用户名,密码
已经安装了 Python MySQLdb 模块。
数据库连接:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) db.close()
创建数据库表:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() cursor.execute("SELECT VERSION()") data = cursor.fetchone() print "Database version : %s " % data db.close()
数据插入:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: cursor.execute(sql) db.commit() except: db.close()
数据查询:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > %s" % (1000) try: cursor.execute(sql) results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] print "fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" db.close()
数据更新:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M') try: cursor.execute(sql) db.commit() except: db.rollback() db.close()
数据删除:
import MySQLdb db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) cursor = db.cursor() sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20) try: cursor.execute(sql) db.commit() except: db.rollback() db.close()