# mysql产品结构及概念

在上一章中我们对mysql的使用模式基本有了一个概念,这一章我们将站在使用者的角度对mysql整个运行流程进行梳理,只有对整个流程有个大概的梳理才能对进行接下来的学习。

# 客户端和服务端的产品结构

mysql执行模式 mysql客户端通过网络链接向服务端发送sql命令,对数据库中的数据和数据库结构物进行各种操作。

# 数据容器基本概念

  • 服务器:本质就是一台电脑
  • 数据库实例: 一台服务器中可以部署多个数据库实例, 作为初学者可以理解为一个客户端可以链接的对象,一般对外暴露一个服务地址+端口,在前面我们搭建sql学习环境-mysql中安装的数据库就是安装的一个实例
  • 数据库: 一个数据库实例可以创建多个数据库,一个数据库可以简单理解成多个表的集合
  • 数据表: 一类具有相同属性的数据存放的逻辑对象,和现实生活中的表格类型一样,有多列,每一行代表一条数据。比如人都有姓名年龄等属性,可以定义一个人的表来保存这些属性信息,列的名称就是年龄、姓名等,每一行就代表一个人的数据
  • 数据字段: 表格中的列,每列的数据数据类型是一样的的

# sql命令的种类

英文缩写 命令类型 作用
DDL 数据定义语言 数据容器结构(数据库、数据表)操作
DCL 数据控制语言 数据访问权限控制
DML 数据操作语言 数据的增删查改
TCL 事务控制语言 数据事务性操作

# 数据库中一些基础常识

  • sql查询中 * 代表所有字段, selelct * from user代表查询user表的所有字段
  • sql语句中的字符是不区分大小写的,也就是selelct * from user和SELECT * FROM USER 本质上是一样的,但是引号中的数据是区分大小写的
  • 字段名、表名、数据库名字可以用好包裹,非关键字时有没有是一样的
  • sql中字符串类型数据需要使用""或者''包裹,数字类型数据则可以不包裹直接使用