【MySQL】一篇文章带你了解MySQL基础知识、库/表操作和数据类型

小白学MySQL数据库必须了解的基础知识(全) 最近由于有其他任务所以一直没有更新MySQL数据库的基础知识的后续文章 这几天我对MySQL数据库的基础知识进行了一个大概的整合,我总共将其分为了七个章节,其中包括了已经发布的《小白学MySQL数据库必须了解的基础知识(一)》与《小白学MySQL数据库必须了解的基础知识(二)》里面的知识点,而且在某些方面比已经发布的这两篇文章更加全面。以供大佬们御览: MySQL数据库入门 文章目录MySQL数据库入门第一讲 数据库入门数据库概述数据库存储结构SQL语言概述MySQL的相关命令第二讲 数据库和表的基本操作 阅读详情

目录

引言

1、MySQL基础知识

 什么是数据库?

数据库的格式

2、库/表操作

库操作

编码集

表操作

3、数据类型

 bit类型

浮点类型

字符类型

enum

set

结语


引言

        数据库是每一个资深程序员都必须要掌握的知识,今天我就来带大家从0开始学习MySQL的基础知识、库/表操作和数据类型的选择,带大家入门MySQL数据库。

1、MySQL基础知识

 什么是数据库?

        数据库简单来说就是用来一个用来存储数据的仓库,它的底层也是目录和文件。此时就有了一个疑问:文件已经有了存储文件的能力,为什么还要数据库呢?一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力,我们对于存储数据不仅仅要求其能存起来,还要能帮我们管理,方便以后的增删查改。

        文件保存数据有以下几个缺点:

        1、文件的安全性问题。

        2、文件不利于数据查询和管理。

        3、文件不利于海量存储数据。

        4、文件在程序中控制不方便。

        你可以把数据库想象成一个超级智能的电子文件柜:

        1、有结构:不是随便堆在一起,而是分门别类、有条理地存放。比如一个学校数据库里,学生信息、课程信息、成绩信息各自放在不同的"抽屉"里。

        2、能管理:不只是存,还能快速查找、修改、删除、统计。比如"找出所有数学成绩大于90分的学生",几毫秒就能给你结果。

        3、可共享:多个用户或程序可以同时使用,并且保证数据不冲突、不丢失。

        4、持久化:数据存在硬盘上,关机重启也还在,不像内存里的数据一断电就没了。

        MySQL就是一种数据库,MySQL是目前市面上最主流的数据库之一,绝大部分的公司和个人都会选择用MySQL来作为自己程序的数据库。它的本质是一种基于C(mysql)S(mysqld)模式的一种网络服务。

数据库的格式

        数据库在客户端的格式分为三层;最外层是MySQL服务器,一个服务器里有多个数据库;中间层是数据库,每一个数据库里可以存储多张表;核心层是表,表负责存储各种数据。

2、库/表操作

        接下来我们来学习数据库和表的操作,先来学习如何进入数据库,通过在命令行输入以下指令进入数据库服务器,进入服务器后,我们就可以通过指令对数据库进行操作了

//‘-u’指名登录用户
//‘-p’指名输入密码登录
mysql -uroot -p

库操作

        进入服务器后,我们可以先查看当前有多少个数据库,我们可以通过一个SQL语句来显示当前服务器内的所有数据库。记住,数据库操作中的所有语句都要带分号。

//显示当前所有的数据库
show databases;

        这上面大部分数据库都是系统自带的,那个名为project1的数据库是我自己创建的,如何创建一个新数据呢?通过以下SQL语句来实现

//创建数据库   //要创建的数据库名字
create database db_name;

  删除数据库

//删除数据库
create database db_name;

  进入数据库

//进入数据库
use db_name;

  查看当前在哪个数据库

//查看当前在哪个数据库
select database();

