首页 > 数据库 >Mysql到底是个什么玩意?(初识Mysql)

Mysql到底是个什么玩意?(初识Mysql)

时间:2024-12-09 10:29:59浏览次数:7  
标签:存储 字节 -- Mysql 数据类型 初识 玩意 MySQL 类型

学编程和数据的小伙伴应该都听说过MySQL,仿佛全世界的编程都离不开mysql,那么mysql到底是什么,为什么大家都在用它。

Mysql是什么?它一个流行的开源关系型数据库管理系统(RDBMS),它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

Mysql被广泛应用于网站开发、应用程序开发及各种数据处理场景。它以高效、可靠、易用著称,是小型到大型项目中常见的数据库解决方案之一。(MYSQL只是一个软件,用来管理数据的)。

为什么受欢迎?

1、开源,免费

MySQL 是开源软件,用户可以免费使用、修改和分发,降低了初创企业和开发者的成本。提供功能丰富的免费版本,可满足大多数应用场景需求。对于需要更高性能和技术支持的企业,MySQL 也提供付费的企业版。

2、性能稳定,兼容性强

MySQL 的查询优化器和索引机制使其在高并发场景下表现优异。默认的 InnoDB 引擎支持事务处理和外键。MyISAM 引擎在读多写少的场景下性能出色。支持查询缓存功能,大幅提升重复查询的性能。而且MySQL 支持多种操作系统,包括 Windows、Linux、macOS 等。MySQL 基本遵循 SQL 标准,同时扩展了部分功能,兼容性强。支持 Python、PHP、Java、C++、Ruby 等多种语言的接口,非常适合不同开发者的需求。

3、应用范围广,易上手

与 PHP、Python 等语言集成良好,适合博客、论坛、电商平台等应用。不仅低成本、高性能,非常适合中小企业的数据管理需求,而且可以通过主从复制、分片和分布式架构,支持高并发和海量数据处理,满足大规模项目。官方提供详细的文档,社区内有丰富的教程和问答资源,适合初学者快速上手。

4、活跃社区与企业支持

MySQL 拥有庞大的开发者社区,用户可以轻松找到学习资料和解决方案。Oracle(母公司)为 MySQL 提供持续更新和优化,确保其功能和安全性不断改进。

Mysql既然是管理数据的,那都可以管理哪些类型的数据呢?

1.数值型

1.1 整数类型

数据类型大小范围(有符号)示例
TINYINT1字节-128到127性别:1表示男,0表示女
SMALLINT2字节-32768到32767年龄:SMALLINT类型存储
MEDIUMINT3字节-8388608到8388607序号:1234567
INT/INTEGER4字节-2147483648到2147483647用户ID:INT
BIGINT8字节-9223372036854770000到9223372036854770000银行账户金额

1.2 浮点数类型(小数)

数据类型大小范围(有符号)示例
FLOAT4字节存储小数,精度较低高度:170.5
DOUBLE8字节存储高精度小数精确科学计算:3.1415926
DECIMAL可变大小存储定点小数(精确存储)金额:99999.99

2.字符串类型

2.1 定长字符类型

数据类型描述示例
CHAR定长字符串,最大255个字符电话区号:CHAR(3)->086
VARCHAR变长字符串,最大65535个字符邮箱地址:VARCHAR(255)->user@example.com

2.2 文本类型

2.3 二进制数据

2.4 json类型

3.时间日期类型

常见数据类型的实际应用示例

CREATE TABLE employees (

    id INT AUTO_INCREMENT PRIMARY KEY,     -- 员工编号

    name VARCHAR(100) NOT NULL,            -- 员工姓名

    age TINYINT UNSIGNED,                  -- 员工年龄

    salary DECIMAL(10, 2),                 -- 工资,精确到小数点后两位

    hire_date DATE,                        -- 入职日期

    last_login TIMESTAMP,                  -- 最近登录时间

    bio TEXT,                              -- 员工简介

    photo BLOB                             -- 员工照片

);

id:使用 INT 存储员工编号。

name:用 VARCHAR 存储名字,长度最多为 100 字符。

age:用 TINYINT 存储年龄(假定不会超过 255 岁,应该也没有吧)。

salary:用 DECIMAL 存储财务数据,避免浮点数误差。

hire_date:用 DATE 存储日期。

last_login:用 TIMESTAMP 记录时间戳。

