6

【Python】pymysql连接MySQL数据库

 1 year ago
source link: https://blog.51cto.com/u_15623229/5780151
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【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)) #若数据库连接失败则输出相关报错信息
    
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK