博客
关于我
Python基础——MySQL数据库基本操作
阅读量:797 次
发布时间:2023-03-07

本文共 5093 字,大约阅读时间需要 16 分钟。

掌握MySQL数据库基础操作:从零开始入手

MySQL作为世界上最流行的关系型数据库管理系统之一,拥有强大的功能和灵活的配置选项。对于前端开发人员、后端开发人员以及数据库管理员来说,掌握MySQL的基础操作是必不可少的。本文将从连接数据库、创建表单、插入记录、查询记录等方面入手,帮助你快速上手MySQL数据库操作。

一、安装MySQL数据库客户端

在开始操作之前,需要先安装MySQL数据库客户端。可以通过以下两种方式安装:

  • 使用conda: 在终端中输入以下命令安装:

    conda install pymysql

    注意:确保已经安装了Anaconda或Canopy环境。

  • 使用pip: 如果你不想安装Anaconda,可以使用 pip 命令进行安装:

    pip install --user pymysql

    以上命令将为你安装最新版本的 pymysql 客户端库。

  • 安装完成后,请确保 MySQL 服务已经启动,并且有一个名为 test 的数据库存在。接下来,我们将学习如何通过代码连接到MySQL数据库。

    二、连接MySQL数据库

    在Python 中,使用 pymysql 库可以轻松连接到MySQL 数据库。以下是连接数据库的示例代码:

    from pymysql import *
    def connect_db():
    db = connect("localhost", "root", "your_password", "test", charset='utf8')
    return db
    db = connect_db()
    print(type(db))

    注意事项:

    • connect 方法的参数依据数据库类型有所不同。对于本地数据库,通常连接字符串为 localhost
    • charset 参数用于指定数据库的字符编码,建议设置为 utf8 以支持多种语言字符。

    三、操作数据库的常用方法

    在操作数据库时,掌握以下几个关键方法是必不可少的:

  • 连接数据库: 使用 connect 方法获取数据库连接对象。连接对象支持执行 SQL 语句、处理结果集以及管理事务(事务)。

  • 获取操作数据库的Cursor对象: Cursor 对象相当于数据库操作的控制台。通过它,可以执行 SQL 语句、处理结果集以及管理事务。

  • 执行 SQL 语句: 使用 execute 方法执行 SQL 语句。该方法可以执行多种类型的 SQL 语句,包括 INSERTUPDATEDELETESELECT

  • 提交事务: 在对数据库进行修改后,使用 commit 方法提交事务。提交事务会将所有修改permanentize到数据库中。

  • 回滚事务: 如果在执行过程中遇到错误,使用 rollback 方法可以将事务回滚,确保数据库恢复到修改前的状态。

  • 四、SQL 操作实例

    以下是一些常见的 SQL 操作示例:

    1. 创建数据库表

    def create_table(db):
    cursor = db.cursor()
    sql = """CREATE TABLE persons
    (
    id INT PRIMARY KEY NOT NULL,
    name TEXT NOT NULL,
    age INT NOT NULL,
    address CHAR(50),
    salary REAL
    )"""
    try:
    cursor.execute(sql)
    db.commit()
    return True
    except:
    db.rollback()
    return False

    2. 插入记录

    def insert_records(db):
    cursor = db.cursor()
    try:
    cursor.execute('DELETE FROM persons')
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (1, 'Paul', 32, 'California', 20000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (2, 'Allen', 25, 'Texas', 15000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (3, 'Teddy', 23, 'Norway', 20000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00)
    """)
    db.commit()
    return True
    except Exception as e:
    print(e)
    db.rollback()
    return False

    3. 查询记录

    def select_records(db):
    cursor = db.cursor()
    sql = 'SELECT name, age, salary FROM persons ORDER BY age DESC'
    cursor.execute(sql)
    results = cursor.fetchall()
    print(results)
    fields = ['name', 'age', 'salary']
    records = []
    for row in results:
    records.append(dict(zip(fields, row)))
    return json.dumps(records)

    五、完整代码示例

    以下是一个完整的代码示例,展示了从创建表单到查询记录的完整流程:

    from pymysql import *
    import json
    def connect_db():
    db = connect("localhost", "root", "your_password", "test", charset='utf8')
    return db
    def create_table(db):
    cursor = db.cursor()
    sql = """CREATE TABLE persons
    (
    id INT PRIMARY KEY NOT NULL,
    name TEXT NOT NULL,
    age INT NOT NULL,
    address CHAR(50),
    salary REAL
    )"""
    try:
    cursor.execute(sql)
    db.commit()
    return True
    except:
    db.rollback()
    return False
    def insert_records(db):
    cursor = db.cursor()
    try:
    cursor.execute('DELETE FROM persons')
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (1, 'Paul', 32, 'California', 20000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (2, 'Allen', 25, 'Texas', 15000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (3, 'Teddy', 23, 'Norway', 20000.00)
    """)
    cursor.execute("""
    INSERT INTO persons (id, name, age, address, salary)
    VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00)
    """)
    db.commit()
    return True
    except Exception as e:
    print(e)
    db.rollback()
    return False
    def select_records(db):
    cursor = db.cursor()
    sql = 'SELECT name, age, salary FROM persons ORDER BY age DESC'
    cursor.execute(sql)
    results = cursor.fetchall()
    print(results)
    fields = ['name', 'age', 'salary']
    records = []
    for row in results:
    records.append(dict(zip(fields, row)))
    return json.dumps(records)
    if create_table(db):
    print('成功创建persons表')
    else:
    print('persons表已经存在')
    if insert_records(db):
    print('成功插入记录')
    else:
    print('插入记录失败')
    print(select_records(db))
    db.close()

    六、运行代码前的准备

    在运行上述代码之前,请确保:

  • 有一个名为 test 的 MySQL 数据库已经存在。
  • MySQL 服务已经启动。
  • 操作权限为 root,并且密码已更改为 your_password
  • 通过以上代码示例,你可以轻松地创建和操作MySQL 数据库,完成基础的 CRUD(增删改查)操作。如果你在操作过程中遇到任何问题,请务必检查数据库连接参数和 SQL 语句是否正确。

    转载地址:http://slofk.baihongyu.com/

    你可能感兴趣的文章
    python | six,一个神奇的 Python 库!
    查看>>
    Python读取图片的几种方法供net使用
    查看>>
    python | spacy,一个神奇的 Python 库!
    查看>>
    python | sqlmap,一个实用的 Python 库!
    查看>>
    python | sumy,一个超酷的 用于文本摘要的 Python 库!
    查看>>
    python | tiler,一个不可思议的 图像切片重组 Python 库!
    查看>>
    python | tinydb,一个非常厉害的 关于数据库的 Python 库!
    查看>>
    python | tox,一个超强的 自动化测试工具 Python 库!
    查看>>
    python | ttkbootstrap,一个神奇的 Python 库!
    查看>>
    python | unoconv,一个超厉害的 Python 库!
    查看>>
    python | urllib3,一个超强的 Python 库!
    查看>>
    python | webassets,一个超强的 Python 库!
    查看>>
    python | werkzeug,一个不可思议的 Python 库!
    查看>>
    python | xlsxwriter,一个实用的 Python 库!
    查看>>
    python | xlwings,一个非常实用的 Excel 相关的 Python 库!
    查看>>
    python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
    查看>>
    python | xonsh,一个超酷的 Python 库!
    查看>>
    python | yagmail,一个实用的 Python 库!
    查看>>
    python | 一文掌握Python的上下文管理器和with语句
    查看>>
    python | 一文看懂Python闭包机制与变量作用域规则
    查看>>