编码集

        创建数据库时,有两个编码集:

        1、数据库编码集 - - 数据库未来存储数据时采用的编码集

        2、数据库校验集 - - 支持数据库进行字段比较,使用同样的编码,也就是读取数据库中数据时采用的编码格式。

        数据库无论对数据做任何操作,都必须保证操作的编码是一致的。在通常情况下,数据库默认的编码集都是utf-8,如果想改变数据库的编码格式,创建数据库时就要指名创建什么编码格式的编码。

//查看所有编码格式
show character set;

        通过查看所有编码格式的指令我们可以查看当前数据库支持的所有编码格式。

        此为截取的一部分编码格式,第一个红框表示编码集名称,第二个红框表示校验集名称,我们以gbk为例,则创建一个编码格式为gbk的数据库的指令为:

create database db_name 
    character set gbk //编码为gbk
    collate gbk_chinese_ci; //校验码为gbk_chinese_ci

表操作

  创建一张表

create table(
    //表的字段信息
    ...
);

  查看表的详细信息

//查看表的详细信息
desc tb_name;

修改表

//1、修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
//或者
RENAME TABLE 旧表名 TO 新表名;

//2、修改字段(修改列)
ALTER TABLE 表名 MODIFY 字段名 新类型 [约束];

//3、添加字段(列)
ALTER TABLE 表名 ADD 字段名 类型 [约束] [FIRST | AFTER 某字段];

//4、删除字段
ALTER TABLE 表名 DROP 字段名;

3、数据类型

      

        之前在我们学习C语言或C++时,如果将一个类型与变量本身类型不符的数据存入变量中,编译器往往会通过隐式类型转换或者是截断之类的方法来将数据存储进去,但是在MySQL中,如果我们向MySQL特定的类型中插入不合法的数据,MySQL一般会直接拦截我们,不让我们做对应的操作。反过来,如果一个数据被成功插入,说明它一定是合法的。在MySQL里,数据类型本身也是一种约束

 bit类型

        位字段类型,M代表每个值的位数,范围为1~64,如果M值被忽略,默认为1,写法为

bit(M)

浮点类型

        MySQL中浮点类型总共有三种,除了我们熟悉的float和double之外,还有一个decimal类型。decimal类型与前两者的区别是:在存储数据个数上,decimal能存储的数字位数最少;在数据精度上,decimal存储的数据精度会比float和double更高,更精确。三者的写法格式相等,m表示浮点数的长度上限,n代表保留的小数位数

float(M,N)    //约±3.4×10³⁸位,精度范围为7
double(M,N)   //约±1.8×10³⁰⁸位,精度范围为15~17
decimal(M,N)  //由 M,D 决定,最大 65 位,精确数字

字符类型

        char,固定长度字符串类型,创建表时写了多少后面无法改变,长度最大不能超过255个字符。

        varchar,可变长度字符串类型,最大长度65535个字节,21845个字符。varchar的可变体现在,varchar在创建表时规定的长度为字符串最大长度,实际上在插入数据时数据有几个字节就分配几个字节的空间,但char的长度为固定值,无论插入的数值有多短,都会开固定长度的空间。

实际存储char(4)varchar(4)char占用字节varchar占用字节
abcdabcdabcd4*3=124*3+1=13
AAA4*3=121*3+1=4
Abcde××数据超过长度数据超过长度

        那么,在实际使用时,该如何选择使用定长或变长字符串呢?

        1、如果数据确定长度都一样,就用char,如:身份证,手机号

        2、如果数据长度有变化,就用varchar,如:姓名,地址

        3、定长的磁盘空间比较浪费,但是效率高。变长的磁盘空间比较节省,但是效率低

        4、定长的意义是直接开辟好对应的空间。变长的意义是,在不超过自定义范围的前提下,用多少,开多少。

enum

        枚举类型,enum中可以定义多个常量,插入数据时即可以插入对应的常量,也可以写对应常量的下标,下标从一开始,只可以选择一个。

