夜色如墨,月凉如水,一轮皎洁的圆月高高地挂在夜空之上,平日里鼾声如雷的室友今夜也停止了打鼾,如此静谧的夜晚,李有为却辗转难眠。
时间悄然来到凌晨一点半,他已经在窗边站了53分钟23秒,现在他脑海里全是大爷的一言一行、一举一动,一颦一笑,这些仿佛就像一部经典电影值得他翻来覆去细细品味。
什么是数据库管理系统,什么是数据库,什么是表,什么是列,什么是行,大爷今天讲的这一系列话,现在他依然历历在目。
”数据库就是存放数据的仓库。“大爷的解释很直白,对李有为来讲也和浅显易懂,校长的办公室里有许多文件柜,这一个个文件柜其实就能算的上是一个个数据库。
每个数据库都有一个名字,比如学校数据库,学生数据库,教师数据库,且是唯一的
校长的文件柜里有许许多多的文件,这些不同的文件按照某种种类划分,记录着不同的信息,其中有学生的信息,老师的信息,学院专业相关资料,记录学生信息的文件可以看做是学生表,记录老师信息的文件可以看做老师信息表,对文件柜这个数据库来说,这些文件就是表.
每张表同样也有一个名字,比如学生表,老师表,专业表,且名字是唯一的
表是由列组成的,所有表都由一个列或多个列组成,每一列存储着一条特定的信息(也可以称之为属性)。例如一个学生表,可能记载了学生的学校,姓名,性别,年龄等,这些分别记录在各自的列上。
一个表是由许多行数据组成,例如学生表里,每一行数据其实对应了一个学生的信息。
为此大爷特地举了个例子,形象生动的说明了数据表里面的行和列。
学号 | 姓名 | 性别 | 年龄 | 爱好 |
---|---|---|---|---|
1404110004 | 寻欢 | 男 | 21 | 美女 |
1404110005 | 留香 | 男 | 22 | 美女 |
1404110006 | 中棠 | 男 | 23 | 美女 |
1404110007 | 中棠 | 男 | 23 | 美女 |
上面这个表格就可以看做是一个简单的数据表,它一共有5列,分别记录了学号、姓名、性别、年龄、爱好这五种属性。一共有五行,分别记录了学号1404110004这五位不同学号学生的信息。
一个表的每一行数据都应该有唯一标识以此来区分和其他行,例如上面的学生表,如果没有学号这个唯一标识,那么06号和07号的中棠同学各方面的信息都是一样的,就很容易学校方被搞混。
因此,主键就是在一个数据表里,能够用一列或者多列组合的,能够唯一标识表中每一行数据的数据。
主键的优点:方便数据操纵和管理
例如:如果以后老师使用教务系统修改中棠同学的成绩,如果没有主键区分两个中棠同学的却别,那么老实怎么知道修改哪一个中棠同学的成绩。
现在,大部分人都直接称MySQL、SQLserver为“数据库”,这其实是错误的叫法,MySQL、SQLserver这些严格意义上叫做数据库管理系统(Database Management System)它们是操作和管理数据库的管理系统,它们在帮助我们访问数据库。
为此,大爷同样举了个形象生动的例子,校长办公室的文件柜是数据库,文件库里的文件是数据表,那么管理这些文件柜、文件的人就是数据库管理系统(DBMS)
SQL——结构化查询语言(Structured Query Language),是一门专门用来与数据库沟通的语言。
用句最直白的话来说,要想和数据库打交道,就必须懂SQL,因为数据库只听得懂这种话。
SQL简单易学,功能强大,学完之后几乎以与所有的数据库打交道,可谓是一劳永逸,最关键的一点是,SQL诞生已经几十年来,他的基本语法基本上从来没有变过,而且现在大数据领域的HQL,spark sql相关的查询,依然沿用的SQL的基本语法。
万里长城永不倒,学习SQL相当好。
SQL语句是有许多简单的英语单词组成,这些单词称作为“关键词”,例如select、insert、update、delete、alter、create、drop等等,但从使用评率来讲,select是这些关键词中使用评率最高的(后端工程师会用到增删改查,DBA机会都会用到,但是一般的数据从业工作者就只会和select打交道。)
select(选择、选取)顾名思义,就是从一个或多个表中查询数据。
其最基本结构为 select 列名 from 库名.表名
这句话的意思就是:
从某个数据库的某个表里面选择、选取某些列相关的数据
(注:如果已经打开了某个数据库,则可以直接省略库名如果列名写作“*”,则表示查询所有的列名)
select * from test.human_base_info limit 10
现在我们在回过头来,看这句SQL的意思,这句SQL表示,从test数据库下的human_base_info表中查询所有列的信息并且只展示10条记录。
"*"是通配符,表示选择数据表里的所有字段
limit 是另外一个关键词,表示限制查询结果的条数。
limit 10 限制结果为10条,limit 100 限制结果为100条
如果不对结果做限制,则会把表中所有的结果全部展示。数据量一多立刻拉闸。