zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MYSQL数据库-基础概念

2023-09-27 14:22:51 时间

零、前言

从本章开始将学习MYSQL数据库的知识,而这里主要讲解MYSQL数据库基础

数据库基础

1、什么是数据库

  • 概念:数据仓库,软件,安装在操作系统之上
  1. Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性

  2. 数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据

  3. MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性

    image-20220727091954807

2、文件和数据库

  • 文件保存数据的缺点:
  1. 文件的安全性问题
  2. 文件不利于数据查询和管理
  3. 文件不利于存储海量数据
  4. 文件在程序中控制不方便

注:为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据

  • 数据库DB(DataBase)作用:存储数据,管理数据

3、主流数据库

  1. SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目
  2. Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL
  3. MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好
  4. PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发
  5. SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了
  6. H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中

4、数据库分类

  1. 关系型数据库:SQL(Structured Query Language)
MySQL、Oracle、Sql Server、DB2、SQLlite

概念:通过表和表之间,行和列之间的关系进行数据的存储,通过外键关联来建立表与表之间的关系

  1. 非关系型数据库:NoSQL(Not Only SQL)
Redis、MongoDB

概念:指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定

5、SQL的优点

  1. 简单易学,具有很强的操作性
  2. 绝大多数重要的数据库管理系统均支持SQL
  3. 高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成

6、SQL的分类

  1. DDL(Data Definition Language) 数据定义语言,用来操作数据库、表、列等; 常用语句:CREATE、 ALTER、DROP
  2. DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT、 UPDATE、 DELETE
  3. DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:GRANT、DENY
  4. DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:SELECT

7、服务器/数据库/表的关系

  1. 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库
  2. 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据
  • 数据库服务器、数据库和表的关系:
image-20220727092132820