1、连接数据库
首先我们需要下载pymysql
pip3 install pymysql
然后就是导入包
import pymysql
下面就是实操了
try:
db = pymysql.connect(
"localhost",
"root",
"123",
"workspace")
print("数据库连接成功")
except pymysql.Error as e:
print('数据库连接失败'+str(e))
有的时候可能版本不一样会出现这种情况
这时只需要将代码换成
try:
db = pymysql.connect(
host="localhost",
user="root",
password="123",
db="workspace")
print("数据库连接成功")
except pymysql.Error as e:
print('数据库连接失败'+str(e))
即可
下面定义一个游标方便我们后面操作
cur=db.cursor()
在对数据库操作前我们需要判断表或者视图是否存在
cur.execute('DROP TABLE IF EXISTS Student')#如果存在就删除
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
cur.execute(sqlQuery)#新建一个表
2、数据库操作
2.1、查询
#查询表中全部数据
sql="SELECT * FROM `user`"
cur.execute(sql)
result=cur.fetchall()
db.commit()
print('查询结果:', result) # 打印数据库查询结果
#条件查询
sql4="select *from user where username='***'"
try:
cur.execute(sql4)
result = cur.fetchone()
db.commit() # COMMIT命令用于把事务所做的修改保存到数据库
print('查询结果:', result) # 打印数据库查询结果
except pymysql.Error as e:
db.rollback() # 发生错误时回滚
print("查询失败")
2.2、更新
- 插入
sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
value=('Mike','[email protected]',20)
try:
cur.execute(sqlQuery,value)
db.commit()
print('数据插入成功!')
except pymysql.Error as e:
print("数据插入失败:"+e )
db.rollback()
这是可以动态添加数据的,如果数据比较少,或者只是进行测试的话可以使用下面这个
增添一条数据
sql3="insert into user(userId,card,username,grade,major)values(*,'*******','***','***','***')"
try:
cur.execute(sql3)
db.commit()
print("增加成功")
except pymysql.Error as e:
print("数据增加失败:"+str(e))
# 发生错误时回滚
db.rollback()
- 修改
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()
原理同增加,可以将values直接写入sql语句
- 删除
#删除全部数据
sql2="Delete from user"
try:
cur.execute(sql2)
db.commit()
print("删除成功")
except pymysql.Error as e:
print("数据删除失败:"+str(e))
# 发生错误时回滚
db.rollback()
#删除指定数据
sqlQuery = "DELETE FROM Student where Name=%s"
value = ('John')
try:
cur.execute(sqlQuery, value)
db.commit()
print('Date Deleted Successfully')
except pymysql.Error as e:
print("数据删除失败:"+str(e))
# 发生错误时回滚
db.rollback()
文章评论