Mysql开发技巧 批量入库及检索

第一关  MySQL数据库连接

任务描述

Python可以通过MySQLdb库连接MySQL数据库,但Python3之后不再支持MySQLdb库,需要通过pymysql库连接。
pymysql通过connect方法连接数据库,如:

 
  1. conn = pymysql.connect(host='localhost', user='root',passwd='123456',charset='utf8')

相关知识

connect方法的参数含义如下:

 
  1. host:数据库主机名,默认是用本地主机
  2. user:数据库登陆名,默认是当前用户
  3. passwd:数据库登陆的密码,默认为空
  4. charset:连接时的编码格式,要求与数据库的编码一致

在安装MySQL数据库环境时,会选择默认编码格式,建议选择utf8格式;若登录名或密码错误时,返回如下错误:

 
  1. pymysql.err.OperationalError: (1045, "Access denied for user 'a'@'localhost' (using password: YES)")

编程要求

本关的编程任务是在Begin-End区域补全src/step1/connect.py文件的代码内容,实现如下功能:

  • 连接平台中的数据库

平台中已配置好MySQL数据库,用户名默认为‘root’密码为‘123123’

本文涉及的src/step1/connect.py文件的代码框架如下:

 
  1. # coding=utf-8
  2. # 请在下面添加连接数据库的代码,完成相应功能
  3. ###### Begin ######
  4. ####### End #######
  5. print('连接成功')

测试说明

本关的测试文件是 src/step1/connect.py ,测试过程如下:
1. 读者将 src/step1/connect.py 中的代码补充完毕,然后点击评测,平台自动编译并运行;
2. 若输出‘连接成功’,则表示测试通过,否则测试失败。

测试输入:
预期输出:
连接成功

# coding=utf-8
import pymysql
def connect():
# 请在下面添加连接数据库的代码,完成相应功能
# ###### Begin ######
    conn = pymysql.connect(host='localhost',user='root',passwd='123123',charset='utf8')
####### End #######
####### 请不要修改以下代码 #######
    return conn.get_host_info()

第二关 数据库与数据表创建

任务描述

MySQL中创建属于自己的数据库,根据需求在库中创建相应的表,将数据存入表中,方便对数据的管理与查询。如汽车零售商将汽车信息存入数据库中方便管理,可创建数据库:

 
  1. cursor.execute('create database carinfo')

与汽车相关的信息可能包括汽车购入信息和汽车出售信息,可以分别在carinfo库中建立对应的表:

 
  1. cursor.execute('create table ininfo (indata data,inNum int, brand varchar(255))')
  2. cursor.execute('create table outinfo (outdata data,outNum int, brand varchar(255))')

本关任务是,创建enroll数据库,并在enroll创建nudt表。

相关知识

Python提供操作MySQL数据库的一系列语句。本关的目的是让读者学会如何利用Python语句创建数据库和数据表。

获取游标

前面已经介绍过如何获取数据库连接对象,但是不能在这个对象上直接对数据库进行操作, 还需要获取对应的操作游标才能进行数据库的操作:

 
  1. cursor = conn.cursor()

游标是一种数据访问对象,可用于创建数据库和数据表,也可用于在表中迭代一组行或者向表中插入新行。

确定使用的数据库

MySQL中可能同时存在多个数据库,为了对指定的数据库进行操作,可使用:

 
  1. dbName = 你的数据库名称
  2. conn.select_db(dbName)

当然,如果在创建数据库连接对象时指定了连接的数据库时,就不需要再指定数据库对象:

 
  1. dbName = 你的数据库名称
  2. conn = pymysql.connect(host='localhost', user='root',passwd='123456',charset='utf8',db=dbName)

数据表的创建

MySQL<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值