什么是数据库?
数据库就是一个文件柜,里面存放着各种文件数据。
数据库的应用?
你在上网的时候可能没意识到,其实到处都会用到数据库。比如
你在登录知乎的时候,要输入用户名和密码才能登进去,那服务
器是怎么知道你输入的用户名和密码是正确的呢?当然是在背后
提取数据库里管理用户名和密码的表单,一核对,就能知道你输
入的对不对。再比如你去ATM机取钱,插入银行卡,输入密码的
时候,ATM机同样是根据数据库里的银行卡号和密码进行核对,
并且你还可以查询余额,余额同样是存放在数据库里的。
表
我们知道,数据库是存放文件的柜子,而在数据库中,我们用表的形式
来代替文件,即数据库是存放表的柜子。什么是表?Excel表格知道吧,
那个就是表。每一份表都会有表名。在同一个数据库里,表名是唯一的。
“在同一个数据库里,不能有2个同名的表”
列(字段)
表是由列组成的,一列就是一个属性。比如一份个人信息表,就会有姓名
列,年龄列,性别列,民族列。。。
姓名 | 年龄 | 性别 | 民族 | 手机号 |
---|---|---|---|---|
张三 | 20 | 男 | 汉 | 10000 |
李四 | 18 | 女 | 汉 | 10001 |
我们看一下表格的信息,有的填了文字,有的填的是数字,这就说明
每一列都有一个数据类型,比如姓名列、性别列、民族列都是文本类型
而年龄列是数值类型。这在创建表时要注明每一列的数据类型
行(记录)
表中每一项记录都是存储在行里的,比如上面的,关于张三的记录都在
第一行,关于李四的记录都在第二行。
主键
为了能精确地查找每一项记录,我们必须得给每一行找个唯一标识。这
个唯一标识我们叫作主键。比如上面的表格,我们可以用姓名列来作为
主键,按照姓名来查找。用’张三‘来代表张三那一行信息,用’李四‘
来代表李四那一行信息。但是问题来了,可能有同名同姓的情况存在,
如果有2个’张三‘,怎么能确定要找的是哪一个?我们说主键是为了
能精确地查找每一项记录。现在用一个姓名列好像出了点问题,很简单,
不是有手机列么,手机号总不能也一样吧?好,现在我们就用
’姓名列+手机号‘的列组来作为主键。用这个列组,就能唯一标识每一
行了。
通过上面的列子,我们总结一下主键的概念
- 主键可以用单个列或列组来定义
- 主键的用处就是能让你精确查找你要找的那一行
- 表中的任何列都可以作为主键,前提是主键值不要相同(比如上面的用姓名列作为主键的话,如果同名,那么主键值就相同了)