第一章 了解SQL
1.1 数据库
数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。数据库通过数据库应用软件(DBMS)创建和操纵容器。
1.2 表与模式
表:某种特定类型数据的结构化清单。存储在表中的是一种类型的数据或一个清单。数据库中每个表都有一个名字,用来标识自己。
模式: 关于数据库和表的布局及特征信息。
1.3 列和数据类型
列: 表中的一个字段。所有表都是由一个或多个列组成的。
数据类型:所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
1.4 行
行:表中的一个记录
1.5 主键
主键:一列(或一组列),其值能够唯一区分表中每个行。虽然并不总是需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。
1.6 SQL
SQL是结构化查询语言(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。
本系列文章介绍的SQL语言是专门针对MySQL的,并不完全具备移植性。
第二章 MySQL简介
2.1 什么是MySQL
MySQL是一种DBMS,是一种数据库软件。
DBMS可以分为两类:
一类为基于共享文件系统的DBMS,以 Microsoft Acess和FileMaker为代表,通常不用于高端或关键应用。
另一类为基于客户机-服务器模式DBMS,以MySQL、Oracle,Microsoft SQLServer为代表。服务器部分负责与数据访问和处理,客户机则负责与用户打交道。
2.2 MySQL Administrator
MySQL Administrator(MySQL 管理机)是一个图形交互客户机,用来简化MySQL 服务器的管理。
2.3 MySQL Query Browser
MySQL Query Browser也是一个图形交互客户机,用来编写和执行MySQL 命令。
第三章 使用MySQL
3.1 连接
与所有客户机-服务器DBMS一样,MySQL 要求在执行命令之前登录到DBMS。MySQL 内部保存自己用户列表,并把每个用户与各种权限关联起来。
3.2 选择数据库
在最初链接到MySQL时,没有任何数据库打开供你使用。执行数据库操作齐纳,需要选择一个数据库,可使用USE
关键字。
- 输入: USE crashcourse;
- 输出:Database changed
- 分析: USE并不返回任何结果。依赖于使用的客户机,显示某种形式的通知。
3.3 选了解数据库和表
数据库、表、列、用户、权限等信息存储在数据库和表中。内部的表一般不直接访问。可以使用SHOW命令来显示这些信息。
- 输入:
SHOW DATABASE;
- 输出:略
- 分析:
SHOW DATABASE
返回可用数据库的列表。
- 输入:
SHOW TABLES;
- 输出:略
- 分析:
SHOW TABLES
返回当前选择的数据库内可用表的列表。
- 输入 :
SHOW COLUMNS FROM customers;
- 输出:略
- 分析:
SHOW COLUMNS
要求给出一个表名,它对应每个字段返回一行,行中包含字段名。数据类型,是否允许NULL、键信息、默认值、自动增量以及其他信息(例如cust_id)。
-
DESCRIBE
语句是MySQL支持的,作为SHOW COLUMNS FROM
的一种快捷方式。DESCRIBE customers; 与 SHOW COLUMNS FROM customers; 相同。 -
SHOW STATUS
用于显示广泛服务器状态 -
SHOW CRETE DATABASE
和SHOW CREATE TABLE
分别显示创建特定数据库或表的MySQL语句 -
SHOW GRANTS
用于显示授予用户 -
SHOW ERRORS
和SHOW WARNINGS
用来显示服务器错误和警告消息。 -
INFORMATION_SCHEMA
用来获取过滤模式信息