数据库:保存有组织的数据的容器。
基础知识(1-2章)
无法直接访问数据库,必须使用MySQL等数据库管理系统(DBMS)来创建与操纵数据库。
表:某种特定类型数据的结构化清单。(一种类型的数据)
相同数据库中不能两次使用相同的表名。
模式:关于数据库和表的布局及特性的信息。如可以存储什么样的数据、数据如何分解、各部分信息如何命名等,描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库(和其中的表的关系)。
列:表中的一个字段。所有表都是由一个或多个列组成的。
行:表中的一个记录。表中的数据按行存储,所保存的每个记录存储在自己的行内。
主键:一列或一组列,其值能够唯一区分表中每个行。
- 任意两行都不具有相同的主键值
- 每个行都必须具有一个主键值(不允许NULL值)
好习惯:
- 不更新主键列中的值
- 不重用主键列的值
- 不在主键列中使用可能会更改的值
SQL:结构化查询语言,一种专门用来与数据库通信的语言
不是某个特定数据库的专利语言,任意两个DBMS实现的SQL都不完全相同。
DBMS分两类:
- 基于共享文件系统的DBMS,用于桌面用途,通常不用于高端或更关键的应用。(如Microsoft Access和FileMaker)
- 基于客户机-服务器的DBMS,服务器部分负责所有数据的访问和处理,运行在数据库服务器上,与数据打交道的只有服务器软件,客户机是与用户打交道的软件。(如MySQL、Oracle、Microsoft SQL Server等)
客户机与服务器软件可以安装在一台或者多台计算机上,用户不能直接访问数据文件。
数据类型(附录D)
数据类型:一个列中所容许的数据的类型。
- 每个表列都有相应的数据类型,它限制该列中存储的数据。
- 数据类型允许在内部更有效地存储数据。如可以用一种比文本串更简洁的格式存储数值和日期时间值。
- 数据类型允许变换排序顺序。如1、10、2作为串处理和作为数值处理排序不同。
串数据类型
定长串:接受固定长度的字符串,长度在创建表时指定。如CHAR
变长串:存储可变长度的文本。如TEXT
变长串更灵活,但处理时间长且不可被索引;定长串处理速度快且可被索引。
串必须括在引号内,最好是单引号。
数值数据类型
使用UNSIGNED关键字后只能存储正数,取值范围翻倍。
数值不应该括在引号内。
MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8,2)。
日期与时间数据类型
二进制数据类型
二进制数据类型可以存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。
MySQL必知必会中使用的数据库
1 | ######################## |
1 | ########################## |
图形化效果:
customers表:
orderitems表:
orders表:
productnotes表:
vendors表:
products表: