数据存储-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的连接及操作。

  1. 安装和引入pymysql模块

首先,需要在Python环境中安装pymysql模块,并在程序中引入该模块:

    import pymysql
  1. 连接MySQL数据库

使用pymysql库连接数据库需要设置好主机地址、用户名、密码、数据库名等信息,然后通过connect()函数创建一个数据库连接对象:

    db = pymysql.connect(host='localhost', user='root', password='123456', database='test_db',charset='utf8')

其中,host表示要连接的主机地址,user为MySQL的用户名,password为MySQL的登录密码,database是要连接的数据库名,charset是连接的字符集。

  1. 创建游标对象并执行SQL语句

成功连接数据库后,可以使用cursor()函数创建一个游标对象,然后用execute()方法来执行SQL 查询或DML操作,如:

    cursor = db.cursor()
    
    cursor.execute("SELECT * FROM student")
  1. 提交和回滚事务

在执行修改、插入、删除等操作之后,还应该调用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结构来捕获异常并回滚操作。

  1. 关闭游标和数据库连接

最后,在完成所有操作后,应该关闭游标和数据库连接,以释放资源:

    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数据库的操作,简单且实用。使用它,可以方便地完成数据查询、插入、更新等操作,进而使得我们更好地管理和维护自己的数据。