python-连接数据库

痴心易碎 提交于 2019-12-02 19:37:10

 

 

 

 

一、安装pymysql库

  • 方法一:在cmd运行窗口中使用命令:pip3 install pymysql

  • 方法二:在pycharm中安装pymysql数据库
  • 设置-project interpreter-双击“pip”-搜索‘pymysql’-点击安装

 

 二、数据库的连接

 

  •  引入pymysql方法包:import pymysql
import pymysql#引入pymysql方法包
try:
    pymysql.connect('localhost','root','123','test')
    print('数据库连接成功')
except pymysql.Error as e:#e为数据库连接失败的原因
    print('数据库连接失败'+str(e))

三、用python中创建一张新表的数据表

  •  声明一个游标
  • 创建表之前先检查是否存在,如存在先进行删除
  • 编辑SQL语句
  • import pymysql#引入pymysql方法包
    try:
        db=pymysql.connect('localhost','root','123','test1')
        print('数据库连接成功')
        cur=db.cursor()#声明一个游标
        cur.execute('DROP TABLE IF EXISTS student')#如果数据表存在则进行删除int
        sql="CREATE TABLE Student(Id int,Name varchar(3),Sex int)"
        cur.execute(sql)
        print('表格创建成功')
    except pymysql.Error as e:#e为数据库连接失败的原因
        print('表格创建失败'+str(e)

四、往表中插入一条数据

  • 编辑SQL语句
  • 使用commit提交数据
  • 当插入数据错误时使用rollback回滚数据
  • import pymysql#引入pymysql方法包
    
    try:
        db=pymysql.connect('localhost','root','123','test1')
        print('数据库连接成功')
        cur=db.cursor()#声明一个游标
        sql="INSERT INTO Student (Id,Name,Sex) value(%s,%s,%s)"
        value=(1,'张三',18)
        cur.execute(sql,value)
        db.commit()#提交数据
        print('数据插入成功')
    except pymysql.Error as e:#e为数据库连接失败的原因
        print('数据插入失败'+str(e))
        db.rollback()#数据插入失败时数据回滚
    
    db.close()#退出数据库

五、查询表中数据

  • 编辑SQL语句
  • 使用fetchall(  )方法接受所有的查询结果
  • import pymysql#引入pymysql方法包
    
    try:
        db=pymysql.connect('localhost','root','123','test1')
        print('数据库连接成功')
        cur=db.cursor()#声明一个游标
        sql="select * from Student"
        cur.execute(sql)
        results=cur.fetchall()
        for row in results:
            Id=row[0]
            Name=row[1]
            Sex=row[2]
            print('Id:%d,Name:%s,Sex:%d' %(Id,Name,Sex))
    except pymysql.Error as e:#e为数据库连接失败的原因
        print('数据查询失败'+str(e))
    
    db.close()#退出数据库

     

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!