set

        集合类型,也可以定义多个常量,但是在插入时不仅可以插入一个常量,也可以插入多个常量,以逗号做分隔符,前提是常量都是存在的。

        set类型也支持数字插入,但这里的数字并不表示下标,而是做位图结构表示,有几个常量,就有对应的几个比特位,比特位为1,代表有该数据,为0则为无该数据。

结语

        好了,到这里这篇 MySQL 基础就聊得差不多了。从数据库概念、库表操作,到字段类型的选择,咱们把地基过了一遍。别看内容基础,真正写项目时,很多坑恰恰出在这些地方——比如金额用了 double、库表编码不统一。希望这篇能帮你少踩几个坑。后面还有查询、索引、事务等更精彩的内容,咱们下篇见。

一篇文章带你了解MySQL!!! 我们个人在学习MySQL时,需要在本地下载MySQL,为了方便还会用到可视化界面来辅助,但是在企业开发中,不需要下载到本地,我们只需要连接远程服务器数据可即可在本地中,默认只有一个用户:root。 阅读详情

相关推荐

Zotero+WPS文献引用跳转功能缺失?3分钟教你用VBA宏搞定(附完整代码)

本文针对WPS用户使用Zotero时文献引用无法点击跳转的痛点,提供了一套完整的VBA宏解决方案。通过解析Zotero的域代码,自动在文内引用和文末参考文献之间创建超链接,实现一键跳转,极大提升了学术写作与文献查阅的效率。

weixin_28419039的博客 671

MySQL数据库和表的基本操作

最常用的字符串的类型,带一个参数参数,这里表示存储的最大限度,varchar(50)表示这列最多存50个字符,至于这个size设置为多少,根据实际需求来制定,并不是size订多少就直接分配多少,而是动态分配,但是最大不会超过size。我们在学习MySQL数据类型时,会发现有些数据类型设计的并不好,和java有一些区别,这是因为MySQL这里语言比较久远了,那时还没有Java这样语言,那个时候能够设计出来这样已经很厉害啦。: 可以精确的表示浮点数,因为它牺牲了空间和运算速度,换来的是更精确的表示方法。

buhuisuanfa的博客 3273

探索LLM世界:新手小白的学习路线图

通过系统的学习和实践,新手小白也能逐步掌握LLM的核心技术。掌握LLM不仅能提升个人技术水平,还能为职业发展带来广阔的前景。未来,随着技术的不断进步,LLM将在更多领域发挥重要作用,成为推动科技进步的重要力量。学习LLM是一条充满挑战但也充满机遇的道路。只要你坚持不懈、不断学习和实践,就一定能够在LLM领域取得突破。希望本文提供的学习路线图能为你指明方向,助你早日掌握LLM,开启AI学习的新篇章!

m0_62110645的博客 2360

MySQL开篇:简单的库操作,表操作,数据类型

MySQL的介绍, 数据库,表的基础操作.

trong_ 的烂笔头 1896

告别‘线束丛林’:手把手拆解车身域控制器(BCM/PEPS/网关)的硬件选型与PCB布局要点

本文深入解析车身域控制器的硬件选型与PCB布局要点,涵盖主控MCU选择、通信接口设计、电源架构优化及EMC设计等关键环节。通过实战案例分享,帮助工程师解决高密度集成带来的电源完整性、热管理和信号隔离挑战,实现更稳定高效的汽车电子系统设计。

weixin_42567279的博客 394

MT 103 Single Customer Credit Transfer单笔客户转账

