用Python连接MySQL数据库
首先在python导入pymysql模块,打开数据库连接
import pymysql
db = pymysql.connect(host='localhost',#本地数据库
user='root',#用户名称
password='root',#用户密码
database='a'#数据库名称
)
其次在新建的数据库里新建一个表
#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE (
name CHAR(20) NOT NULL,
Email CHAR(20),
age INT )"""
cursor.execute(sql)
可以看到创建了三个量,name、Email、age,CHAR(20)代表字符串类型,cursor.execute(sql)即运行sql语句。
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(name, Email, age)VALUE (%s,%s,%s )"
value = ('Mike','123456@163.com',20 )
try:
# 执行sql语句
cursor.execute(sql,value )
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
sql语句INSERT INTO EMPLOYEE后边括号里跟定义的量,value则是要插入的具体内容,依然是cursor.execute执行sql语句
更新表中数据
sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"
value = ('John', 'updated name')
try:
cur.execute(sqlQuery, value)
db.commit()
print('数据更新成功!')
except pymysql.Error as e:
print("数据更新失败:"+str(e))
# 发生错误时回滚
db.rollback()
value里边是更新的内容,UPDATE Student SET Name= %s WHERE Name=%中, Student 是库的名称,try语句提交修改。
删除
sqlQuery = "DELETE FROM Student where Name=%s"
sqlQuery='DROP TABLE IF EXISTS Student'