当前位置 : 主页 > 编程语言 > python >

【Python】pymysql连接MySQL数据库

来源:互联网 收集:自由互联 发布时间:2022-10-26
使用pymysql连接数据库并进行增删改查的步骤 一、导入pymysql并获取连接 import pymysqlDBHOST = 'localhost'DBUSER = 'root'DBPASS = 'cuican233'DBNAME = 'test'try: db = pymysql.connect(host=DBHOST,user=DBUSER, password=DB

使用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))

二、创建一张表

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

    三、插入数据

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

    四、查询数据

  • 编辑sql语句
  • 使用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)) #若数据库连接失败则输出相关报错信息
    网友评论