MySQL 基础学习(1):数据类型与操作数据库和数据表

MySQL 基础学习:数据类型与操作数据库和数据表

在这篇博客中,我们将深入学习 MySQL 的基础操作,重点关注数据库和数据表的操作,以及 MySQL 中常见的数据类型。希望本文能帮助你更好地理解和掌握 MySQL 的基本用法。

一、操作数据库

在 MySQL 中,数据库是数据存储的逻辑集合,以下是常见的数据库操作:

1. 创建数据库

create database 数据库名 charset utf8;

通过以上命令,我们可以创建一个新的数据库,并指定其字符集为 UTF-8。字符集设置在国际化场景中尤为重要。

2. 查看所有数据库

show databases;

该命令会列出当前 MySQL 服务器中的所有数据库。

3. 选择数据库

use 数据库名;

选择一个数据库后,所有后续的表操作都会基于该数据库。

4. 删除数据库

drop database 数据库名;

注意:这是一个危险的操作,会永久删除数据库及其所有数据,在执行前必须确保有备份!

执行删除数据库的建议:

  • 确认操作权限。
  • 必要时进行多次确认。
  • 生产环境中建议执行前找他人复核。

二、操作数据表

数据表是数据库中的核心单元,用于存储结构化数据。以下是常见的数据表操作:

1. 查看数据库中的所有表

show tables;

该命令可以列出当前数据库中的所有表。

2. 创建数据表

create table 表名 (列名 类型 [约束],...
);

例如:

create table users (id int primary key auto_increment,name varchar(50) not null,email varchar(100) unique
);

这段代码创建了一个名为 users 的表,其中包含:

  • id: 整型主键,自动递增。
  • name: 长度为 50 的字符串,不能为空。
  • email: 长度为 100 的唯一字符串。

3. 查看数据表结构

desc 表名;

该命令可以查看表的详细信息(列名、类型、约束等)。

4. 删除数据表

drop table 表名;

注意:删除表时会丢失所有数据,需谨慎操作。

执行删除表的建议:

  • 确保操作必要性。
  • 执行前备份数据。

三、什么时候操作数据库,什么时候操作数据表

操作数据库和数据表的选择主要取决于具体需求:

操作数据库的场景

  • 初始设置: 当你启动一个新项目时,需要为项目创建一个独立的数据库以隔离数据。
  • 环境隔离: 不同的开发环境(如开发、测试、生产)需要单独的数据库。
  • 数据归档或迁移: 如果需要将一整个项目的数据归档或迁移到另一台服务器,可以操作整个数据库。
  • 多租户系统: 在多租户系统中,每个租户可能会有一个独立的数据库。

操作数据表的场景

  • 功能扩展: 为现有项目添加新功能时,需要创建新的表来存储相关数据。
  • 结构优化: 如果发现表结构不合理,需要调整表(如增加或删除列)。
  • 数据清理: 如果某张表的数据已经过期或无用,可以选择删除该表以节约存储空间。
  • 特定查询优化: 创建中间表或临时表以提升复杂查询的性能。

简而言之,操作数据库通常是全局性、项目级别的改动,而操作数据表更偏向于模块化、功能性的小范围调整。


四、MySQL 常见数据类型

在 MySQL 中,每个列都必须有一个数据类型,用于定义该列可以存储的数据格式。以下是常见的数据类型:

1. 数值类型

  • TINYINT: 1字节,范围 -128 到 127。
  • SMALLINT: 2字节,范围 -32,768 到 32,767。
  • INT: 4字节,范围 -21亿 到 21亿,常用的整型。
  • BIGINT: 8字节,适合存储更大范围的整数。
  • DECIMAL(M,D): 精确小数,适用于金融场景。

2. 浮点类型

  • FLOAT: 4字节,用于存储单精度浮点数。
  • DOUBLE: 8字节,用于存储双精度浮点数。

3. 字符串类型

  • CHAR(SIZE): 固定长度字符串。
  • VARCHAR(SIZE): 可变长度字符串,最大长度 65535 字节,推荐使用。
  • TEXT: 存储大段文本。

