Heim  >  Artikel  >  Datenbank  >  So installieren und konfigurieren Sie die MySQL-Datenbank

So installieren und konfigurieren Sie die MySQL-Datenbank

WBOY
WBOYnach vorne
2023-05-26 12:00:541382Durchsuche

1. Was ist pymysql?

PyMySQL ist eine Bibliothek, die zum Herstellen einer Verbindung mit dem MySQL-Server in der Python3.x-Version verwendet wird > Verwenden Sie mysqldb in Python2. PyMySql folgt den Spezifikationen von Python Database API v2.0 und enthält die pure-Python MySQL-Clientbibliothek. PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldbPyMySql遵循Python数据库API v2.0的规范,并包含了pure-Python MySQL客户端库。

2.安装PyMySQL

 $ pip install pymysql

3.MySQL数据库安装与配置

在用PyMySQL连接MySQL数据库之前,请确保MySQL数据库安装配置完成,具体如何安装与配置MySQL数据库,请参考 MySQL 安装 和 MySQL 管理。

4.1.连接数据库操作

import pymysql


# 数据库服务器名
HOSTNAME = 'node05'
# 数据库用户名
USER = 'root'
# 数据库名
DATABASE = 'cayman'
# 数据库密码
PASSWORD = 'Love88me'


# 打开数据库连接
conn = pymysql.connect(HOSTNAME, USER, PASSWORD, DATABASE)


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


# 使用execute()方法执行SQL查询语句
cursor.execute("select VERSION()")


# 使用fetchone()查询单条数据
data = cursor.fetchone()
print(f"Database Version: {data}")


# 关闭数据库连接
conn.close()

4.2.创建表操作

import pymysql


# 设置数据库配置项
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


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


# 使用execute()方法执行SQL, 如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS employee")


# 使用预处理语句创建表
sql = """ CREATE TABLE employee(
    id bigint primary key auto_increment,
    user_name varchar(50) not null,
    age int,
    sex char(1),
    income float
)
"""


# 执行sql语句
cursor.execute(sql)


# 关闭数据库连接
db.close()

4.3.1.数据库插入单条语句

import pymysql


# 设置数据库配置项
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


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


# SQL语句
sql = """
 insert into employee(user_name, age, sex, income) values ('风清扬', 64, '男', 22000);
"""


try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交
    db.commit()
except:
    # 如果发生错误就回滚
    db.rollback()


# 关闭数据库连接
db.close()

4.3.2.数据库插入多条语句

import pymysql


# 设置数据库配置项
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


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


# SQL语句
sql = " insert into employee(user_name, age, sex, income) values (%s, %s, %s, %s)"


data = (
    ('风清扬', 64, '男', 22000),
    ('令狐冲', 22, '男', 14000),
    ('任盈盈', 20, '男', 10000),
    ('东方不败', 32, '男', 18000),
    ('任我行', 56, '男', 17000),
    ('段誉', 33, '男', 19000),
    ('王语嫣', 26, '女', 9000),
    ('木婉清', 23, '女', 6000),
    ('乔峰', 38, '男', 23000),
    ('阿朱', 24, '女', 5000),
    ('阿紫', 22, '女', 5500),
    ('虚竹', 35, '男', 11000),
    ('梦姑', 25, '女', 6500),
    ('梅超风', 41, '女', 15000),
    ('陈玄风', 44, '男', 12000),
    ('杨过', 28, '男', 24000),
    ('小龙女', 38, '女', 15000),
    ('鸠摩智', 44, '男', 16000)
)


try:
    # 执行sql语句
    cursor.executemany(sql, data)
    # 提交
    db.commit()
except:
    # 如果发生错误就回滚
    db.rollback()


# 关闭数据库连接
db.close()

4.4.数据库查询

Python查询MySQL使用fetchone()获取单条数据,使用fetchall()方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

  • fetchall(): 接收全部的返回结果行;

  • rowcount(): 这是一个只读属性,并返回执行execute()方法后影响的行数。

4.4.1.查询示例

查询employee表中income(工资)大于20000的所有数据

# 1.查询employee表中工资大于20000的员工信息
import pymysql


# 设置数据库配置项
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


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


# 查询语句
sql = "select * from employee where income >'%d' "%(20000)


try:
    # 执行sql语句
    cursor.execute(sql)
    # 获取所有满足条件的列表
    ret = cursor.fetchall()
    # 遍历打印结果
    for row in ret:
        user_name = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        print(f"员工: {user_name},年龄: {age}, 性别: {sex}, 工资: {income}")
except:
    print("无满足条件的数据或查询出错!!")


# 关闭数据库连接
db.close()

4.5.数据库更新操作

import pymysql


# 设置数据库配置项
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


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


# 更新语句
sql = "update employee set income=income+income*0.1 where sex='%c'"%('女')


try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交
    db.commit()


except:
    # 发生错误时回滚
    db.rollback()


# 关闭数据库
db.close()

