数据存储-MySql
发布时间丨2023-02-25 11:42:48作者丨zhaomeng浏览丨0
在大数据时代,数据已经变得越来越重要。而同时,在采集好数据后,如何妥善的存储这些海量数据,是一个不容忽视的问题。MySQL 是当前较为流行的关系型数据库管理系统之一,其优点在于稳定、安全、灵活、高效,也支持SQL语言的运用。
以下将介绍MySQL数据库的常见操作及其相关内容,以帮助读者熟悉MySQL的使用。
1、MySQL 安装
从MySQL官网上下载并安装MySQL最新版即可,若忘记了root密码,那么可以尝试方法二来修正。
2、数据库的连接步骤
(1)打开Terminal,利用mysql -u root -p 然后输入密码。
(2)查看有哪些数据库 show databases。
(3)进入需要进行操作的数据库 use [database_name]。Man原则:need to check what’s wrong and where is it wrong.
3、数据库与表操作命令
(1)创建数据库 CREATE DATABASE [database_name];
例如: CREATE DATABASE World;
(2)使用数据库 USE [database_name];
例如: USE World;
(3)删除数据库 DROP DATABASE [database_name];
例如: DROP DATABASES World;
(4)创建表和添加数据建立Excel中相应的列之后,每个列取出样本数据依次添加到相应的字段里。
例如:在销售员表格中添加编号,姓名和销售金额三个字段,并添加相关数据:
CREATE TABLE [table_name]( [column1] [data_type] [constraints], [column2] [data_type] [constraints], …. );
例如: CREATE TABLE Salesperson( ID INT NOT NULL, NAME VARCHAR(100) NOT NULL, TOTALSALES DECIMAL(18,2) NULL, PRIMARY KEY (ID), CHECK(TOTALSALES>=0) );
(5)修改表 ALTER TABLE [table_name]
a. 添加列 ADD;
ALTER TABLE [table_name] ADD [column_name] [data_type] [constraints];
例如:ALTER TABLE Salesperson ADD EMAIL VARCHAR(100);
b. 修改列 MODIFY;
ALTER TABLE [table_name] MODIFY COLUMN [column_name] [data_type] [contraints];
例如: ALTER TABLE Salesperson MODIFY TOTALSALES DECIMAL(20,3);
c. 删除列 DROP。
ALTER TABLE [table_name] DROP [column_name];
例如: ALTER TABLE Salesperson DROP EMAIL;
4、数据查询操作命令
(1)SELECT column_name(s) from table_name where condition;
例如: SELECT * FROM Salesperson; (类似于索引)
(2)WHERE 子句
SELECT column_name(s) from table_name where condition;
例如: SELECT * FROM Salesperson WHERE TotalSales>10000;
(3)聚合函数
a. 求和 SUM;
SELECT SUM(column_name) FROM table_name;
例如: SELECT SUM(TotalSales) AS Total_Sales FROM Salesperson;
b. 平均数 AVG;
SELECT AVG(column_name) FROM table_name;
例如: SELECT AVG(TotalSales) FROM Salesperson;
c. 计数 COUNT;
SELECT COUNT(*)/COUNT(column_name) FROM table_name;
例如: SELECT COUNT(*) FROM Salesperson;
d. 最大值 MAX;
SELECT MAX(column_name) FROM table_name;
例如: SELECT MAX(TotalSales) AS Max_Sales FROM Salesperson;
e. 最小值 MIN
SELECT MIN(column_name) FROM table_name;
例如: SELECT MIN(TotalSales) FROM Salesperson;
5、数据修改操作命令
(1)修改单字段数据 UPDATE [table_name] SET [column_name]=[new_value] WHERE [some_column]=[some_value];
例如: UPDATE Salesperson SET TotalSales=TotalSales+100 WHERE Id=10;
(2)批量修改字段
UPDATE [table_name] SET [column1], [column2], …, [columnN] WHERE [condition];
例如: UPDATE Salesperson SET FName='Alex',LName='Grinshaw' WHERE ID=2;
6、数据删除操作命令
(1)DELETE FROM [table_name] WHERE [condition];
例如: DELETE FROM Salesperson WHERE Name='Dawna'
总结起来,MySQL是一个功能强大且易于使用的数据库管理系统,可以在线上及离线场景下被广泛地使用。学习MySQL包括多个方面,从安装配置到基本语句操作再到高级查询和优化技巧,每个阶段都需要进行反复实践。随着经验和知识的积累,MySQL数据库的使用将会更加得心应手。
同时,需要注意的是,在使用MySQL时,应该注重数据安全性,包括数据库的备份、恢复和迁移等操作。此外,还需要定期进行性能优化,以确保系统的稳定性和高效性。
MySQL提供了多种完善的工具和技术,用于保护数据的安全性和完整性,例如SSL和TLS加密、访问控制、存储引擎等功能。在设计数据库结构时,也要考虑到数据的一致性和规范性,以及避免冗余和重复的数据,这样可以大大提高查询性能和效率。
总的来说,MySQL数据库作为目前广泛应用于互联网企业的关系型数据库管理系统,其在数据存储方面的优势和灵活性得到了广泛认可。但在实际应用中,需要开发人员加强对MySQL的学习和理解,不断地提升自己的技能,始终保持敬畏之心,确保数据的完整性、安全性和可靠性。
7、pymysql基本使用
Python 是一种流行的高级编程语言,同时也支持MySQL 数据库的操作。pymysql是使用Python来连接MySQL数据库的一个模块,它提供了简便易用、高效稳定的数据连接方式。下面介绍如何使用pymysql来进行MySQL的连接及操作。
- 安装和引入pymysql模块
首先,需要在Python环境中安装pymysql模块,并在程序中引入该模块:
import pymysql
- 连接MySQL数据库
使用pymysql库连接数据库需要设置好主机地址、用户名、密码、数据库名等信息,然后通过connect()函数创建一个数据库连接对象:
db = pymysql.connect(host='localhost', user='root', password='123456', database='test_db',charset='utf8')
其中,host表示要连接的主机地址,user为MySQL的用户名,password为MySQL的登录密码,database是要连接的数据库名,charset是连接的字符集。
- 创建游标对象并执行SQL语句
成功连接数据库后,可以使用cursor()函数创建一个游标对象,然后用execute()方法来执行SQL 查询或DML操作,如:
cursor = db.cursor()
cursor.execute("SELECT * FROM student")
- 提交和回滚事务
在执行修改、插入、删除等操作之后,还应该调用commit() 方法提交事务对数据库做出的更改。
sql = """
INSERT INTO student(name, age, gender, major) VALUES ('John', 21, 'Male', 'Computer Science')
"""
try:
cursor.execute(sql)
db.commit()
except Exception as e:
print('Error!', e)
db.rollback()
在使用commit()方法前,需要确保执行的SQL语句是正确的,否则会出现数据不一致的情况,因此可以利用try...except结构来捕获异常并回滚操作。
- 关闭游标和数据库连接
最后,在完成所有操作后,应该关闭游标和数据库连接,以释放资源:
cursor.close()
db.close()
完整的代码示例:
import pymysql
# 连接MySQL数据库
db = pymysql.connect(host='localhost', user='root', password='123456', database='test_db', charset='utf8')
# 创建游标对象并执行SQL语句
cursor = db.cursor()
cursor.execute("SELECT * FROM student")
results = cursor.fetchall()
for row in results:
name = row[0]
age = row[1]
gender = row[2]
major = row[3]
print(f"Name: {name} Age: {age} Gender: {gender} Major: {major}")
try:
sql = """
INSERT INTO student(name, age, gender, major) VALUES ('John', 21, 'Male', 'Computer Science')
"""
cursor.execute(sql)
db.commit()
print("Data inserted successfully.")
except Exception as e:
print('Error!', e)
db.rollback()
# 关闭游标和数据库连接
cursor.close()
db.close()
如上所述,使用pymysql进行MySQL数据库的操作,简单且实用。使用它,可以方便地完成数据查询、插入、更新等操作,进而使得我们更好地管理和维护自己的数据。