Rumah > pangkalan data > tutorial mysql > Bagaimana untuk memasang dan mengkonfigurasi pangkalan data MySQL

Bagaimana untuk memasang dan mengkonfigurasi pangkalan data MySQL

WBOY
Lepaskan: 2023-05-26 12:00:54
ke hadapan
1462 orang telah melayarinya

1. Apakah itu pymysql?

PyMySQL ialah pustaka yang digunakan dalam versi Python3.x untuk menyambung ke pelayan MySQL dan Python2 digunakan dalam mysqldb. PyMySqlMengikut spesifikasi Python数据库API v2.0 dan termasuk pustaka pelanggan pure-Python MySQL.

2. Pasang PyMySQL

 $ pip install pymysql
Salin selepas log masuk

3 pemasangan dan konfigurasi pangkalan data MySQL

Sebelum menggunakan PyMySQL untuk menyambung ke pangkalan data MySQL, sila pastikan MySQL pangkalan data dipasang dan dikonfigurasikan Selesai Untuk butiran tentang cara memasang dan mengkonfigurasi pangkalan data MySQL, sila rujuk pemasangan MySQL dan pengurusan MySQL.

4.1. Sambung ke operasi pangkalan data

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()
Salin selepas log masuk

4.2. Buat operasi jadual

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()
Salin selepas log masuk

4.3.1 Masukkan satu pernyataan ke dalam pangkalan data

rreee

4.3 .2. Pangkalan Data Sisipkan berbilang penyata

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()
Salin selepas log masuk

4.4.4.4..

Pertanyaan Python Gunakan MySQL untuk mendapatkan sekeping data, dan gunakan kaedah fetchone() untuk mendapatkan beberapa keping data. fetchall()

  • fetchone(): Kaedah ini mendapat set hasil pertanyaan seterusnya. Set hasil ialah objek

  • fetchall(): menerima semua baris hasil yang dikembalikan; 🎜>rowcount(): Ini ialah sifat baca sahaja dan mengembalikan bilangan baris yang terjejas selepas melaksanakan kaedah execute().

4.4.1 Contoh pertanyaan
  • Soal semua data dalam jadual

    dengan

    (gaji) lebih besar daripada 20000
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()
Salin selepas log masuk
4.5. Operasi kemas kini pangkalan data

# 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()
Salin selepas log masuk

4.6. Operasi Padam

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()
Salin selepas log masuk
employee4.7 Lakukan operasi transaksiincomeDalam operasi pangkalan data, mekanisme transaksi boleh memastikan ketekalan data. Urus niaga paling asas harus mempunyai empat atribut: atomicity, konsistensi, pengasingan dan ketahanan. Empat sifat ini dipanggil ciri

.

Atomicity: Transaksi ialah unit kerja yang tidak boleh dibahagikan, dan semua operasi yang termasuk dalam urus niaga sama ada dilakukan atau tiada.

ACID

  • Dalam pangkalan data, transaksi mesti mengubah pangkalan data daripada satu keadaan kepada keadaan konsisten yang lain untuk mencapai konsistensi. Konsistensi dan atomicity berkait rapat.

  • Pengasingan merujuk kepada keupayaan transaksi untuk melaksanakan tanpa gangguan daripada transaksi lain.. Dalam urus niaga, data yang dikendalikan dan digunakan ditutup kepada transaksi serentak yang lain, jadi transaksi yang dilaksanakan serentak tidak boleh mengganggu satu sama lain.

  • Ketahanan: Ketahanan juga dipanggil kekal Ini bermakna setelah transaksi diserahkan, perubahannya kepada data dalam pangkalan data hendaklah Kekal. Operasi atau kegagalan seterusnya tidak sepatutnya mempunyai sebarang kesan ke atasnya. Urus niaga

    menyediakan dua kaedah
  • dan

    . Untuk pengaturcaraan pangkalan data yang menyokong transaksi, apabila tanda strim ditubuhkan, transaksi pangkalan data yang tidak kelihatan dimulakan secara automatik.

Atas ialah kandungan terperinci Bagaimana untuk memasang dan mengkonfigurasi pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan