初识mysql数据库

news/2024/11/25 1:45:49/

文章目录

    • 一、概述
    • 二、SQL的优点
    • 三、SQL的分类
    • 四、 数据库分类
    • 五、 总结


在这里插入图片描述

一、概述

SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准计算机语言。它由IBM公司在1970年代开发,并随着时间的推移逐渐成为数据库管理系统的核心组成部分。SQL允许用户执行各种操作,如查询、更新、插入和删除数据库中的数据,以及管理数据库的结构和权限。

二、SQL的优点

  • 易于学习和使用:SQL的语法相对简单,具有直观性,使得非技术背景的用户也能够快速上手。
  • 高度标准化:SQL遵循国际标准,几乎所有关系数据库管理系统(RDBMS)都支持SQL,这使得用户在不同数据库系统之间迁移变得容易。
  • 功能强大:SQL支持复杂的查询操作,包括多表连接、子查询、聚合函数等,能够满足各种数据处理需求。
  • 高效性能:SQL经过优化,能够高效地执行大量数据的查询和更新操作,提高数据处理效率。
  • 跨平台兼容性:SQL可以在不同的操作系统和硬件平台上运行,不受特定环境的限制。

三、SQL的分类

SQL语言可以分为以下几类,根据不同的操作对象和功能,各有其特定的用途:

  • 数据定义语言(DDL)

DDL用于创建、修改和删除数据库中的表、视图、索引等结构。

CREATE:创建新的数据库对象,如表、视图等。
ALTER:修改现有数据库对象的结构。
DROP:删除数据库对象。

示例:

CREATE TABLE students (id INT, name VARCHAR(50), age INT);
ALTER TABLE students ADD COLUMN grade INT;
DROP TABLE students;
  • 数据操纵语言(DML)

DML用于插入、更新、删除和查询数据库中的数据。

INSERT:向表中插入新的数据行。
UPDATE:修改表中的数据。
DELETE:从表中删除数据行。
SELECT:查询表中的数据。

示例:

INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);
UPDATE students SET age=21 WHERE name='Alice';
DELETE FROM students WHERE id=1;
SELECT * FROM students;
  • 数据控制语言(DCL)

DCL用于控制不同数据的访问权限,确保数据的安全性。

GRANT:授予权限给用户。
REVOKE:撤销用户的权限。

示例:

GRANT SELECT ON students TO user1;
REVOKE SELECT ON students FROM user1;
  • 事务控制语言(TCL)

TCL用于管理数据库的事务,确保数据的一致性和完整性。

COMMIT:提交事务,使所有更改成为永久性的。
ROLLBACK:回滚事务,撤销所有未提交的更改。
SAVEPOINT:在事务中设置一个保存点,可以回滚到该点。

示例:

START TRANSACTION;
INSERT INTO students (id, name, age) VALUES (2, 'Bob', 22);
SAVEPOINT before_update;
UPDATE students SET age=23 WHERE name='Bob';
ROLLBACK TO before_update;
COMMIT;

四、 数据库分类

根据不同的标准和需求,数据库可以分为多种类型。以下是常见的几种数据库分类:

4.1 按数据模型分类

关系型数据库通过表格来组织和存储数据,数据表之间通常有关系(如主键和外键)。SQL 是操作关系型数据库的主要语言。常见的 RDBMS 包括:

  1. MySQL
  2. PostgreSQL
  3. Oracle
  4. Microsoft SQL Server

非关系型数据库不使用表格结构来存储数据,它们通常使用键值对、文档、列族或图形等数据模型。常见的 NoSQL 数据库包括:

  1. MongoDB(文档型)
  2. Cassandra(列族型)
  3. Redis(键值型)
  4. Neo4j(图形型)

4.2 按功能分类

OLTP 数据库优化了事务处理,支持快速的插入、更新和删除操作,适合高并发、小规模的操作。大部分关系型数据库(如 MySQL、PostgreSQL)都是 OLTP 系统的典型代表。

