1.连接数据库
1.1在连接之前首先安装pymysql
安装方法如下(如果已安装,则可跳过这一安装过程):
进入Terminal
在命令行中输入pip install pymysql
然后命令行出现如下显示
如果这一代码没有用,输入完毕后没有出现如上的安装命令显示,可以尝试一下输入
python -m pip install pymysql ,输入完毕后也可以出现如下安装命令行。
至此安装完毕。
1.2然后导入库
输入import pymysql
1.3连接数据库
user为自己的用户名,多数为root,password是自己mysql设置的密码,database是自己已有的数据库,如果没有就在mysql中创建一个数据库。
至此已完成数据库连接。
实例如下:
1.4操作的基本流程
(1)首先声明一个游标。
# 使用 cursor() 方法创建一个游标对象
cursor = db.cursor()
(2)然后复制sql语句,语句根据不同的操作进行改变。
sql= 'sql操作语句',实例如下:sql查询语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ LAST_NAME, AGE, SEX, INCOME) \ VALUES ('%s', '%s', %s, '%s', %s)" % \ ('Mac', 'Mohan', 20, 'M', 2000)
(3)执行sql语句
(4)关闭数据库连接
db.close()
整个流程操作完整实例如下:
2.创建数据库表
2.1声明一个游标
cursor = db.cursor()
2.2创建表之前先检查是否存在,如果存在则删除
cursor .execute('DROP TABLE IF EXISTS Student')
2.3编辑sql语句
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
cur.execute(sqlQuery)
2.4实例
3.数据库插入
3.1编辑sql语句
sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
3.2编辑准备插入的值
value=('Mike','123456@163.com',20)
3.3执行sql语句
try:
cursor .execute(sqlQuery,value)
db.commit()
print('数据插入成功!')
except pymysql.Error as e:
print("数据插入失败:"+e )
db.rollback()
3.4实例
4.数据库查询
4.1编辑sql语句
sqlQuery = "SELECT * FROM Student"
4.2使用fetchall()方法接收全部的返回结果行
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall(): 接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
try:
cursor .execute(sqlQuery)
results=cur.fetchall()
for row in results:
name=row[0]
email=row[1]
age=row[2]
print('Name:%s,Email:%s,Age:%s'%(name,email,age))
except pymysql.Error as e:
print("数据查询失败:"+str(e))
4.3实例
5.数据库更新
5.1编辑sql语句
sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"
5.2编辑更新的信息
value = ('John', 'updated name')
5.3提交修改
try:
cursor .execute(sqlQuery, value)
db.commit()
print('数据更新成功!')
except pymysql.Error as e:
print("数据更新失败:"+str(e))
# 发生错误时回滚
db.rollback()
5.4实例
6.数据库记录删除
6.1编辑sql语句
sqlQuery = "DELETE FROM Student where Name=%s"
6.2编辑更新的信息
value = ('John')
6.3提交修改
try:
cursor .execute(sqlQuery, value)
db.commit()
print('Date Deleted Successfully')
except pymysql.Error as e:
print("数据删除失败:"+str(e))
# 发生错误时回滚
db.rollback()
6.4实例
7.删除数据库表
7.1编辑sql语句
sqlQuery='DROP TABLE IF EXISTS Student'
7.2提交修改
cursor .execute(sqlQuery)
print('表删除成功!')