• 【 python 学习笔记 -- 数据库】Python3 + MySQL


    【使用工具】 PyMySQL 模块, MySQL

    【实例】

    1. 利用PyMySQL模块,连接到MySQL数据库:

    首先我在MySQL中创建了一个数据库,名为tutorial:

    打开终端,输入 mysql -u root -p 打开mysql。其中 -u 表示用户名, -p 表示密码。我的用户名为root。

    进入mysql后,输入SHOW DATABASES;(不区分大小写)可以显示所有的数据库,注意要在结尾加分号。

    然后输入 CREATE DATABASE tutorial创建一个名为tutorial的数据库。

    再次SHOW DATABASES; 我们可以看到新增了一个数据库——tutorial。

    下一步,在python中做如下操作连接到tutorial这个数据库:

    【步骤】:

       1. 导入pymysql模块。

      2.  建立和数据库的连接, 连接成功则返回一个connection对象给db,否则返回None。   pymsql.connect()中输入你的host名,用户名,密码,和想要连接的数据库名。

      3. 利用cursor()方法产生一个cursor对象,用于后续执行操作。

      4. 利用execute()方法执行操作,这里查询MySQL的版本

      5. 获取查询结果,fetchone()方法可取一条数据;fetchall()获取所有数据; rowcount: 只读属性,返回受execute()方法影响的行数。

      6. 打印查询结果: 我的结果是Database Version: 5.7.20-log

      7. close()断开连接。

    2. 创建一个数据库表(Table):

    我们创建一个表格名为USERS,它的属性有 名,姓,年龄,性别,收入。

     

    【步骤】:

      1.  建立连接,创建cursor对象。 和上文中一样。

      2. 执行操作,如果数据库中已经存在名为USERS的表格,删除该表格。

      3. 创建表格,名为USERS,具体的属性有first_name (数据类型 VARCHAR(20), 不为空), last_name(数据类型 VARCHAR(20)), age (数据类型 整数), gender (数据类型 CHAR(1)),  income (数据类型(FLOAT))。

      4.  断开连接

    现在我们利用DESCRIBE USERS,查看USERS表格的详细信息:

    3.插入(INSERT)操作:

    操作语句如sql所在行命令所示,也可以用上面注释的那段命令。 结果向USERS表格中插入了一行数据,first_name为Jade, last_name为Lu, age为26,gender为F,income为20000。

    commit()提交改变, 这个操作相当于给数据库一个信号表示确认这些改变。执行此操作后,没法撤回改变。

    如果出错, rollback。

    结果如下:

    4. 查询(SELECT)并获取记录:

    上图中SELECT行所在语句表示:搜索在USERS这个表格中所有income属性大于10000的记录

    execute()执行, fetchall()返回所有符合搜索条件的记录。

    5. 更新操作:

    下面例子中,我们更新USERS表格中所有满足gender为'F'的记录,将这些记录的age+1。

    在此之前我们可以再添加几个记录,例如

    然后我们进行更新操作:

    UPDATE所在行语句表示: 更新USERS表格,将gender='F'的年龄设置为在原来基础上加一。由于mysql不区别大小写,我在上述python代码中age写成了AGE,结果也是一样的。

    结果如下:

    6. 删除操作:

    下面例子中我们删除所有age低于25的记录:

    结果如下:

    【参考链接】

      廖雪峰老师的python教程 :

        https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320107391860b39da6901ed41a296e574ed37104752000

      Youtube: 

      https://www.youtube.com/watch?v=UGu9unCW4PA&list=PL_c9BZzLwBRKn20DFbNeLAAbw4ZMTlZPH

      Python 3 教程:

      https://www.tutorialspoint.com/python3/python_database_access.htm

  • 相关阅读:
    SpringBoot简单项目学习笔记08(servlet的内置容器的切换(tomcat、jetty、undertow))
    读《大家看的设计书(第三版)》有感
    百度比赛任务二收获
    百度前端任务一学习的知识
    学习git的内容
    codeforces #588 ABCD
    codeforces #597 div2 ABCD !F
    codeforces #589 div2 ABCD E待补
    codeforces #590 div3 BCDF E待补
    codeforces #591 div2 ABCD
  • 原文地址:https://www.cnblogs.com/jade-91/p/8333791.html
Copyright © 2020-2023  润新知