数据库的概述

数据库Database(DB):按照数据结构组织、存储和管理数据的仓库。本质是一个文件系统。保存一系列有组织的数据。每个数据库都有一个或者多个不同的API用于创建、访问、管理、搜索和复制所保存的数据。

数据库管理系统Database Management System(DBMS):一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中的表内的数据。

结构化查询语言Structured Query Language(SQL):专门用来与数据库通信的语言。

数据库管理系统、数据库和表的关系:

为什么要使用数据库?

持久化:把数据保存到可掉电式存储设备中以供之后使用。数据持久化意味着将内存中的数据保存到硬盘中加以“固化”。持久化的主要作用是将内存中的数据存储在关系型数据库中,也可以存储在磁盘文件、XML数据文件中。

RDBMS和非RDBMS

关系型数据库RDBMS

将复杂的数据结构归结为简单地二元关系(二维表格形式)

术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • **行:**一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • **外键:**外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

非关系型数据库

  • 键值型数据库

  • 文档型数据库

  • 搜索引擎数据库

  • 列式数据库

  • 图形数据库

MySQL

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

主要操作

  1. 查看所有的数据库

    show databases;
    
  2. 创建自己的数据库

    create database 数据库名;
    
  3. 使用自己的数据库

    use 数据库名;
    
  4. 查看某个库的所有表格

    show tables from 数据库名;
    
  5. 创建新的表格

    create table 表名(
        字段名 数据类型,
        字段名 数据类型
    );
    
  6. 查看一个表的数据

    select * from 数据表名称;
    
  7. 添加一条记录

    insert into 表名称 values(值列表);
    
  8. 删除表格

    drop table 表名称;
    
  9. 删除数据库

    drop database 数据库名;
    

主要目录结构

MySQL的目录结构说明
bin目录所有MySQL的可执行文件。如:mysql.exe
data目录系统数据库所在的目录
c:\ProgramData\MySQL\MySQL Server 8.0\data\用户创建的数据库所在的目录

SQL

分类:

  • **DDL(Data Definition Languages 数据定义语言):**语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
    • create创建、alter修改、drop删除、truncate截断
  • **DML(Data Manipulation Language 数据操作语言):**用于添加删除更新和查询数据库记录,并检查数据完整性。
    • insert插入、update修改、delete删除
  • **DCL(Data Control Language 数据控制语言):**用于定义数据库、表、字段、用户的访问权限和安全级别。
    • grant授权、revoke回收权限
  • DQL(Data Query Language 数据查询语言):
    • select查询

大小写规范

  • MySQL在windows环境下大小写不敏感的

  • MySQL在Linux环境下是大小敏感的

    • 数据库名、表名、表的别名、变量名是严格区分大小写的

    • 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。

  • 推荐采用统一的书写规范

    • 数据库名、表名、表别名、字段名、字段别名等都小写
    • SQL 关键字、函数名、绑定变量等都大写

注释

单行注释:#注释语句
		-- 注释语句
多行注释:/*注释语句*/

声明:本篇中大部分图片摘自尚硅谷老师的文档,感谢尚老师成就我们一生

更多推荐

数据库学习——基础概念