Тестирование программного обеспечения | Подробное руководство по доступу к базе данных MySQL с помощью PyMySQL

Введение

PyMySQL — популярный драйвер базы данных MySQL на Python, который предоставляет удобные методы подключения, запроса и обновления баз данных MySQL. В этой статье вы найдете подробное руководство по использованию PyMySQL для доступа к базе данных MySQL, включая установку PyMySQL, подключение к базе данных, выполнение операций запроса и обновления и т. д.

Экологическая подготовка

Прежде чем начать, вам необходимо убедиться, что у вас установлена ​​библиотека PyMySQL. Его можно установить с помощью команды pip:

pip install pymysql

Подключиться к базе данных

Сначала вам необходимо установить соединение с базой данных MySQL. Пример кода с использованием библиотеки PyMySQL выглядит следующим образом:

pymysql.connect(
    host = 'localhost',
    port = 3306,
    user = 'root',
    password = '123456',
    db ='students',
    charset = 'utf8'
)

Вызовите connect метод для создания connect объекта и получите доступ к базе данных через этот объект.

connectОсновные параметры метода

  • user, пользователь, который обращается к базе данных
  • password, пароль для доступа к базе данных
  • host, хост, на котором расположена служба базы данных Mysql
  • port, номер порта службы базы данных Mysql, значение по умолчанию — 3306.
  • db,имя базы данных
  • charset,Кодировка символов

соединить объект

  • connect() После успешного подключения к базе данных с помощью метода connect() метод возвращает connect()объект
  • При обмене данными с базой данных connect объекту отправляются команды SQL-запроса, и connectобъект получает результаты SQL-запроса.

Общие методы

  • close(), закройте соединение с базой данных
  • commit(), зафиксировать текущую транзакцию
  • rollback(), отменить текущую транзакцию
  • cursor(), создайте объект курсора для выполнения команд запроса SQL

объект курсора

Объект курсора используется для выполнения команд SQL и получения результатов запроса SQL.

Общие методы

  • close(), закройте объект курсора
  • execute(), выполнить запрос или команду к базе данных
  • fetchone(), возвращает следующую строку результирующего набора
  • fetchall(), возвращает все строки в наборе результатов

Создать базу данных

Мы создаем studentsбиблиотеку с именем и studentsтаблицу с именем, содержащую idтри поля.Код выглядит следующим образом name:age

db = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='1234567890',
    db='students',
    charset='utf8'
)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

sql = """SET character_set_database=utf8;
SET character_set_server=utf8;
DROP DATABASE IF EXISTS students;
CREATE DATABASE students;
USE school;"""
lists = sql.split("\n")
for i in lists:
    cursor.execute(i)

create_sql = """
CREATE TABLE students(
    id VARCHAR(32),
    name VARCHAR(32),
    age INT
);
"""
cursor.execute(create_sql)
insert_sql = """
INSERT INTO students(id, name, age) VALUES ('202301', '穆勒', '18');
"""
cursor.execute(insert_sql)
db.commit()
db.close()

Данные запроса

Прежде чем запрашивать данные, мы должны сначала подключиться к базе данных.Как только соединение с базой данных установлено, можно выполнять различные операции запроса.

db = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='1234567890',
    db='students',
    charset='utf8'
)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

выборочный матч

Вернуть все соответствующие результаты

sql = "select * from students;"

rows = cursor.execute(sql)

# 记录数
print("there are %d students" % rows)

# 可迭代对象
students = cursor.fetchall()
# 循环输出
for i in students:
    print(i)


# 输出结果
there are 1 students
('202301', '穆勒', 18)

fetchonematch

Вернуть запись

# 查询数据 - fetchone
sql = "select * from students;"

rows = cursor.execute(sql)

# 根据记录数循环
for i in range(rows):
    student = cursor.fetchone()
    print(student)


# 输出结果
('202301', '穆勒', 18)

fetchmanymatch

Сколько записей для возврата можно настроить

# 查询数据 - fetchmany
sql = "select * from students;"

rows = cursor.execute(sql)

# 可迭代对象
students = cursor.fetchmany(3)

# 循环结果集
for i in students:
    print(i)


# 输出结果
('202301', '穆勒', 18)

Вставить данные

db = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='1234567890',
    db='students',
    charset='utf8'
)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 增加数据
id = 202302
name = "基米希"
age = 24

sql = 'insert into students(id,name,age) VALUES("%s", "%s", %d)' % (id, name, age)

# 执行 insert sql
rows = cursor.execute(sql)

# 查看 insert 语句返回结果,其实就是执行成功了多少条数据
print('Insert %d students' % rows)

# 只有调用了 commit 方法才能将数据落盘,即提交 insert 操作
db.commit()


# 输出结果
Insert 1 students

изменить данные

db = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='1234567890',
    db='students',
    charset='utf8'
)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 更新数据
id = 202302
name = "基米希"
age = 16

sql = 'UPDATE students SET name="%s", age=%d WHERE sno="%s"' % (name, age, id)

# 执行 update sql
rows = cursor.execute(sql)

# 返回成功修改记录的条数
print('update %d students' % rows)

# 调用 commit,才会将 update 操作提交
db.commit()


# 输出结果
update 1 students

удалить данные

db = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='1234567890',
    db='students',
    charset='utf8'
)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 更新数据
sno = 202302
name = "小菠萝"
age = 14

sql = 'DELETE FROM students'

# 执行 delete sql
rows = cursor.execute(sql)

# 返回成功修改记录的条数
print('delete %d students' % rows)

# 调用 commit,才会将 delete 操作提交
db.commit()


# 输出结果
delete 2 students

Подведем итог

В этой статье представлены подробные инструкции по использованию базы данных PyMySQLдействий MySQL. Начиная с установки PyMySQL, подключения к базе данных, выполнения запросов и операций добавления, изменения и удаления — это ключевые шаги, необходимые для доступа к базе данных MySQL с помощью PyMySQL. Я надеюсь, что эта статья поможет вам легко управлять базой данных MySQL с использованием PyMySQL и удовлетворить ваши потребности в хранении и извлечении данных.

В заключение хотелось бы поблагодарить всех, кто внимательно читает мою статью.Взаимность всегда необходима.Хоть это и не очень ценная вещь, но если вы умеете ею пользоваться, то можете взять напрямую:

Эта информация должна стать наиболее полным и полным складом подготовки для друзей [тестирования программного обеспечения].Этот склад также сопровождал десятки тысяч инженеров-тестировщиков в самом трудном путешествии.Надеюсь, он также сможет помочь вам!

Supongo que te gusta

Origin blog.csdn.net/2301_78276982/article/details/135427213
Recomendado
Clasificación