MySQL数据库(一):初识数据库以及范式的理解

1、数据库的介绍

①定义:database,简称DB,实际上是一个文件集合,是一个储存数据的仓库,本质就是一个文件系统,MySQL数据库就是按照特定的格式把数据存储起来的仓库,用户可以对这些数据进行CURD(增删改查)
②分类:数据库分为关系型和非关系型,之前有写过redis和mongodb等非关系数据库的介绍和使用,也比较过关系与非关系型之间的区别以及数据库的发展史,详情点击mongodb的介绍redis的介绍
③优点:持久化存储、读写速度高、保证数据的有效性(不符合约束的数据存不进去)、对程序支持友好,易扩展

2、MySQL的安装

2.1前言

MySQL和redis一样都具有客户端和服务端,只有打开服务端,才能去连接客户端使用sql查询数据库,在公司中,公司服务器电脑会打开服务端,给你账号和密码你连接就好了,这里主要讲如何学习

2.2安装

①第一种是去官网下载MySQL安装百度一个教程学着装(卸载很麻烦,要去注册表删东西,安装也很麻烦,要添加很多包和环境,工作上一点都用不上,如果是初学者及其不推荐用这种方式安装)

②第二种安装phpstudy(一种集成开发环境,支持MySQL服务)使用的时候手动开启MySQL服务就好,phpstudy的安装包我放在评论区,像安装qq一样安装完毕后按照图片操作启动MySQL服务
在这里插入图片描述

2.3连接

前提:要开启MySQL服务才能连接客户端
使用图形界面管理工具连接数据库,SQLyog和Navicat随便下在我以sqlyog举例,点击文件点击新连接,输入127.0.0.1或者localhost(回返ip会返回本机地址),用户名和密码都是root,端口号是3306,点击连接
在这里插入图片描述
在这里插入图片描述

2.4操作数据库

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、SQL的介绍

3.1定义

SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,用来对数据库进行管理,当前的关系型数据库都支持使用SQL语句进行操作,也就是说可以通过SQL操作oracle、sqlserver、mysql等关系型数据库

3.2分类

DDL语句:数据定义语句,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象
DML语句:数据操纵语句,用于添加、删除、更新、和查询数据库记录,并检查数据完整性
DCL语句:数据控制语句,用于控制不同数据段直接许可和访问的级别的语句(数据库管理员给的权限)

3.3约束

主键primary key:物理上存储的顺序,唯一非空的字段
非空not null:此字段不允许填写空值
惟一unique:此字段的值不允许重复(身份证号,银行卡号等)唯一可以空的字段
默认default:当不填写此值时会使用默认值,如果填写时以填写为准
外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

3.4补充

数据完整性:在表中为了更加准确的存储数据,保证数据的正确有效,在创建表的时候,为表添加一些强制性验证(约束、类型)
数据类型:数值类型、日期时间类型、字符串类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、用DOS连接MySQL学习SQL语句

前言:要开启MySQL服务才能连接客户端(上面讲的都是用图形化界面操作MySQL,接下来进入主题学习)
①添加系统环境变量,将安装好的目录中的bin以及它自身添加到环境变量(要明白为什么这么做,我以前的文章有写)
在这里插入图片描述
②进入cmd输入mysql -u root -p然后他会让输入密码输入root即可连接成功,建议使用cmder这个软件(支持很多linux命令比如ls)用cmd也可以

在这里插入图片描述
DOS和图形化工具都操作的是同一个MySQL服务,所以他们是相通的,内容一致
在这里插入图片描述

③数据库层面上常用命令:(注意sql语句要以分号结束;它不严格区分大小写,只要命令没输错就可以出结果)
连接MySQL:mysql -u root -p root
退出数据库:exit或者quit
查看已经创建的数据库:show databases;
查看MySQL的版本:select version();
显示当前时间:select now();
创建数据库:create database `数据库名称` [可选参数指定字符集,‘utf8’可加引号也可不加];
查看创建数据库的命令:show create database `数据库名称` ;
查看数据库支持的引擎:show engines;
查看当前使用的数据库:select database();
切换想要使用的数据库:use `数据库名称` ;
删除数据库:drop database `数据库名称` ;
在这里插入图片描述

在这里插入图片描述
④数据库中的表层面常用的命令
创建表:create table 表面 (字段 类型 约束,[字段 类型 约束]);必须要指定数据类型才可以创建成功
查看有哪些表:show tables;
查看表的创建语句:show create table test01;
在这里插入图片描述
创建一个主键为id的非空自增表create table test01 (id int primary key not null auto_increment,name varchar(30));
可以去sqlyog验证表结构也可以通过命令查看:desc test01;

在这里插入图片描述

5、数据库范式

数据库常用的范式有123范式,但是一共有6种范式

5.1第一范式

属于第一范式关系的所有属性都不可再分,即数据项不可分。
在这里插入图片描述
在这里插入图片描述
由于会存在数据冗余过大、删除异常、插入异常、修改异常等问题,
所以就诞生了第二范式

5.2第二范式

第二范式是指每个表必须有一个(有且仅有一个)数据项作为关键字或主键(primary key),其他数据项与关键字或者主键一一对应,即其他数据项完全依赖于关键字或主键。

5.3第三范式

第三范式要求在满足第二范式的基础上,任何非主属性不依赖于其他非主属性,即在第二范式的基础上,消除了传递依赖。
在这里插入图片描述
必须得将选修相关得重新开一张表才可以满足第三范式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值