MYSQL数据库详解(1) -- 数据库概述

数据库 database(DB)

概念:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。

作用:存放、管理数据
分类

  • 关系型数据库:mysql、oracle、postgresql
  • NoSQL数据库:redis、mongoDB

为什么使用数据库:

1.数据的保存:大量程序产生的数据在程序运行时和程序结束运行后,数据应该怎么保存?

2.数据的读取:普通的文本文档在写数据时虽然方便,但是在读取数据时则比较麻烦,需要根据各种形式去做转化。怎么才能读取更方便?

3.数据的完整性:数据和数据之间的结构关系,数据和程序之间的依赖关系,如何能让这些关系持久维系?

4.数据的安全性:如何防止数据因为硬件故障、断电、死机、人为的误操作、程序缺陷、病毒或黑客等造成的丢失?

5.结构化:数据在数据库中的存储可以依靠二维表结构来逻辑的存储数据,可以参考数据原有的依赖关系和结构关系去存储数据。

6.独立性:存储在数据库的数据和应用程序之间相互独立, 互不影响。数据在磁盘上怎样存储由数据库管理而不依赖于应用程序,这样当数据的物理存储改变了,应用程序不用改变。

7.共享性:多个用户可以共同分享计算机数据库中的数据资源,同一数据可以同时被多人使用,从而实现了数据的高效共享性。

8.安全性:数据库在安全性的控制上也有很多措施,比如访问数据库时对用户的口令,用户的权限进行限制,再比如对数据的存储进行限制。

MySQL数据库的特点

  1. 开源免费,小巧但功能齐全
  2. 可在Windows和Linux系统上运行
  3. 操作方便,适用于中小型甚至大型网站应用
数据库结构

在这里插入图片描述

SQL语句分类

​ SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

在这里插入图片描述

DDL语句

在这里插入图片描述

数据库字段

1.字符串

在这里插入图片描述

2.数值

在这里插入图片描述

3.日期和时间

在这里插入图片描述

数据库存储引擎

在这里插入图片描述

MyISAM和InnoDB的区别

1.InnoDB:MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。 InnoDB是MysQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。

2.MyISAM:提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁、外键,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。5.5之前默认的存储引擎,优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用,针对数据统计有额外的常数存储。故而count(*)的查询效率很高

在这里插入图片描述

修改和删除数据库

在这里插入图片描述

数据库设计的三大范式

1.范式:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就叫做范式

2.约束作用数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。

3.三大范式
第一范式:确保每列保持原子性

  1. 每一列属性都是不可再分的属性值,确保每一列的原子性
  2. 两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据

第二范式:确保表中的每列都和主键相关

  1. 足第二范式必须先满足第一范式。
  2. 第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主键

第三范式:确保每列都和主键列直接相关,而不是间接相关
数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。

总结:三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库

表约束

1.约束实际上就是表中数据的限制条件

2.约束作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效

3.约束种类:

  • 非空约束(not null)
  • 唯一性约束(unique)
  • 主键约束(primary key) PK
  • 外键约束(foreign key) FK
  • 检查约束(目前MySQL不支持、Oracle支持)

4.添加约束

在这里插入图片描述

  1. 删除约束

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值