前言
本文章开启了一个MySQL
数据库的专栏,专门用来记录数据库的学习过程,以及一些操作的演示过程;若同我一样正在学习MySQL
数据库的,并且对着方面也有一些兴趣和想法的,可以关注下,一起学习、一起进步。
文中一些概念会引用到《MySQL必知必会》
这本书里面的知识,因为这本书对初学者来说是比较友好的,作为初学MySQL
还是很不错的。
一. 了解数据库
1.1 数据库基础
其实在日常生活中,我们无时无刻都会对数据进行交互,例如去淘宝购物,在百度搜索信息、在微信与人互动聊天,这都是在使用数据库的过程;虽然说我们无时无刻都在使用着数据库,但不清楚数据库它是一个什么样的技术,或者不知道它是干什么用的,那么为此就需要对数据库做出解答,它究竟是什么,可以用来做什么。
1.1.1 什么是数据库
数据库是一个以某种有组织的方式存储的数据集合,理解数据库最简单的方式是可以将它想像成一个文件柜,这个文件柜是一个存放数据的地方,不管这个数据是什么以及如何组织的。
数据库(database):保存有组织的数据的容器。
注意:通常我们常说的MySQL数据库,它的全称是DBMS(数据库管理系统),可以用来创建和管理数据库,数据库可以说是保存在设备上的文件,因此我们在使用数据库管理系统时,就可对管理系统下的数据库进行查看,访问等一系列的操作。
1.1.2 什么是表
我们存放一件衣服,不会直接塞进柜子中,一般都是整理好之后放到某一个格子中。存放文件也是放入文件柜中,整整齐齐便于管理。
在数据库领域中,文件被称为表。表是一种结构化的文件,用于特定类型的数据。 表可以存人员信息,商品信息,清单等一些梳理好的信息。
表(table):某种特定类型数据的结构化清单。
注意:存储在表中的数据是一种类型的数据或者可以说是一个清单,建议一种类型创建一个数据库表;若都将不同类型的内容写入到一个表中,回头查看起来十分不便利,也看不出来表中记录的是什么信息。
表名:每个表都会有一个名称,这个名称是唯一的,在一个数据库中不能存在两个相同的表名,当然若是在不同的数据库,则可以使用相同的表名。
1.1.3 列与数据类型
理解列的最好方式是将数据库表想象成Excel,相信大家都有接触过Excel表格,每一列的开头都有一个字段信息,这个字段信息可以是id、姓名、城市、地址、邮政编码等信息。正确地将数据分解成多个列极为重要,同时也方便后续对特定的列进行查找,或者排序信息。
列(column):表中的一个字段。所有表都是由一个或多个列组成的。
数据库中每个列都有相应的数据类型,数据类型定义列可以存储的数据种类,这个数据类型可以是数字,也可以是字符串的文字,文本,字符等信息。
数据类型(datatype):所容许的数据的类型,每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
1.1.4 什么是行
表中的数据按行存储的,所保存的每个记录存储在自己的行内,想象成是Excel表格,水平行的为表行。
行(row):表中的一个记录
1.1.5 什么是主键
表中每一行都应该有可以唯一标识自己的一列(一组列)。一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用雇员ID。
主键(primary key):一列(一组列),其值能够唯一区分表中的每个行。
唯一标识表中每行的这个列(这组列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。
如何来定义主键
虽然并不是都需要主键,但大多数数据库涉及人员都应保证他们创建的每一个表具有一个主键,以便于以后的数据操纵和管理。
表中的任何列都可以作为主键,只要能满足以下条件:
- 任意两行都不具有相同的主键值;
- 每个行都必须具有一个主键值(主键列不允许NULL值)
主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上述天剑必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。
主键最好的习惯:
不更新主键列中的值
不重用主键列的值
不在主键列中使用可能会更改的值
1.2 什么是SQL
SQL
(Structured Query Language)是一种专门用来与数据库通信的语言。SQL
与其他语言(java
)不一样,SQL由很少的词构成,这是有意而为。设计SQL
的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法。
1.2.1 SQL的优点
- SQL不是某个特定数据库供应商专用的语言。几乎都有DBMS都支持SQL。所以学习SQL语言几乎能与所有的数据库打交道。
- SQL简单易学。它的语句全都是由描述性很强的英语单词组成,而且单词并不会太多。
- SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
总结
关键词 | 含义 |
---|---|
数据库(database) | 保存有组织的数据的容器 |
表(table) | 某种特定类型数据的结构化清单 |
列(column) | 表中的一个字段。所有表都是由一个或多个列组成的。 |
数据类型(datatype) | 每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。 |
行(row) | 表中的一个记录 |
主键(primary key) | 一列(一组列),其值能够唯一区分表中的每个行。 |
以上这些就是文章的全部内容了,了解这些概念对后面的学习很有帮助,主要的内容是数据库的基础知识,以及SQL的介绍和优点。