4. 时间类型

  • DATETIME: 存储日期和时间,8字节。
  • TIMESTAMP: 存储时间戳,4字节。

数据类型选择建议

  • 整型: 根据数值范围选择 INTBIGINT
  • 小数: 金融场景优先选择 DECIMAL,而非 FLOATDOUBLE
  • 字符串: 通常优先选择 VARCHAR,仅在长度固定时选择 CHAR

五、操作注意事项

  1. 备份优先:任何涉及删除或修改操作时,务必先备份数据。
  2. 权限管理:避免普通用户直接操作数据库的结构。
  3. 审慎执行:多次确认命令后再执行。

通过对数据库和数据表的操作,以及对常见数据类型的理解,你可以更高效地使用 MySQL 存储和管理数据。如果你有任何问题或想法,欢迎留言讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek-R1:开源Top推理模型的实现细节、使用与复现

核心观点 ● 直接用强化学习就可以让模型获得显著的推理能力,说明并不一定需要SFT才行。 ● 强化学习并不一定需要复杂的奖励模型,使用简单的规则反而取得意想不到的效果。 ● 通过知识蒸馏让小模型一定程度上也有推理能力,甚至在某些场景下…

Unity游戏(Assault空对地打击)开发(1) 创建项目和选择插件

目录 前言 创建项目 插件导入 地形插件 前言 这是游戏开发第一篇,进行开发准备。 创作不易,欢迎支持。 我的编辑器布局是【Tall】,建议调整为该布局,如下。 创建项目 首先创建一个项目,过程略,名字请勿…

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…

K8S极简教程(4小时快速学会)

1. K8S 概览 1.1 K8S 是什么 K8S官网文档:https://kubernetes.io/zh/docs/home/ 1.2 K8S核心特性 服务发现与负载均衡:无需修改你的应用程序即可使用陌生的服务发现机制。存储编排:自动挂载所选存储系统,包括本地存储。Secret和…

C基础寒假练习(4)

输入带空格的字符串&#xff0c;求单词个数、 #include <stdio.h> // 计算字符串长度的函数 size_t my_strlen(const char *str) {size_t len 0;while (str[len] ! \0) {len;}return len; }int main() {char str[100];printf("请输入一个字符串: ");fgets(…

FaceFusion

文章目录 一、关于 FaceFusion预览 二、安装三、用法 一、关于 FaceFusion FaceFusion 是行业领先的人脸操作平台 github : https://github.com/facefusion/facefusion官方文档&#xff1a;https://docs.facefusion.io/Discord : https://discord.com/invite/facefusion-1141…

AI杂谈(一)

名词解释 LLM 大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一种基于深度学习的自然语言处理模型&#xff0c;旨在理解和生成自然语言文本。这类模型通常由数亿到数千亿个参数构成&#xff0c;能够处理复杂的语言任务&#xff0c;如文本生成、翻…

fps一些内容添加

1 增强输入要点记录 输入 &#xff1a;输入值的类型 布尔 1d&#xff0c;2d&#xff0c;3d 映射&#xff1a;就是确定按键输入键位&#xff0c;输入类型&#xff0c;和一些触发器&#xff08;按键方式&#xff09;修改器&#xff08;对输出值进行修改&#xff09; 基本的&am…

为什么应用程序是特定于操作系统的?[计算机原理]

你把WINDOWS程序复制到MAC上使用&#xff0c;会发现无法运行。你可能会说&#xff0c;MAC是arm处理器&#xff0c;而WINDWOS是X86 处理器。但是在2019年&#xff0c;那时候MAC电脑还全是Intel处理器&#xff0c;在同样的X86芯片上&#xff0c;运行MAC和WINDOWS 程序还是无法互相…

2025苹果CMS v10短剧模板源码

文件不到70kb&#xff0c;加载非常快 无配置&#xff0c;没有详情页&#xff0c;上传就可以直接使用 使用教程&#xff1a;上传到网站template目录并解压、进入网站后台选择模板 注意&#xff1a;默认调用ID为1的数据和扩展分类&#xff0c;建议新建站使用 源码下载&#xf…