bio:用 TEXT 存储员工简介。

photo:用 BLOB 存储二进制数据,如照片。

建表时就要考虑要存储数据的数据类型,尽量要选择合适的数据类型,既可以提高以后查询数据时的查询效率,也可以节省空间。

存储建议:

存储数字:优先选择整数类型(如 INT),避免使用浮点数(FLOAT)存储精确值。

存储日期时间:根据用途选择 DATE、DATETIME 或 TIMESTAMP。

存储文本:短文本用 VARCHAR,长文本用 TEXT。

存储二进制数据:用 BLOB 类型。

存储结构化数据:使用 JSON 类型以提高灵活性。

标签:存储,字节,--,Mysql,数据类型,初识,玩意,MySQL,类型
From: https://blog.csdn.net/2301_79631015/article/details/144276878

相关文章

  • 数据分析常见到的Excel,Mysql,Hadoop的区别
    Excel是一款电子表格软件,设计初衷是用于数据的记录、分析和可视化,功能以交互性和灵活性为主。用于小型数据处理和分析任务。适合个人或团队的日常办公需求。优势:1.直观性强:•通过界面直接操作,无需编程基础。•支持拖拽、公式计算和图表生成,易于快速可视化数据。2.灵......
  • 【2选1】MySQL异步复制 vs 同步复制:如何选择最适合你的数据同步策略?
    ......
  • MySQL元数据锁MDL导致无法操作数据库的解决方法
    本文主要介绍元数据锁MDL导致无法操作数据库的解决方法以及如何避免元数据锁阻塞。MetaDataLock主要为了保证元数据的一致性,用于处理不同线程操作同一数据对象的同步与互斥问题。MySQL5.5版本开始,引入了MDL锁,MDL锁是表级别的锁,有些类型的MDL锁会导致读写操作都无法进行,导致S......
  • 切换到MySQL数据库后,如果遇到连接错误,应该怎样排查?
    在切换到MySQL数据库后,如果遇到连接错误,可以按照以下步骤进行排查和解决:检查数据库驱动类型:确保在database.php文件中正确设置了数据库驱动类型为mysql。PbootCMS支持多种数据库驱动,如果设置不正确,可能会导致连接失败。验证数据库服务器地址:确认数据库服务器地址是否正确。......
  • 关系数据库MySQL版解决I/O高问题
    本文介绍了InnoDBI/O系统,MySQL实例I/O高的一些原因以及对应的解决方案。MySQL的I/O性能受实例硬件层存储介质(普通IO,高IO,超高IO云盘,本地SSD等)、和业务层具体SQL语句(扫描或修改数据量)的影响。InnoDBI/O系统介绍为了管理磁盘文件的读写操作,InnoDB设计了一套文件IO操作接口,......
  • MySQL版CPU使用率高的原因排查和解决方法
    使用关系数据库MySQL版时,如果您的CPU使用率很高或接近100%,会导致数据读写处理缓慢、连接缓慢、删除出现报错等,从而影响业务正常运行。问题原因CPU使用率高由多种原因导致,最常见的几种原因如下:1.慢sql:执行时间较长的SQL查询可能会占用大量的CPU资源,尤其是当查询涉及复杂......
  • 架构-初识BFF
    引言晚上公司开了一个技术分享会,主要内容就是公司的项目架构,会中讲解了项目整体架构是BFF架构,就是在微服务之上多加了一层。除此之外,还讲解了DDD设计思想,主要用于各个业务中台,如订单中台、用户中台等。这是我的架构第一课,听得有些似懂非懂,于是浅浅地整理一下。BFF是什么BFF......
  • Canal同步MySQL增量数据
    引言在现在的系统开发中,为了提高查询效率,以及搜索的精准度,会大量的使用redis、memcache等nosql系统的数据库,以及solr、elasticsearch类似的全文检索服务。那么这个时候,就又有一个问题需要我们来考虑,就是数据同步的问题,如何将实时变化的数据库中的数据同......
  • 网络初识01
    1.网络发展史单机时代—>局域网时代—>广域网时代—>移动互联网时代独立模式:计算机之间相互独立网络互联:将多台计算机连接在一起,完成数据共享数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信根据网络互连的规模不同,可以划分为局域网和广......
  • STL初识
    STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STLSTL基本概念STL(StandardTemplateLibrary,标......