数据库介绍

数据库

  • 含义:存储和管理数据的仓库,用户可以进行增删改查等操作

  • 本质:一款基于网络通信的应用程序

  • 分类:

    • 关系型数据库:数据之间彼此有关系或约束,通常以表格形式存储,存储类型的限制

      eg:mysql,Oracle,db2,sql server

    • 非关系型数据库:数据通常以key—value方式存储

      eg:redis,mongobd

  • 特点:

    • 持久化存储
    • 保证数据的有效性
    • 读写速度极高

数据库管理系统

  • 本质:管理数据的一个软件

关系型数据库管理系统

  • 分类:
    • 关系型数据库服务端:负责管理不同的数据库
    • 关系型数据库客户端:向服务端传输数据或获取数据

sql介绍

由来:支持多种编程语言来充当客户端操作mysql,采用统一的语言(SQL语句)

作用:实现数据库客户端和服务端之间的通信

MySQL数据库

  • 含义:是一个关系型数据库管理系统
  • 特点:
    • 开源,不用付费
    • 使用标准的sql数据语言格式
    • 可存放大型数据量,处理上千万条数据
    • 可安装在不同的操作系统,提供多种编程语言的操作接口

重要概念

image-20221208232307355

MySQL主要存储引擎

针对不同的数据应该有不同的处理机制来存储,而存储引擎就是不同的处理机制

  • innodb:是MySQL5.5版本及之后默认的存储引擎,存储数据更安全
  • myisam:是MySQL5.5版本之前默认的存储引擎,速度比innodb更快
  • memory:内存引擎(数据全部存放在内存中),断电数据丢失
  • blackhole:无论怎么存,都立刻消失(黑洞)

tips:show engines; # 查看引擎

image-20221209023319338

image-20221209023849644

数据介绍

数据类型

  • 用途:创建表时,为表中字段设置数据类型
  • 原则:够用就行,节省存储空间
  • 常用类型:
    • 整数:tinyint,int
    • 浮点数:decimal,double
    • 字符串:char,varchar
    • 日期时间:date,time,datetime
    • 枚举:enum
  • 说明:
    • 整型默认情况下是带符号的,存储年龄,等级,id等等
    • int(10):括号中数字无作用,因此只需写int
    • decimal:decimal(10,2)表示存5位数,小数占2位
    • char:固定长度的字符串,若位数不满则自动补空格,默认长度为1
    • varchar:可变长度的字符串
    • 对于图片、视频等文件,不存储在数据库中,而是上传到服务器,然后在表中存储他的保存路径
    • text字符串存储大文本,一般字符超过4000是推荐使用
类型 字节大小 eg
date 4 '2022-12-09'
time 3 '22:00:00'
datetime 8 '2022-12-09 22:00:00'

数据约束

  • 含义:在限定数据类型的基础上额外增加要求

  • 常见约束:

    • 主键primary key:物理上存储的顺序,类型为int unsigned
    • 非空not null:此字段不能为空
    • 唯一unique:此字段值不允许重复
    • 默认default:不填写时使用默认值
    • unsigned:无符号
    • zerofill:宽度超出填充0
    • 外键foreign key:对关系字段进行约束,为关系字段填写值时会到关联的表中修改数据,若关联字段不存在则抛出异常
posted @   LePenseur  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示