【学习01】数据库基础及MySQL简介

了解数据库和SQL,它们是学习MySQL的先决条件

一、数据库基础

1.1、数据库基础

  每当你从自 己的电子邮件地址簿里查找名字时,你就在使用数据库。如果你在某个 因特网搜索站点上进行搜索,也是在使用数据库。如果你在工作中登录 网络,也需要依靠数据库验证自己的名字和密码。即使是在自动取款机 上使用ATM卡,也要利用数据库进行PIN码验证和余额检查。

1.1.1、什么是数据库

  数据库是一个以某种有组织的方式存储的数据集合。理解数据库的一种最简单的办法是将其 想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是 什么以及如何组织的。
定义:
  数据库(database): 保存有组织的数据的容器(通常是一个文件或一组文件)。

  误用导致混淆: 人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切 地说,数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备 上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据 库;你使用的是DBMS,它替你访问数据库

1.1.2、表

  在你将资料放入自己的文件柜时,并不是随便将它们扔进某个抽屉就完 事了,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。
  在数据库领域中,这种文件称为表。表是一种结构化的文件,可用 来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其 他信息清单。
定义:
  表(table): 某种特定类型数据的结构化清单。
  这里关键的一点在于,存储在表中的数据是一种类型的数据或一个 清单。决不应该将顾客的清单与订单的清单存储在同一个数据库表中。这 样做将使以后的检索和访问很困难。应该创建两个表,每个清单一个表。
  数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的, 这表示数据库中没有其他表具有相同的名字。
  表具有一些特性,这些特性定义了数据在表中如何存储,如可以存 储什么样的数据,数据如何分解,各部分信息如何命名,等等。描述表 的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及 整个数据库(和其中表的关系)。
定义:
  模式(schema): 关于数据库和表的布局及特性的信息。

1.1.3 、列和数据类型

表由列组成。列中存储着表中某部分的信息。
定义:
  列(column): 表中的一个字段。所有表都是由一个或多个列组 成的。
  理解列的最好办法是将数据库表想象为一个网格。网格中每一列存 储着一条特定的信息。例如,在顾客表中,一个列存储着顾客编号,另 一个列存储着顾客名,而地址、城市、州以及邮政编码全都存储在各自 的列中。
定义:
  数据类型(datatype): 所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
  数据类型限制可存储在列中的数据种类(例如,防止在数值字段中 录入字符值)。数据类型还帮助正确地排序数据,并在优化磁盘使用方面 起重要的作用。因此,在创建表时必须对数据类型给予特别的关注。

1.1.4、行

  表中的数据是按行存储的,所保存的每个记录存储在自己的行内。 如果将表想象为网格,网格中垂直的列为表列,水平行为表行。例如,顾客表可以每行存储一个顾客。表中的行数为记录的总数。
定义:
  行(row): 表中的一个记录。

1.1.5、主键

  表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾 客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用 雇员ID或雇员社会保险号。
定义:
  主键(primary key): 一列(或一组列),其值能够唯一区分表 中每个行。
  唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示 一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安 全的方法保证只涉及相关的行。
主键满足以下条件:

  • 任意两行都不具有相同的主键值;
  • 每个行都必须具有一个主键值(主键列不允许NULL值) 。

  主键通常定义在表的一列上,但这并不是必需的,也可以一起使用 多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主 键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

主键的最好习惯: 除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:
 不更新主键列中的值;
 不重用主键列的值;
不在主键列中使用可能会更改的值。(例如,如果使用一个 名字作为主键以标识某个供应商,当该供应商合并和更改其 名字时,必须更改这个主键。)

1.2、什么是SQL

  SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。
  与其他语言(如,英语以及Java和Visual Basic这样的程序设计语言) 不一样,SQL由很少的词构成,这是有意而为的。设计SQL的目的是很好 地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法。
SQL有如下的优点。

扫描二维码关注公众号,回复: 11324711 查看本文章
  • SQL不是某个特定数据库供应商专有的语言。几乎所有重要的 DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库 打交道。
  • SQL简单易学。它的语句全都是由描述性很强的英语单词组成, 而且这些单词的数目不多。
  • SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活 使用其语言元素,可以进行非常复杂和高级的数据库操作。

1.3、动手实践

所用的sql脚本 下载

二、MySQL简介

2.1、什么是MySQL

  数据的所有存储、 检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统) 完成的。MySQL是一种DBMS,即它是一种数据库软件。
  MySQL已经存在很久了,它在世界范围内得到了广泛的安装和使用。 为什么有那么多的公司和开发人员使用MySQL?以下列出其原因。

  • 成本——MySQL是开放源代码的,一般可以免费使用(甚至可以 免费修改)。
  • 性能——MySQL执行很快(非常快)。
  • 可信赖——某些非常重要和声望很高的公司、站点使用MySQL, 这些公司和站点都用MySQL来处理自己的重要数据。
  • 简单——MySQL很容易安装和使用。

  事实上,MySQL受到的唯一真正的批评是它并不总是支持其他 DBMS提供的功能和特性。然而,这一点也正在逐步得到改善,MySQL 的各个新版本正不断增加新特性、新功能。

2.1.1、客户机-服务器软件

  DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基 于客户机—服务器的DBMS。前者(包括诸如Microsoft Access和FileMaker)用于桌面用途,通常不用于高端或更关键的应用。
  MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服 务器的数据库。客户机—服务器应用分为两个不同的部分。服务器部分是 负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务 器的计算机上。
  与数据文件打交道的只有服务器软件。关于数据、数据添加、删除 和数据更新的所有请求都由服务器软件完成。这些请求或更改来自运行 客户机软件的计算机。客户机是与用户打交道的软件。例如,如果你请 求一个按字母顺序列出的产品表,则客户机软件通过网络提交该请求给 服务器软件。服务器软件处理这个请求,根据需要过滤、丢弃和排序数 据;然后把结果送回到你的客户机软件。
  所有这些活动对用户都是透明的。数据存储在别的地方,或者数据 库服务器为你完成这个处理这一事实是隐藏的。你不需要直接访问数据 文件。事实上,多数网络的建立使用户不具有对数据的访问权,甚至不 具有对存储数据的驱动器的访问权。
  这样的意义何在?因为为了使用MySQL,你需要访问运行MySQL服 务器软件的计算机和发布命令到MySQL的客户机软件的计算机。

  • 服务器软件为MySQL DBMS。你可以在本地安装的副本上运行, 也可以连接到运行在你具有访问权的远程服务器上的一个副本。
  • 客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用 开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如 C、C++、Java)等。

2.2、MySQL工具

  如前所述,MySQL是一个客户机—服务器DBMS,因此,为了使用 MySQL,需要有一个客户机,即你需要用来与MySQL打交道(给MySQL 提供要执行的命令)的一个应用。
  有许多客户机应用可供选择,但在学习MySQL(确切地说,在编写 和测试MySQL脚本时),最好是使用专门用途的实用程序。特别是有3个 工具需要提及。

猜你喜欢

转载自blog.csdn.net/weixin_43800761/article/details/102895535
今日推荐