​ONES 春节假期服务通知

ONES 春节假期服务通知 灵蛇贺岁&#xff0c;瑞气盈门。感谢大家一直以来对 ONES 的认可与支持&#xff0c;祝您春节快乐&#xff01; 「2025年1月28日 &#xff5e; 2025年2月4日」春节假期期间&#xff0c;我们的值班人员将为您提供如下服务 &#xff1a; 紧急问题 若有紧急问…

python:洛伦兹变换

洛伦兹变换&#xff08;Lorentz transformations&#xff09;是相对论中的一个重要概念&#xff0c;特别是在讨论时空的变换时非常重要。在四维时空的背景下&#xff0c;洛伦兹变换描述了在不同惯性参考系之间如何变换时间和空间坐标。在狭义相对论中&#xff0c;洛伦兹变换通常…

LangChain:使用表达式语言优化提示词链

在 LangChain 里&#xff0c;LCEL 即 LangChain Expression Language&#xff08;LangChain 表达式语言&#xff09;&#xff0c;本文为你详细介绍它的定义、作用、优势并举例说明&#xff0c;从简单示例到复杂组合示例&#xff0c;让你快速掌握LCEL表达式语言使用技巧。 定义 …

unity学习20:time相关基础 Time.time 和 Time.deltaTime

目录 1 unity里的几种基本时间 1.1 time 相关测试脚本 1.2 游戏开始到现在所用的时间 Time.time 1.3 时间缩放值 Time.timeScale 1.4 固定时间间隔 Time.fixedDeltaTime 1.5 两次响应时间之间的间隔&#xff1a;Time.deltaTime 1.6 对应测试代码 1.7 需要关注的2个基本…

世上本没有路,只有“场”et“Bravo”

楔子&#xff1a;电气本科“工程电磁场”电气研究生课程“高等电磁场分析”和“电磁兼容”自学”天线“、“通信原理”、“射频电路”、“微波理论”等课程 文章目录 前言零、学习历程一、Maxwells equations1.James Clerk Maxwell2.自由空间中传播的电磁波3.边界条件和有限时域…

electron typescript运行并设置eslint检测

目录 一、初始化package.json 二、安装依赖 三、项目结构 四、配置启动项 五、补充&#xff1a;ts转js别名问题 一、初始化package.json 我的&#xff1a;这里的"main"没太大影响&#xff0c;看后面的步骤。 {"name": "xloda-cloud-ui-pc"…

学习数据结构(3)顺序表

1.动态顺序表的实现 &#xff08;1&#xff09;初始化 &#xff08;2&#xff09;扩容 &#xff08;3&#xff09;头部插入 &#xff08;4&#xff09;尾部插入 &#xff08;5&#xff09;头部删除 &#xff08;这里注意要保证有效数据个数不为0&#xff09; &#xff08;6&a…

PydanticAI应用实战

PydanticAI 是一个 Python Agent 框架,旨在简化使用生成式 AI 构建生产级应用程序的过程。 它由 Pydantic 团队构建,该团队也开发了 Pydantic —— 一个在许多 Python LLM 生态系统中广泛使用的验证库。PydanticAI 的目标是为生成式 AI 应用开发带来类似 FastAPI 的体验,它基…

deepseek R1的确不错,特别是深度思考模式

deepseek R1的确不错&#xff0c;特别是深度思考模式&#xff0c;每次都能自我反省改进。比如我让 它写文案&#xff1a; 【赛博朋克版程序员新春密码——2025我们来破局】 亲爱的代码骑士们&#xff1a; 当CtrlS的肌肉记忆遇上抢票插件&#xff0c;当Spring Boot的…

macbook安装go语言

通过brew来安装go语言 使用brew命令时&#xff0c;一般都会通过brew search看看有哪些版本 brew search go执行后&#xff0c;返回了一堆内容&#xff0c;最下方展示 If you meant "go" specifically: It was migrated from homebrew/cask to homebrew/core. Cas…