Python链接MySQL数据库

 python语言的特点:
  脚本语言和高级语言的区别,在于脚本语言可以直接执行,高级语言需要先编译,后执行

 操作mysql数据库
    a.安装mysql数据库
    b.配置环境变量
    c.开启服务连接测试
    d.使用Navicat连接mysql
    e.使用pip命令安装pymysql模块

    连接数据库的流程:
        # 导入模块pymysql
        import pymysql
        # 打开数据库,参数1:主机名域IP 参数2:用户名 参数3:密码 参数4:数据库名称
        db = pymysql.connect('localhost', 'root', 'root', 'stuypython')
        # 使用cursor() 方法创建一个游标对象 cursor
        cursor = db.cursor()
        # 使用execute() 方法执行sql查询
        cursor.execute('SELECT VARSION()')                # 如果表存在删除表    'DROP TABLE IF EXISTS 表名'    
        # 使用fetchone() 方法取单条数据
        data = cursor.fetchone()
        print('Database version : %s' % data)
        # 关闭游标
        cursor.close()
        # 关闭数据库连接
        db.close()
    
    
    创建表
        import pymysql
        db = pymysql.connect('localhost', 'root', 'root', 'mrsoft')
        cursor = db.cursor()
        # 如果表存在删除表
        cursor.execute('DROP TABLE IF EXISTS books')
        print('books已删除')
        sql = '''
                create table books(
                id int(8) primary key,
                name varchar(20) not null,
                category varchar(20) not null,
                price decimal(10, 2),
                publish_time date
                )
             '''
        cursor.execute(sql)
        cursor.close()
        db.close()
        
    插入数据
        import pymysql
        db = pymysql.connect('localhost', 'root', 'root', 'mrsoft')
        cursor = db.cursor()
        data = [
                ('零基础学Python', 'Python', '79.80', '2018-5-20'),
                ('python从入门到精髓', 'Python', '69.80', '2018-6-18'),
                ('零基础学PHP', 'PHP', '65.80', '2017-5-21'),
                ('PHP项目开发实战入门', 'PHP', '79.80', '2016-5-1'),
                ('零基础学Java', 'Java', '69.80', '2017-5-21'),
                ]
        try:
            # 执行sql语句插入多条数据
            cursor.executemany('''insert into books(name, category, price, publish_time)
                                values (%s, %s, %s, %s)''', data)
            print('数据插入成功,请查看')
            # 提交数据
            db.commit()
        except:
            # 发生错误时回来
            db.rollback()
        cursor.close()
        db.close()
    查询数据
        import pymysql
        db = pymysql.connect('localhost', 'root', 'root', 'shop')
        cursor = db.cursor()
        sql = '''SELECT * FROM books'''
        try:
            cursor.execute(sql)
            results = cursor.fetchall()
            for i in results:
                user_id = i[0]
                name = i[1]
                category = i[2]
                price = i[3]
                publish_time = i[4]
                print('user_id=%s\tname=%s\tcategory=%s\tprice=%s\tpublish_time=%s'
                      '' % (user_id, name, category, price, publish_time))
        except Exception:
            print('查询出错')
        cursor.close()
        db.close()
    删除数据
        import pymysql
        db = pymysql.connect('localhost', 'root', 'root', 'shop')
        cursor = db.cursor()
        sql = "DELETE FROM books WHERE  id > '%d'" % 4
        try:
          cursor.execute(sql)
          db.commit()
          print("delete OK")
        except:
          db.rollback()
        cursor.close()
        db.close()
    修改数据
        import pymysql
        db = pymysql.connect("localhost", "root", "root", "shop" )
        cursor = db.cursor()
        sql = "UPDATE books SET name = 'PHP项目开发实战入门' WHERE id = '%c'" % '1'
        try:
          cursor.execute(sql)
          db.commit()
          print("update OK")
        except:
          db.rollback()
        cursor.close()
        db.close()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值