4.6.删除操作

import pymysql


# 设置数据库连接信息
HOSTNAME = 'node05'
USERNAME = 'root'
PASSWORD = 'Love88me'
DATABASE = 'cayman'


# 打开数据库连接
db = pymysql.connect(HOSTNAME, USERNAME, PASSWORD, DATABASE)


# 使用cursor()方法获取游标
cursor = db.cursor()


# 构建删除数据SQL语句
sql = "delete from employee where user_name = '%s'"%('鸠摩智')


try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交
    db.commit()


except:
    # 发生异常时回滚
    db.rollback()


# 关闭数据库连接
db.close()

4.7 执行事务操作

在数据库操作中,事务机制可以保证数据的一致性。最基本的事务应当具备4个属性: 原子性、一致性、隔离性、和持久性。这四个属性被称作ACID特性。

  • 原子性(Atomicity): 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

  • 在数据库中,事务必须将数据库从一种状态转换为另一种一致性状态,以实现一致性。一致性与原子性是密切相关的。

  • Isolation refers to the ability of a transaction to execute without interference from other transactions.。在一个事务内部,操作和使用的数据对其他并发事务是封闭的,因此并发执行的各个事务不能互相干扰。

  • 持久性(Durability): 持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python DB API 2.0的事务提供了两个方法commitrollback

2. Installieren Sie PyMySQL🎜rrreee🎜3. Installation und Konfiguration der MySQL-Datenbank🎜🎜Bevor Sie PyMySQL verwenden, um eine Verbindung zur MySQL-Datenbank herzustellen, stellen Sie bitte sicher, dass MySQL Die Installation und Konfiguration der Datenbank ist abgeschlossen. Weitere Informationen zur Installation und Konfiguration der MySQL-Datenbank finden Sie unter MySQL-Installation und MySQL-Verwaltung. 🎜🎜4.1. Verbindung zur Datenbank herstellen🎜rrreee🎜4.3.1. Eine einzelne Anweisung in die Datenbank einfügen🎜rrreee🎜4.4 🎜🎜Python fragt MySQL ab, um mit fetchone() ein einzelnes Datenelement zu erhalten, und verwendet den fetchall() Methode zum Abrufen mehrerer Daten. 🎜
  • 🎜fetchone(): Diese Methode ruft den nächsten Abfrageergebnissatz ab. Die Ergebnismenge ist ein Objekt 🎜
  • 🎜fetchall(): Alle zurückgegebenen Ergebniszeilen empfangen 🎜
  • 🎜rowcount(): Dies ist eine schreibgeschützte Eigenschaft und gibt die Anzahl der betroffenen Zeilen nach der Ausführung der Methodeexecute() zurück. 🎜
🎜4.4.1. Abfragebeispiel🎜🎜Fragen Sie alle Daten in der Tabelle mitarbeiter ab, bei denen einkommen (Gehalt) größer als 20.000 ist🎜rrreee 🎜4.5. Datenbank-Aktualisierungsvorgang🎜rrreee🎜4.6. Löschvorgang Die grundlegendsten Transaktionen sollten vier Attribute haben: Atomizität, Konsistenz, Isolation und Haltbarkeit. Diese vier Eigenschaften werden ACID-Eigenschaften genannt. 🎜
  • 🎜Atomizität: Eine Transaktion ist eine unteilbare Arbeitseinheit. Alle in der Transaktion enthaltenen Vorgänge werden entweder ausgeführt oder nicht ausgeführt. 🎜
  • 🎜In einer Datenbank muss eine Transaktion die Datenbank von einem Zustand in einen anderen konsistenten Zustand umwandeln, um Konsistenz zu erreichen. Konsistenz und Atomizität hängen eng zusammen. 🎜
  • 🎜Isolation bezieht sich auf die Fähigkeit einer Transaktion, ohne Beeinträchtigung durch andere Transaktionen ausgeführt zu werden. Innerhalb einer Transaktion sind die verarbeiteten und verwendeten Daten für andere gleichzeitig ausgeführte Transaktionen geschlossen, sodass gleichzeitig ausgeführte Transaktionen sich nicht gegenseitig beeinträchtigen können. 🎜
  • 🎜Persistenz (Dauerhaftigkeit): Haltbarkeit, auch bekannt als Permanenz, bezieht sich darauf, dass, sobald eine Transaktion übermittelt wird, ihre Auswirkungen auf die Datenbankänderungen an den Daten sollten dauerhaft sein. Nachfolgende Operationen oder Ausfälle sollten keine Auswirkungen darauf haben. 🎜
🎜Python DB API 2.0-Transaktionen bieten zwei Methoden commit und rollback. Bei einer Datenbankprogrammierung, die Transaktionen unterstützt, wird beim Einrichten der Stream-Markierung automatisch eine unsichtbare Datenbanktransaktion gestartet. 🎜

Das obige ist der detaillierte Inhalt vonSo installieren und konfigurieren Sie die MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen