目录
连接数据库
连接数据库前需要做的事:
- pycharm已将安装了pymysql包
- 已经创建了数据库jdbc
- 知道数据库的用户名,密码和url
连接数据库的操作步骤:
-
引入pymysql包
-
连接数据库并打开jdbc数据库
-
获取游标对象
-
执行SQL语句
-
获取执行结果
-
关闭游标对象
-
关闭数据库连接
模板示例:
# 引入pymysql包
import pymysql
# 连接数据库并打开jdbc数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='jdbc')
# 获取游标对象
cur = conn.cursor()
# 执行SQL语句
cur.execute("...")
# 获取执行结果
rows = cur.fetchall()
print("number of records: ", len(rows))
for i in rows:
print(i)
# 关闭游标对象
cur.close()
# 关闭数据库连接
conn.close()
创建数据表
操作步骤:
- 创建表之前先检查是否存在,如果存在则删除
- 编辑sql语句
简单示例:
cur.execute('DROP TABLE IF EXISTS Student')
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
cur.execute(sqlQuery)
插入数据
注意:插入数据后需要调用commit()方法提交对数据库的修改,不然数据不会插入到数据库中。
简单示例:
#sql语句
insert_sql="""
INSERT INTO users(id,name,age)
VALUES (1,'小白',16),(2,'大白',20),(3,'小明',18)
"""
#插入
try:
#插入数据
cursor.execute(insert_sql)
connect.commit()
print("插入成功")
pass
except Exception as e:
connect.rollback()
print("插入失败",e)
查询数据
全部查询
编辑sql语句
sqlQuery = "SELECT * FROM Student"
打印结果
rows = cur.fetchall()
print("number of records: ", len(rows))
for i in rows:
print(i)
条件查询
编辑sql语句
cur.execute("SELECT name,id,grade,profession from information where name='张三'")
打印结果
rows = cur.fetchall()
print("number of records: ", len(rows))
for i in rows:
print(i)
更新数据
编辑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()
删除数据
编辑sql语句
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()