现在处于大四上学期的阶段,在大四下学期即将要进行毕业设计,所以在毕业设计开始之前呢,先将Mysql 数据库有关知识进行了一个梳理,以防选题需要使用到数据库。
1)什么是数据库?
简单理解数据库,就是存储数据的一个东西。当然这样简单理解显然会产生偏差,所谓的Mysql数据库它确实是用来辅助存储数据的。思考一下我们平时上CSDN,看文章的时候,这些文章是怎么有序的显示并出现在我们的手机屏幕上的呢?
所有的文章数据都是被存储在距离我们很远的数据库上,而当我们在CSDN网站上点击某个文章的时候,某个神秘的软件就可以解析我们屏幕上的点击事件从而帮我们在数据库中找到对应得数据,并通过网络将对应数据传送至手机然后显示在屏幕上,而这个神秘的东西被称之为DBMS(资料库管理系统),所以其实是DBMS在后面帮我们完成了一系列的事情,它可以精确的从数据库中海量的数据精确、快速的为我们找到想要的数据,并通过网络快速传送到手机上。
明确一点:数据库和数据库管理系统(DBMS)连接在一起,通过DBMS我们可以很好的操作数据库,可以帮助我们快速准确,高效率的管理数据库中的数据。
实际上DBMS这个软件非常的多,就像聊天软件一样也有很多种。导致其DBMS很多的原因是因为数据库本身有区别导致其设计的数据库管理系统也多种多样。
1.1 数据库管理系统的分类
SQL关系型数据库管理系统(RDBMS):以关系模型为基础,使用表格来组织和管理数据,如Oracle、MySQL、SQL Server等数据库管理系统都可以管理关系型数据库。
非关系型数据库管理系统(NoSQL DBMS):不使用关系模型,可以灵活地存储和检索数据,如MongoDB、Cassandra、Redis等可以管理非关系型数据库。
在实际使用当中,我们使用较多的都是RDBMS,这里以使用较多的MySQL为例进一步梳理。其中SQL是Structured Query Language。
2)Mysql的下载
mysql又是什么呢,在弄清楚mysq是什么之前,我们要首先清楚数据库管理系统是操作对应数据库的软件(APP),而我们想要使用数据库管理系统需要特定的语言来告诉系统该相应的指令,而操作数据库管理系统的语言被称之为SQL(Structured Query Language)。对于mysql来说,其mysql也是数据库管理系统中的一种,要进行使用mysql管理系统就要使用mysql听的懂得语言,即接下去得大部分时间都是在该语言的学习和使用上。
接下去使用mysql来学习sql。
进入官网
直接download
选择上面三个,然后进行下一步,然后直接就是一值下一步。
设置相应的密码就可以,当然需要牢记自己设置的密码,之后会用到。
下载好后,运行出来的界面如下所示
到这里先暂停,先进一步再了解一些知识,再开始敲代码学习mysql。
3)主键和外键
主键:
表格中每一列是一个属性,每一行代表一笔资料,对于这样一个表格,想要区分表格中的每一笔资料就需要主键来进行区分,例如上表中就可以将student_id作为主键(primary key),用于唯一标识表格中的每一笔资料。就比如学生表中,可能存在同一个专业有同名的人,那么想要区分他们的话就需要主键即学号来区分这两个不同的数据。主键:用于唯一标识每条记录(每一笔数据)的字段(属性)或字段(属性)组合。
外键:
员工表包含员工id,姓名,出生日期,性别,薪水,在最开始的员工表中本来没有员工所属部门的属性, 员工id(emp_id)作为主键;另外一张Branch表,其branch_id 是主键,含有一个属性branch_name。为了在员工表和Branch表之间建立联系,就可为员工表添加一个外键(foreign key), 这个外键同时又是Branch表的主键。
而对于外键来说,可以是来自于其他表格的主键,也可以是来自于自己表格的主键,如下图所示,其Branch表添加外键来自于员工表,标识出了每个部门 主管其员工id是多少;其员工表继续添加一个外键(sup_id)来自于自己表格的主键,其标识每个员工其直接所属的上司。
主键还可以是字段(属性)组合:
加入表格中的某个属性不能够直接额做为主键来唯一标识某个数据的话,可以选择多个属性组合起来作为一个主键来唯一标识每条记录。
4)创建数据库和删除数据库
接下去我们就要开始学习sql语言,而我们学习的是和mysql交互的语法。
点击图中connections下方已经自动连接好的一个,双击打开后如下图所示。 通过下图窗口1区域的按钮,点击就可以 改变布局变成下面的样子。
然后就可以书写一系列的指令代码进行表格的创建以及相关操作。但是在实际中我们并不常直接使用代码一句一句的运行创建(我是很少用,可能公司里是用的),使用navicat连接mysql手动通过一些交互式界面来进行数据库的创建。但是对于初学者来说应当从最基础的sql语法学起。
数据库的创建
数据库创建并显示该数据库,显示所有数据库,发现有五个数据库,其中sql_tutorial是我们刚刚新建的,其余四个是自动建立的数据库,我们使用不到。
数据库的删除
使用drop后就可以删除刚刚创建的数据库了,再次显示所有数据库后,其刚刚创建的sql_tutorial数据库被删除。
在数据库中创建表格
六种常用数据形态:
首先使用use选中sql_tutorial数据库,表示在该数据库中创建表格;创建student表格,student表格中拥有student_id属性,且该属性的值类型是INT 且该属性是该表格的主键,name属性,major属性 他们的属性值都是字符串类型,其预留20位字符串。
显示和删除表格
改动表格
将为表格添加gpa属性,且该属性值的类型是小数类型;删除表格中的gpa属性。
将数据存入表格
将1,小白,历史 存入学生表格。
并通过select * 将student中所有的数据都显示出来。
属性数据的限制
添加 not null 和 unique的限制后,当再次向student表格中添加数据的时候,name的值不可以为空,每条记录的major字段都需要不一样。
添加 default 历史 表示预设值为历史。
auto_increment 表示自增
修改和删除资料
我现在想修改student表格,所以先使用updata选中要修改的表格,set表示将major改成英语文学,增加条件判断,只有当major为英语的才将其改为英语文学。
我现在想将student表格中生物和化学合并,set表示将major改成生化,增加条件判断,只有当major为生物或者为化学的时候将其改为生化。
使用delete from选中要进行删除操作的表格,添加判断条件,当student_id为4的时候就删除该条记录,同样的在条件判断的时候也可以添加多个条件判断。
如何取得资料
select 写在select后面的属性就是要被选择出来的属性。全部都要就写*
想要排序
由高到低 加desc
limit 限制回传资料的条数
到此为止,数据库基本的基础知识已经完成了!!!!!