• 如何使用Python连接数据库


    数据分析离不开数据库,如何使用python连接数据库呢?听我娓娓道来哈

    补充:文末增加Oracle数据库的连接方式,大同小异。

    背景:

    我是在Anaconda notebook中进行连接实验的,环境Python3.6,当然也可以在Python Shell里面进行操作。

    最常用也最稳定的用于连接MySQL数据库的python库是PyMySQL,所以本文讨论的是利用PyMySQL连接MySQL数据库,以及如何存储数据。

    下面开始:

    1、安装PyMySQL库

    最简单的方式:在命令行输入 pip install pymysql

    或者:下载whl文件进行安装,安装过程自行百度。

    2、安装MySQL数据库

    MySQL数据库类型有两种:MySQL和MariaDB,我用的是后者MariaDB。

    两者在绝大部分性能上是兼容的,使用起来感觉不到啥区别。

    给出下载地址:MySQLMariaDB,安装过程很简单,一路Next Step,不过要记好密码。

    有个小插曲,MySQL和MariaDB相当于姐姐妹妹的关系,两者由同一个人(Widenius)创建的。MySQL被Oracle收购后,Widenius先生觉得不爽,于是搞了个MariaDB,可以完全替代MySQL。大牛就是任性。

    3、SQL基本语法

    下面要用SQL的表创建、查询、数据插入等功能,这里简要介绍一下SQL语言的基本语句。

    查看数据库:SHOW DATABASES;

    创建数据库:CREATE DATEBASE 数据库名称;

    使用数据库:USE 数据库名称;

    查看数据表:SHOW TABLES;

    创建数据表:CREATE TABLE 表名称(列名1 (数据类型1),列名2 (数据类型2));

    插入数据:INSERT INTO 表名称(列名1,列名2) VALUES(数据1,数据2);

    查看数据:SELECT * FROM 表名称;

    更新数据:UPDATE 表名称 SET 列名1=新数据1,列名2=新数据2 WHERE 某列=某数据;

    4、连接数据库

    安装好必要得文件和库后,接下来正式开始连接数据库吧,虽然神秘却不难哦!

    1. #首先导入PyMySQL库
    2. import pymysql
    3. #连接数据库,创建连接对象connection
    4. #连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象
    5. connection = pymysql.connect(host = 'localhost' #host属性
    6. user = 'root' #用户名
    7. password = '******' #此处填登录数据库的密码
    8. db = 'mysql' #数据库名
    9. )

    执行这段代码就连接好了!

    5.使用python代码操作MySQL数据库

    首先来查看一下有哪些数据库:

    1. #创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。
    2. #光标对象作用是:、创建、删除、写入、查询等等
    3. cur = connection.cursor()
    4. #查看有哪些数据库,通过cur.fetchall()获取查询所有结果
    5. print(cur.fetchall())

    打印出所有数据库:

    (('information_schema',),
    ('law',),
    ('mysql',),
    ('performance_schema',),
    ('test',))

    在test数据库里创建表:

    1. #使用数据库test
    2. cur.execute('USE test')
    3. #在test数据库里创建表student,有name列和age列
    4. cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')

    向数据表student中插入一条数据:

    1. sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'
    2. cur.execute(sql,('XiaoMing',23))

    查看数据表student内容:

    1. cur.execute('SELECT * FROM student')
    2. print(cur.fetchone())

    打印输出为:('XiaoMing', 23)

    Bingo!是我们刚刚插入的一条数据

    最后,要记得关闭光标和连接:

    1. #关闭连接对象,否则会导致连接泄漏,消耗数据库资源
    2. connection.close()
    3. #关闭光标
    4. cur.close()

    OK了,整个流程大致如此。当然这里都是很基础的操作,更多的使用方法需要在PyMySQL官方文档里去寻找。


    补充:

    Oracle数据库连接

    1、下载安装外包cx_Oracle,方式:在命令行输入 pip install cx_Oracle

    2、连接

    conn = oracle.connect('username/password@host:port/sid')#分别填用户名/密码/数据库所在IP地址:port/sid

    3、获取光标对象curser

    cur = conn.cursor()

    4、使用cursor进行各种操作

    cur.execute(sql语句)   

    5、关闭cursur、conn

    1. cursor.close()
    2. conn.close()
  • 相关阅读:
    SpringBoot 基础知识汇总 (史上最全)
    保持checkbox选中状态
    卷积神经网络(CNN)天气识别
    Squid服务
    数据结构_最短路径Floyd算法(C语言)
    11 redis中分布式锁的实现
    css第十课:列表属性及背景属性
    MySQL误删数据 回滚
    初识Sentinel
    Vue项目实战之人力资源平台系统(五)组织架构模块
  • 原文地址:https://blog.csdn.net/nnn0245/article/details/128202173