MySQL入门 概念篇
**
什么是数据库(database)?
数据库是一个以某种有组织的的方式存储的数据集合,是一个存放数据的物理位置
注意:数据库不是平常使用的数据库软件,数据库软件应称为DBMS(数据库管理系统),数据库是通过DBMS创建和操作的容器。
什么是表(table)?
表是一种结构化的文件,可用来存储某种特定类型的数据,即某种特定类型数据的结构化清单,如:顾客清单,成绩表等
每个表都有一个名字用来标识自己,并且这个名字是唯一的,所以一个数据库中不能两次使用相同的表名
模式(schema)
指关于数据库和表的布局及特性的信息,模式的具体概念可以参考这篇博客: 数据库中模式的意义.
列(column)
指表中的一个字段,所有的表都是由一个或多个列组成。可以将数据库表想象成一个网格,网格的每一列存储着特定的信息,如:人员表中,人员姓名列存储的都是姓名这一特定数据
需要注意的是,在建表时,正确的将数据分解为多个列极为重要,例如一张记录全国城市的表,县、市、省需要是独立的列,这样才能更好的对数据排序和过滤,如果将县和市数据存储在同一个列中,那么需要按市的名称对数据排序会很困难
数据类型(datatype)
即列可以存储的数据种类,每个列都有相应的数据类型,数据类型限制(或允许)该列存储的数据
如: 列中存储的数据为数字,那么相应的数据类型应该是数值型,并且能防止该列录入字符型数据
数据类型还可以帮助正确的排序数据,并且在优化磁盘方面起重要的作用,创建表时,对数据类型的给予及长度的定义应当严谨
行(row)
指表中的一条记录,如:人员表中,一行数据是一个人员的所有信息
主键(primary key)
指其值能够区分表中每个行的某个列,例如创建表时一般会为表加上id列,而id能够区分表中每个行,所以定义主键需要满足条件:1.值不重复 2.值不为空
除了以上定义主键的条件外,使用主键还应该有以下良好习惯:1.不更新主键的值 2.不在主键列中使用可能会更改的值
主键对数据操纵与管理提供了极大的便利,保证每个表都具有一个主键
什么是SQL
SQL即结构化查询语言(Structured Query Language)的缩写,SQL是一种专门用来与数据库通信的语言。
SQL不是某种数据库的专有语言,几乎所有的DBMS都支持SQL,所以,当你掌握了SQL的使用,几乎可以与所有的数据库打交道
最近在看《MySQL必知必会》这本书,强化一下自己对mysql的理解,顺便在这里做下笔记,希望能给想要学习mysql的同学提供一个参考,mysql的博客将会持续更新,直到我把这本书彻底理解透彻,有不足和错误欢迎在评论区补充。
**