MySQL数据库

一、什么是MySQL?

数据的所有存储、检索、管理和处理都是由数据库软件-------DBMS完成的,MySQL是一种DBMS,即它是一种数据库软件。MySQL是小型关系型数据库管理系统,目前被应用在Internet上的中小型网站中,体积小,速度快,成本低,开源。

数据库相关名词:DB、DBMS、DBS、DBA(数据库管理员)

MySQL收到的唯一的批评就是它并不总是支持其他DBMS提供的功能和特性

DBMS可分为两类:

一类是基于共享文件系统的DBMS

另一类基于客户机-服务器的DBMS

MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据库。服务器部分负责所有数据访问和处理一个软件,这个软件运行在称为数据库服务的计算机上。

与数据文件打交道的只有服务器软件

关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成。这些请求或更改来自运行客户机软件的计算机。

客户机是与用户打交道 的软件,客户机可以是MySQL提供的工具程序设计语言、脚本语言

常见的数据库

1.关系型数据库:建立在关系型模型基础上的数据库,借助于集合代数等高等数学概念和方法来处理数据库中的数据,现实世界中的各种联系均用关系模型来表示

        国外:Oracle、DB2、Microsoft SQL Server、MySQL、MicrosoftAccess

        国产:浪潮L-DB、武汉达梦、南大通用、人大金仓等

2.非关系型数据库:被称为NoSQL(Not Only SQL),意义不仅仅是sql,是一种轻量、开源、不兼容SQL功能的数据库,对NoSQL最普遍的定义是“非关联型的”,强调KEY-VALUE存储和文档数据库的优点,而不是单纯的反对RDBMS(关系型数据库管理系统)。

主要学NoSQL:redis、mongodb

模型分类:

  • 层次模型:
  • 网状模型:
  • 关系模型:二维表,,,表示实体之间的关系
  • 概念模型:

程序员对数据库的要求:

  • 基本的SQL操作,CRUD操作

  • 多表连接查询、分组查询和子查询

  • 常用数据库的单行函数

  • 常用数据库的基本命令

  • 常用数据库的开发工具

  • 事务概念、索引、视图、存储过程和触发器

MySQL体系结构:

  • MySQL是由SQL接口、解析器、优化器、缓存、存储结构组成的
  • Connectors指的是不同语言中与SQL的交互
  • Managerment Serveices & Utilities:系统管理和控制工具
  • Connection Pool:连接池。管理缓冲用户连接,线程处理等需要缓存的需求
  • SQL Interface:SQL接口,接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface
  • Parser:解析器。SQL命令传递到解析器的时候会被解析器验证和解析
  • Optimizer:查询优化器。SQL语句在查询之前会使用查询优化器对查询进行优化
  • Cache和Buffer:查询缓存。如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据
  • Engine:存储引擎。存储引擎是MySQL中具体的与文件打交道的子系统

MySQL相关名词概念:

  1. 数据库:存储和管理数据的集合
  2. 表:数据库中的数据组织形式,包含多个字段和行
  3. 字段:表中的每一列,定义数据类型和约束条件
  4. 行:表中的每一行,包含各个字段对应的数据
  5. 主键:一个唯一标识符,用于标识表中的每一行
  6. 索引:对表中的字段进行优化,加快数据检索速度
  7. 视图:虚拟表,存储查询的结果,可以被其他查询使用
  8. 存储过程:一段预编译的代码,可以被多次调用,用于复杂的数据操作
  9. 事务:一组数据库操作,要么全部执行成功,要么全部撤回
  10. 用户权限:控制用户对数据库的访问权限和操作权限

二、一些SQL指令

如何选择数据库?

输入:USE 数据库名;

输出:Database changed

 USE语句并不返回任何结果,必须先用USE打开数据库,才能读取里面的数据

        如果不知道可以使用的数据库名怎么办?数据库、表、列、用户、权限等信息存储在数据库和表中,可以使用MySQL的SHOW命令来显示这些东西

1. SHOW DATABASES;返回可用数据库的一个列

输入:SHOW DATABASES;

输出:

MySQL数据库_第1张图片

2.为了获得数据库中的表,使用SHOW TABLES;

SHOW TABLES;返回当前选择的数据库内可用表的列表。

输入:SHOW TABLES;

输出:

MySQL数据库_第2张图片

3. SHOW也可以用来显示表列:

输入:SHOW COLUMNS FROM customers;

 输出:

MySQL数据库_第3张图片

分析:SHOW COLUMNS 要求给出一个表名,对每个字段返回一行

快捷方式:describe DESCRIBE customers; = SHOW COLUMNS FROM customers;

4.其他支持SHOW的语句:

  • SHOW STATUS:用于显示广泛的服务器状态信息
  • SHOW CREATE DATABASE和SHOW CRREATE TABLE:分别用来显示创建特定数据库表或表的MySQL语句
  • SHOW GRANTS:用来显示授予用户(所有用户或特定用户)的安全权限

你可能感兴趣的:(MySQL,数据库,mysql)