数据库基础(一)SQL浅知
数据库基础(二)数据查询
数据库作为计算机专业学生绕不过去的一关,对于后期的项目开发过程意义重大,熟悉基本的数据库操作更是学习和工作的基础。本系列文章会尽可能的展示大学生所需要掌握的内容。
数据库定义: 保存有组织的数据的容器(可以是一个或一堆文件)
易混淆点:
数据库(DataBase, 简写为DB):数据库的概念其实还是比较抽象的,但我们可以把它理解为存储数据的一种集合,一种以某种方式进行存储数据的集合。单纯来讲,数据库究竟是一份文件还是别的什么并不重要。
数据库管理系统(DataBase Management System,DBMS):上面我之所以说了数据库究竟是什么并不重要,原因就在于我们通常根据数据库管理系统进行数据库的访问,而不是自己打开一个数据库,进行事务处理。
要注意数据和数据库管理系统的差别,这是两个完全不同的东西。
表定义:某种特殊类型数据的结构化清单
表在数据库领域中,是比较重要的概念。
那么什么是表呢?结合我们的实际情况,假设你现在新建了一个excel文档,并且现在我们规定每个excel文件中只能有一页sheet,当我们现在要统计全班同学的基本信息,比如学号、姓名、身份证号、家庭住址、联系方式时,常见的操作就是把第一行作为表头,如何每一列都记录不同人的相同数据,每一行都记录一个人的完整信息。比如这样:
学号 | 姓名 | 身份证号 | 家庭住址 | 联系方式 |
---|---|---|---|---|
2020xxxx | 孙行者 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
2020xxxx | 者行孙 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
2020xxxx | 行者孙 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
这个excel就可以视为是一张表。假定学号、身份证号使用整数类型进行存储,其余使用字符串类型存储,那么第一列和第三列就都是整型,其余为字符串型,虽然每行的数据都不相同,但数据类型是一样的,整个表就有了意义。
列定义:表中的一个字段,所有的表都是由一个或多个列组成的
与上面的excel理解过程相似,但需要注意的是,每一列都需要定义这一列的数据类型,MySQL数据库中常用的数据类型有整型、浮点型、文本型、布尔型、日期型等。
每一列的类型都是一致的,但不同列之间的类型可以不同。
行定义:表中的一个记录
与前文提到的例子相似,每个人都有很多信息,但每个人的信息都只能填在一行里,行数代表着人数。
主键定义:能够唯一区分表中每一行的一列(或一组列)
比如回到上面的这张表:
学号 | 姓名 | 身份证号 | 家庭住址 | 联系方式 |
---|---|---|---|---|
2020xxxx | 孙行者 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
2020xxxx | 者行孙 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
2020xxxx | 行者孙 | 33xxxxxxxxxxxxxxxx | 花果山 | 1xxxxxxxxxx |
在我们的实际生活中,我们每个人的身份证号是实际唯一的,并且不会有重复的身份证号,那么这个身份证号就可以被视为我们的信息表中的主键,通过身份证号我们能够确定一个人的姓名、出生日期、户籍所在地、性别等各类信息
结合上面的表,在学校里,我们每个人的学号都是唯一且不会重复的,所以学号也可以作为我们在学校时学生信息表的主键,通过学号我们可以确定学生的姓名、班级、专业等各类信息。
主键的重要性:
设为主键的条件
当然,对于一些数据量比较大或者比较特殊的情况,我们可能很难通过一列来确定主键,此时我们可以通过同时设置几列作为主键,相同列不同行的值可以相同,但几列的主键值组合必须唯一
建议:
- 不要更新主键列中的值
- 不要重用主键列的值
- 不要使用列值会变化的列作为主键本身
SQL,结构化查询语句(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。
如果你学过一些编程语言,比如C、Java、Python等,你会发现SQL语言与其它语言相比简单很多,只需要记住一些词就行。SQL有很多优点:
- SQL能够支持几乎所有的数据库管理系统(不同数据库之间可能存在差别)
- 很容易上手
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
RDBMS的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
略,但具体安装教程可以参考:
mysql8.0.25安装配置教程(windows 64位)最详细
如果你没有安装任何可视化软件,那么你的操作界面应该是这样的:
这就是最原始的控制台界面。所以为了方便操作,我们往往会使用一些可视化软件,比较常用的有DBeaver、DataGrip、Navicat等,如果需要后两者的激活版,可以点击下方的公众号二维码关注后后台发送“数据库”即可获得相关下载链接。
当然,MySQL安装优势可能会出现各种各样的问题,所以如果实在安装不了的话,可以安装mariadb代替,两者基本没有差别,关注公众号后回复“mariadb”即可获取安装程序。