#!python
#文件名: demo_mysql.py
import pymysql
#打开数据库连接
db=pymysql.connect('localhost','root','root','python')
#使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
db.set_charset('utf8')
#使用execute()方法执行sql查询
cursor.execute('select version()')
#使用fetchone()获取单条数据.
data=cursor.fetchone()
print('DataBase version: %s'% data)
db.close()
print('------------------------------------')
#CRUD走起
##插入,修改,删除:一个套路,注意sql语句可以拼接变量
db=pymysql.connect('localhost','root','root','python')
db.set_charset('utf8')
cursor=db.cursor()
try:
for x in range(1,10):
cursor.execute("insert into emp(name,sex) values('%s','%s')"%\
('Name_'+str(x),'男'))
db.commit()#提交到数据库
print('新增成功!')
except:
db.rollback()#回滚数据库
raise
db.close()
##查询
def getList():
db=pymysql.connect('localhost','root','root','python')
db.set_charset('utf8')
cursor=db.cursor()
cursor.execute('select * from emp')
lst=cursor.fetchall()
print('\n\n----------------------------------------')
for row in lst:
print('%d\t%s\t%s'%(row[0],row[1],row[2]))
print('----------------------------------------\n')
getList()
##更新
db=pymysql.connect('localhost','root','root','python')
db.set_charset('utf8')
cursor=db.cursor()
try:
cursor.execute("update emp set sex='女'")
db.commit()#提交到数据库
print('更新成功!')
except:
db.rollback()#回滚数据库
raise
db.close()
getList()
##删除
db=pymysql.connect('localhost','root','root','python')
db.set_charset('utf8')
cursor=db.cursor()
try:
cursor.execute("delete from emp")
db.commit()#提交到数据库
print('删除成功!')
except:
db.rollback()#回滚数据库
raise
db.close()
try:
getList()
except:
print('No Data')
raise
打印如下:
DataBase version: 5.5.38
————————————
新增成功!—————————————-
10 Name_1 男
11 Name_2 男
12 Name_3 男
13 Name_4 男
14 Name_5 男
15 Name_6 男
16 Name_7 男
17 Name_8 男
18 Name_9 男
—————————————-更新成功!
—————————————-
10 Name_1 女
11 Name_2 女
12 Name_3 女
13 Name_4 女
14 Name_5 女
15 Name_6 女
16 Name_7 女
17 Name_8 女
18 Name_9 女
—————————————-删除成功!
—————————————-
—————————————-