一、连接数据库
# 设置连接参数
DBHOST = 'localhost'
DBUSER = 'root'
DBPASS = 'cx123456'
DBNAME = 'user'
try: # try捕获异常,如果连接成功,输出成功;连接失败,输出失败
db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
print('数据库连接成功!')
except pymysql.Error as e:
print('数据库连接失败'+str(e))
二、创建一张表
声明一个游标
cursor = db.cursor()
检查表是否存在,如果存在则删除
cursor.execute('DROP TABLE IF EXISTS Student')
定义sql语句
sqlQuery = "CREATE TABLE student(Name CHAR(20) NOT NULL ,ID int,CLASS CHAR(20),NUM int )"
cur.execute(sqlQuery)
三、插入一条数据
定义插入语句
qlQuery1 = " INSERT INTO student (ID, NAME, CLASS,NUM) VALUE (%s,%s,%s,%s) " # 定义sql语句,向student表中插入数据
value = (11, '小呼呼', '呼呼呼呼', 1111) # 定义字段参数
执行插入语句
try: # try捕获插入数据异常
cursor.execute(sqlQuery1, value) # 执行sql语句
db.commit() # COMMIT命令用于把事务所做的修改保存到数据库,MySQL在执行命令之后,在数据库收到COMMIT或ROLLBACK之前,自动提交功能是不会恢复的。
print('数据插入成功!')
except pymysql.Error as e:
print("数据插入失败:"+e)
db.rollback() # 把数据库返回之前的状态
四、查询表中数据
定义查询语句
sqlQuery2 = "SELECT * FROM student WHERE NAME = '小呼呼'" # 定义查询语句,从student中查找NAME为小呼呼的字段
执行查询语句
try:
cursor.execute(sqlQuery2)
results = cursor.fetchall() # 将结果装入元组中
for row in results: # 从元组提取参数
ID = row[0]
NAME = row[1]
CLASS = row[2]
NUM = row[3]
print('查询结果为:\nNAME:%s\tID:%s\tCLASS:%s\tNUM:%s\t' % (NAME, ID, CLASS, NUM)) # 打印结果
except pymysql.Error as e:
print("数据查询失败:"+str(e))
五、更新表中数据
编辑更新语句
sqlQuery3 = "UPDATE student SET NAME= %s WHERE NAME=%s"
value = ('小呼呼', '小嘟嘟')
执行更新语句
try:
cursor.execute(sqlQuery3, value)
db.commit()
print('数据更新成功!')
except pymysql.Error as e:
print("数据更新失败:"+str(e))
# 发生错误时回滚
db.rollback()
六、删除表中数据
编辑删除语句
sqlQuery4 = "DELETE FROM student where NAME=%s"
value = ('小嘟嘟')
执行语句
try:
cursor.execute(sqlQuery4, value)
db.commit()
print('数据删除成功')
except pymysql.Error as e:
print("数据删除失败:"+str(e))
# 发生错误时回滚
db.rollback()
七、删除表
编辑删除语句
sqlQuery5='DROP TABLE IF EXISTS student'
cursor.execute(sqlQuery5)
print('表删除成功!')
关闭数据库
db.close()