连接数据库前,请先确认以下事项:
已经创建了数据库 ,表及用户名,密码
已经安装了 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()
来源:https://www.cnblogs.com/huanghuangwei/p/12044602.html