MySQL数据库如何安装与配置

1.什么是pymysql?

PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb。PyMySql遵循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()方法获取多条数据。

  • MySQL数据库的安装与配置详解

    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的事务提供了两个方法commit和rollback。对于支持事务的数据库编程中,当流标建立时,就自动开启了一个隐形的数据库事务。



数据库在现代计算机应用中扮演着至关重要的角色,MySQL作为免费、开源、可靠的关系型数据库管理系统,被广泛应用于企业常用数据库之列。文章将从MySQL数据库的下载、安装环境的准备以及配置过程等方面进行详细阐述。
一、下载MySQL数据库
在官方网站或者其他公开渠道下载MySQL,建议选择稳定版本的MySQL Community Server以及MySQL Community Client。安装包格式为.exe,提供了32-bit和64-bit两种版本。
二、安装环境准备
在安装MySQL之前,应该确认自己的系统环境是否满足MySQL的最低系统需求。如果系统该版本不满足要求,则应该升级到适当的版本。
三、配置MySQL数据库
在安装MySQL后,我们需要对其进行配置,并创建数据库用户,以及参考其官方文档进行相关配置。首先需要准备工作目录、修改MySQL配置文件、创建MySQL用户并授权等。如果您想要在自己的系统中使用MySQL数据库,你还需按照相关流程进行MySQL数据库的开启等步骤。
MySQL作为企业级数据库,拥有广泛的应用场景。仔细阅读官方文档,学会安装与配置MySQL,是拓展自己技能的一个不错的选择。