MySQL 零基础教程

MySQL world 示例数据库

world 示例数据库是 MySQL 中预装的一个数据库,它提供了一套结构化的数据,专门用于练习和学习。它模拟了关于国家、城市和国家语言的数据,是理解关系型数据库概念和练习 SQL 查询的绝佳资源,让你无需从头开始手动创建数据。这个数据库是许多 MySQL 教程和示例的通用基础,让你能将注意力集中在 SQL 语言本身,而不是数据的录入上。

1. 理解 world 数据库的模式 (Schema)

world 数据库由三个表组成:City(城市)、Country(国家)和 CountryLanguage(国家语言)。每个表都存储特定的信息,并通过共同的列(即外键,我们将在后面的模块中详细探讨)相互关联。目前,只需了解每个表的基本结构和用途即可。

1.1 Country(国家)表

Country 表保存了世界各个国家的信息。它包含的细节诸如国家代码、名称、大洲、地区、表面积、独立年份、人口、预期寿命、政府形式、国家元首以及首都城市的 ID。这个表是国家特定数据的核心。

Country 表中的列示例:

列名 (Column Name)数据类型 (Data Type)描述 (Description)
CodeCHAR(3)唯一的三字母国家代码(主键 Primary Key)
NameCHAR(52)国家的全球全称
ContinentENUM(...)国家所在的大洲
RegionCHAR(26)国家的地理区域
SurfaceAreaDECIMAL(10,2)总表面积(平方公里)
IndepYearSMALLINT独立年份
PopulationINT总人口
LifeExpectancyDECIMAL(3,1)平均预期寿命
GNPDECIMAL(10,2)国民生产总值
GovernmentFormCHAR(45)政府形式
HeadOfStateCHAR(60)国家元首姓名
CapitalINT首都城市的 ID(指向 City 表的外键)

1.2 City(城市)表

City 表存储有关城市的信息。每条城市记录都包含一个 ID、名称、国家代码、所在地区(如省/州)以及人口。这个表通过 CountryCode 列与 Country 表链接起来。

City 表中的列示例:

列名 (Column Name)数据类型 (Data Type)描述 (Description)
IDINT城市的唯一标识符(主键 Primary Key)
NameCHAR(35)城市名称
CountryCodeCHAR(3)三字母国家代码(指向 Country 表的外键)
DistrictCHAR(20)城市所属的地区或省份
PopulationINT城市总人口

1.3 CountryLanguage(国家语言)表

CountryLanguage 表存储了每个国家所使用语言的信息。它将国家与语言链接起来,并且还包含一个 IsOfficial 标志(指示该语言是否为官方语言)和一个 Percentage 列(代表该国人口中讲该语言的百分比)。

CountryLanguage 表中的列示例:

列名 (Column Name)数据类型 (Data Type)描述 (Description)
CountryCodeCHAR(3)三字母国家代码(指向 Country 表的外键)
LanguageCHAR(30)语言名称
IsOfficialENUM('T','F')如果是官方语言则为 'T',否则为 'F'
PercentageDECIMAL(4,1)讲该语言的人口百分比

2. 在 MySQL Workbench 中访问 world 数据库

一旦你使用 Workbench 连接到了你的 MySQL 服务器(如前一章所述),你就可以访问 world 数据库了。它应该会出现在 Workbench 界面左侧的 SCHEMAS 面板中。

  1. 找到 world 模式 (Schema): 在 SCHEMAS 面板中,你会看到可用数据库(模式)的列表。world 数据库应该就列在其中。
  2. 展开 world 模式: 点击 world 旁边的小箭头将其展开。你会看到 Tables(表)、Views(视图)、Stored Procedures(存储过程)和 Functions(函数)等子文件夹。
  3. 探索 Tables(表): 展开 Tables 文件夹。你会找到 citycountrycountrylanguage。点击这些表名中的任何一个,它的列结构和其他属性就会显示在下方的 Object Info(对象信息)面板中。

3. 实战演示

为了演示,我们将执行一个基础查询来查看 Country 表的前几行数据。这是对 SELECT 语句的一个预览,我们将在未来的模块中详细讲解 SELECT。这里的目标仅仅是观察一下数据长什么样。

USE world; -- 这个命令告诉 MySQL 你想操作哪个数据库。
           -- 每个会话或切换数据库时只需运行一次。

SELECT * -- '*' 的意思是“选择所有列”。
FROM Country -- 指定你想从中检索数据的表。
LIMIT 5;   -- 将输出结果限制为前 5 行。
           -- 这对于快速预览大型表非常有用。

当你在 MySQL Workbench 中执行这个查询时(将它输入到 SQL 编辑器中,然后点击闪电图标或按下 Ctrl+Shift+Enter),你会看到 Country 表中前五行的数据。这证实了你已成功访问 world 数据库,并允许你直观地检查其内容。