MT 103 Single Customer Credit Transfer单笔客户转账 MT103电文能通过三种方式交换,依赖电文使用的业务场景。 (1)   核心MT103电文是一个通用电文,发送和接收此电文不需要在电文用户组(MUG)注册。允许使用所有MT103电文域来交换单客户转账,除了77T域(信封内容)。MT103电文如果是根据预先约定的双边/多边规则的格式,则可以直通处理。 (

shuytu 1万+

MySQL之数据库基础知识,库和表的操作以及基础数据类型

什么是数据库,主流数据库,MySQL的架构,数据库的增删查改,表的增删查改,MySQL的数据类型

weixin_74285822的博客 1296

HALCON基于描述符的模板匹配(未标定)

HALCON基于不标定描述符的模板匹配

king_linj的博客 890

【MySQL】表的操作和数据类型

本文介绍了MySQL表的操作和数据类型。主要内容包括:1. 表的创建、查看、修改和删除操作,演示了字段添加、修改和删除等语法;2. 详细讲解了数值类型(如tinyint)、字符串类型、日期时间类型等常用数据类型的特点和使用场景;3. 通过案例展示了数值越界、bit类型显示等特殊情况的处理方法。文章还对比了float和decimal类型的区别,帮助读者根据实际需求选择合适的数据类型。

大白的编程日记. 1404

PCB激光直接成像(LDI)设备技术解析与优化方案

激光直接成像(LDI)是PCB制造中的关键数字化工艺,通过激光束直接在基板上形成电路图案。其核心技术在于高精度光学系统与智能控制算法的结合,工作精度可达微米级。在HDI板、柔性电路等高端PCB制造中,LDI技术能显著提升线宽精度和层间对位准确性。当前行业面临材料适配性、热变形控制等挑战,动态能量补偿、多波长曝光等创新方案正在突破这些瓶颈。随着模块化设计、预测性维护等工程实践的普及,LDI设备综合效率持续提升,为5G、汽车电子等领域的精密电路生产提供关键技术支撑。

weixin_29168393的博客 390

基于知识图谱的农作物病虫害问答系统设计与实现

基于规则的问题分类是自问答系统诞生以来就一直存在的方式,主要代表就是众多的专家系统,构建专家系统采用的是规则分类器,优点是能够对特定领域、特征明显的问题进行高效精准问答,但是。,在问答系统中,问题以语音及文本字符等自然语言形式输入,利用问答系统的内部的逻辑处理模块,通过自然语言处理技术获得输入问句的详细语义信息,再经过知识检索、置信分析等步骤,自然语言处理中,用于文本分类任务的机器学习方式有两种,一种用传统的机器学习,如 NBC、SVM 等,另一种采用深度学习,如 CNN 和 RNN 等。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2165

关于MySQL这一篇文章就够了

在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。

. 1400

Cilium动手实验室: 精通之旅---1.Getting Started with Cilium

我们需要在 HTTP 层的第 7 层实施策略,以限制允许 tiefighter 调用的确切 API,以及不允许调用哪些 API。上仅需要的 API 资源的访问,从而为微服务之间的通信实施“最低权限”安全方法。船只上进行匹配,因此我们需要在该标签上进行匹配,此外,我们必须确保来自带有标签。为了模拟我们的连接测试,我们将使用 curl 执行简单的 API 调用。在我们立即开始更改策略之前,让我们考虑一下相应的网络策略应该是什么样子。的规则,该规则将通过 L3-L4 策略对死星的访问限制为仅帝国船只。

Q先生 1125

MySQL常用数据类型和表的操作

(一)常用数据类型 1.数值类 2.字符串类型 3.二进制类型 4.日期类型 (二)表的操作 1查看指定库中所有表 2.创建表 3.查看表结构和查看表的创建语句 4.修改表 5.删除表 (三)总代码

2401_85487314的博客 1607

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

MySQL库的管理和表操作

MySQL库的管理和表操作

分享C/C++/Linux/网络/数据库/数据结构 1866

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【MySQL基础篇】:MySQL基础了解以及库和表的相关操作

MySQL基础与数据库操作摘要 核心概念 MySQL采用C/S架构:mysql为客户端,mysqld为服务端守护进程 数据库解决文件存储的痛点:安全性、查询管理、海量数据存储和程序控制不便 基本操作 连接服务器:mysql -h 127.0.0.1 -P 3306 -u [user] -p 退出连接:quit 数据库体系结构 服务器:存储管理数据的计算机 客户端:连接工具如mysql/Navicat 数据库:服务器上的数据集合 表:存储具体数据的行列结构

2301_82347435的博客 1059

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MySQL操作全攻略:库、表、数据、事务全面指南

MySQL,作为流行的数据库系统,其功能强大且操作灵活。本文将带您快速了解库的操作、表的管理、数据的处理以及事务的掌控,同时在文末补充了对mysql基本数据类型、字段完整性约束等内容的详解,希望您能从中获得有价值的启示。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

啊猪是的读来过倒的博客 1277

【MySQL】库和表的操作

本篇文章介绍了数据库和表的常见操作,包括创建、修改和查看数据库及表结构。此外,还涉及字符集和校验规则的管理,以及如何查看当前数据库的使用用户。通过这些内容,读者可以掌握数据库基础操作,提高数据库管理能力。在实际应用中,合理规划数据库结构、使用合适的字符集和权限管理,能够有效提升系统的稳定性与安全性。

2301_79969994的博客 1428

【MySQL】表操作和库操作

常用操作指令介绍。MySQL 是一种开源的关系型数据库管理系统,被广泛应用于网站开发、数据分析等领域。在 MySQL 中,我们经常需要使用一些常用的指令来管理数据库和数据表,比如创建数据库、创建数据表、插入数据、更新数据、查询数据等。本篇博客将会介绍一些常用的 MySQL 指令,并给出详细的语法和示例。

墨辰JC的博客 4016

【MySQL笔记】MySQL库、表的基本操作

本篇博客主要介绍了MySQL库和表的一些基本操作,包括库的创建,修改,删除以及表的创建,修改,删除等!

Origin_life的博客 1737

【MySQL】库与表的操作

库与表的相关操作(creat、drop、alter、show)、库的字符集和校验集

weixin_69380220的博客 1207

【MySQL】库操作和表操作

MySQL中库的操作和表的操作。

大三小白C++进阶之路 1054

【MySQL】——库操作&&表操作

怎么创建数据库?怎么在数据库下创建表? 创建数据库后,怎么对数据库进行其他操作? 创建表后,又怎么对表进行操作? 本次介绍的重点是——库操作以及表操作

2402_85267481的博客 1006

3.4 一篇文章带你了解MySQL表的管理小白必备(创建表、查看表结构、修改表、删除表)

MySQL支持多种数据类型,用于存储不同类型的数据。以下是一些常用的MySQL数据类型: 1. **整数类型**: - `TINYINT`:1字节,范围 -128 到 127 或 0 到 255(无符号) - `SMALLINT`:2字节,范围 -32,768 到 32,767 或 0 到 65,535(无符号) - `MEDIUMINT`:3字节,范围 -8,388,608 到 8,388,607 或 0 到 16,777,215(无符号) - `INT` 或 `INTEGER`

Argonaut_的博客 1355

mysql库和表的创建

mysql库和表的基本创建

2402_83456057的博客 804

MySQL——2、库的操作和表的操作

本文介绍了数据库和表的基本操作,包括创建和删除数据库、字符集和校验规则的设置、校验规则对数据库的影响、数据库的备份与恢复、以及表的创建。通过示例展示了如何查看和修改数据库的字符集和校验规则,并说明了不同校验规则对数据查询和排序的影响。此外,还介绍了如何备份和恢复数据库,以及创建表时的存储引擎选择。这些操作是数据库管理的基础,帮助用户更好地管理和维护数据库系统。

Talon的博客 835
上一篇: 【Linux】每个进程都拥有“假内存” | 进程地址空间详解
下一篇: 【C++】C++11到底新增了什么?一篇文章带你搞懂列表初始化、右值引用和移动语义
虚无的纽扣
博客等级 码龄1年 405粉丝 36原创
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值