MySQL入门的一些基本概念。

1. 什么是数据库和SQL

数据库是一个以某种有组织的方式存储的数据集合,它通常用来作为保存有组织的数据的容器。

组织容器数据的方式主要通过来实现。

表是某种特定类型数据的结构化清单。关键点在于,存储在表中的数据是同一种类型的数据。数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的

表中包含,每一列都存储着相同数据类型的数据。例如,存储时指定该列存储整数,则该列相应的数据都应该是整数。行,也称为数据库记录,它实质上记录了一套完整的数据

前面提到的名字唯一性来源于主键。主键的值能唯一区分表中的每一行,比如上面的Emp_Id。表中的任意列都可以作为主键,条件是:

  • 任意两行具有不同的主键值
  • 每行都必须具有一个主键值,不允许出现NULL值

当然主键并不是限制于唯一的一列,可以多个列形成联合主键,此时条件就变为了:所有列值的组合必须唯一。下图所示,通过社区名称、楼层和户型联合确定某一住户。

社区名称 楼层 户型
天鑫小区 23 2
龙湾小区 16 3
龙湾小区 16 1

主键最好保证不变性,也就是说我们不应该更新主键值,也不要采用可能变更的值作为主键(比如某个供应商的名字,他们合并或收购时可能改名)。


SQL (Structured Query Language) 是一种专门用来与数据库通信的语言。SQL不是某一种特定数据库供应商的专用语言,几乎所有DBMS都支持SQL,但每家的SQL有些许差异。

2. 什么是MySQL

前面介绍的SQL只是一种语言,而实现的载体是数据库软件——DBMS(数据库管理系统)。而MySQL就是一种数据库软件。

DBMS通常分为两类:基于共享文件系统的DBMS和基于客户端-服务器的DBMS,我们通常使用后者。MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户端—服务器的数据库。客户端-服务器模式下,需要软件分别运行在客户端和服务器下。

如何使用数据库?

首先查看当前数据库有哪些。

show DATABASES;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+

然后选择一个

use test;

Database changed

查看数据库内的表:

show tables;

+----------------+
| Tables_in_test |
+----------------+
| customers      |
| orderitems     |
| orders         |
| productnotes   |
| products       |
| vendors        |
+----------------+
6 rows in set (0.24 sec)