OLAP 数据库主要用于大规模数据分析,支持复杂查询、报表生成等操作。它们通常以多维数据模型组织数据,支持大数据量的快速查询。常见的 OLAP 数据库有:

  1. Microsoft SQL Server Analysis Services(SSAS)
  2. Google BigQuery
  3. Apache Hive

4.3 按存储方式分类

数据存储在单一的计算机或数据中心,这种类型的数据库通常适用于小规模到中等规模的应用。

数据分布在多个物理位置的多个计算机上,通过网络进行访问。分布式数据库通常具备更高的可扩展性和容错能力。常见的分布式数据库有:

  1. Apache Cassandra
  2. Google Spanner
  3. Amazon DynamoDB

4.4 按数据可扩展性分类

这种数据库通过增加更强大的硬件(如 CPU、内存)来提升性能,适用于较小规模的数据库

这种数据库通过增加更多的服务器节点来扩展数据库的性能和容量,适合大规模和分布式环境。NoSQL 数据库通常具备更好的水平扩展能力。

五、 总结

SQL 是数据库查询和操作的核心语言,它具备强大的查询功能、数据独立性、易于学习的特点。SQL 可以广泛应用于关系型数据库系统,而对于非关系型数据库,SQL 语言的支持和实现则有所不同。随着大数据技术的普及,SQL 仍然是数据库开发中不可或缺的技能,并且随着分布式数据库和云计算的兴起,SQL 在现代数据架构中的地位依然稳固。

不同类型的数据库各有特点,根据应用需求选择合适的数据库类型和架构,是高效数据管理的关键。


http://www.ppmy.cn/news/1549690.html

相关文章

Spring框架深度剖析:特性、安全与优化

文章目录 Spring框架简介主要特性1. 依赖注入(Dependency Injection, DI)2. 面向切面编程(Aspect-Oriented Programming, AOP)3. 声明式事务管理4. 强大的MVC框架5. 集成测试支持6. 多种数据访问技术的支持 安全性1. 认证&#xf…

数据指标与标签在数据分析中的关系与应用

导读:分享数据指标体系的文章很多,但讲数据标签的文章很少。实际上,标签和指标一样,是数据分析的左膀右臂,两者同样重要。实际上,很多人分析不深入,就是因为缺少对标签的应用。今天系统的讲解下…

跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2550人左右 1 …

【STM32】MPU6050简介

文章目录 MPU6050简介MPU6050关键块带有16位ADC和信号调理的三轴MEMS陀螺仪具有16位ADC和信号调理的三轴MEMS加速度计I2C串行通信接口 MPU6050对应的数据手册:MPU6050 陀螺仪加速度计 链接: https://pan.baidu.com/s/13nwEhGvsfxx0euR2hMHsyw?pwdv2i6 提取码: v2i6…

数据结构实验——实现顺序查找的算法、实现折半查找的算法实、实现分块查找的算法

实验1:实现顺序查找的算法 题目描述 内容:编写一个程序 cxp9-1.cpp,输出在顺序表(3,6,2.10,18,5.7.49)中采用顺序查找方法查找关键字5的过程,使用顺序表。算法:exp9-1.cpp程序,其中包含函数SeqSearch(RecType R[],intn,KeyTypek),即采用顺序…

高精度计算题目合集

高精度计算题目合集 1168:大整数加法 1168:大整数加法 1168:大整数加法 高精度加法原理: a,b,c 都可以用数组表示。这些都是基于c语言的算术运算符形成的运算。 c 3 ( c 1 c 2 ) % 10 c_3(c_1c_2)\%1…

IP-Adapter 开源项目介绍

IP-Adapter 是一个开源项目,它主要针对图像生成模型(如 Stable Diffusion)提供了一个插件式的架构,允许用户通过输入特定的图像来调整或引导模型生成的过程。这种机制能够使得生成的图像更加符合用户的意图或者与输入的参考图像在…

【代码随想录】贪心

455. 分发饼干 题目 随想录 本质: 对于每个孩子,使用可以满足该孩子的最小的饼干。所以对孩子胃口和饼干进行sort排序,依次将大的饼干满足给孩子。 贪心策略: 想一下局部最优,想一下全局最优,如果局部最优…