0
点赞
收藏
分享

微信扫一扫

【Python】pymysql连接MySQL数据库

使用pymysql连接数据库并进行增删改查的步骤

一、导入pymysql并获取连接

import pymysql

DBHOST = 'localhost'
DBUSER = 'root'
DBPASS = 'cuican233'
DBNAME = 'test'

try:
db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME)
print('数据库连接成功!')
except pymysql.Error as e:
print('数据库连接失败'+str(e))

二、创建一张表

  1. 创建一个游标cur = db.cursor()
  2. 编辑sql语句
cur = db.cursor()
sqlQuery = CREATE TABLE Student(Name CHAR(20) NOT NULL ,major CHAR(20),student_number CHAR(20))
cur.execute(sqlQuery)
print('表创建成功!')

三、插入数据

  1. 编辑sql语句
  2. 编辑准备插入的值
  3. 执行sql语句
sql1=insert into student(Name,major,student_number) values(%s,%s,%s)
value=('崔灿','软件工程','542013460404')
cur.execute(sql1,value)
db.commit()
print('数据插入成功!')

四、查询数据

  1. 编辑sql语句
  2. 使用fetchall()方法接收全部的返回结果行
sql2 = SELECT * FROM student
try:
cur.execute(sql2)
results = cur.fetchall()
for row in results:
name = row[0]
major = row[1]
student_number = row[2]
print('姓名:%s,专业:%s,学号:%s' % (name, major, student_number))
except pymysql.Error as e:
print(数据查询失败: + str(e))

按条件查询:

sql3 = SELECT * FROM student where Name='崔灿'
cur.execute(sql3)
results2 = cur.fetchall()
print(results2)

实例

使用pymysql将自己的姓名、年级专业、以及学号存入表中,并 且使用自己的名字条件查询,获取所有信息,打印出来

import pymysql #导入pymysql库

DBHOST = 'localhost' #配置地址信息
DBUSER = 'root' #配置用户名信息
DBPASS = 'cuican233' #配置密码信息
DBNAME = 'test' #配置数据库名称信息

try:
db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME) #调用pymysql类的connect方法来获取连接
print('数据库连接成功!') #连接成功后输出相关信息

cur = db.cursor() #定义一个游标
# sqlQuery = CREATE TABLE student(Name CHAR(20) NOT NULL ,major CHAR(20),student_number CHAR(20)) #写一个创建数据库表的sql语句保存到sqlQuery变量中
# cur.execute(sqlQuery) #利用游标的execute方法执行SQL语句
# print('表创建成功!') #创建成功后输出相关信息
# sql1=insert into student(Name,major,student_number) values(%s,%s,%s) #写一个插入数据库的sql语句保存到sql1变量中
# value=('张三','软件工程','542013460405') #写要传入的变量值保存到value变量中
# cur.execute(sql1,value) #利用游标的execute方法执行SQL语句
# db.commit() #调用数据库对象的commit方法将相关信息提交
# print('数据插入成功!') #插入成功后输出相关信息

sql2 = SELECT * FROM student #写一个查询数据库数据的sql语句保存到sql2变量中
try:
cur.execute(sql2) #利用游标的execute方法执行SQL语句
results = cur.fetchall() #将查询到的结果返回值保存到result元组中进行保存
for row in results: #遍历元组
name = row[0] #将第一个值赋给变量name
major = row[1] #将第二个值赋给变量major
student_number = row[2] #将第三个值赋给变量student_number
print('姓名:%s,专业:%s,学号:%s' % (name, major, student_number)) #输出查询到的相关信息
except pymysql.Error as e:
print(数据查询失败: + str(e)) #若没查询到则输出相关报错信息

sql3 = SELECT * FROM student where Name='崔灿' #写一个条件查询数据库数据的sql语句保存到sql2变量中
cur.execute(sql3) #利用游标的execute方法执行SQL语句
results2 = cur.fetchall() #将查询到的结果返回值保存到result元组中进行保存
print(results2) #输出查询到的相关信息
except pymysql.Error as e:
print('数据库连接失败'+str(e)) #若数据库连接失败则输出相关报错信息

举报

相关推荐

0 条评论