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…

前端力扣刷题 | 4:hot100之 子串

560. 和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2 法一&#xff1a;暴力法 var subar…

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…

2.策略模式(Strategy)

定义 定义一系列算法&#xff0c;把它们一个个封装起来&#xff0c;并且使他们可互相替换&#xff08;变化&#xff09;。该模式使算法可独立于使用它的客户程序&#xff08;稳定&#xff09;而变化&#xff08;拓展&#xff0c;子类化&#xff09;。 动机&#xff08;Motiva…

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

你把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…

PyTorch API 详细中文文档,基于PyTorch2.5

PyTorch API 详细中文文档 按模块分类&#xff0c;涵盖核心函数与用法示例 目录 张量操作 (Tensor Operations)数学运算 (Math Operations)自动求导 (Autograd)神经网络模块 (torch.nn)优化器 (torch.optim)数据加载与处理 (torch.utils.data)设备管理 (Device Management)模…

C# Dynamic关键字

一、引言&#xff1a;开启动态编程之门 在 C# 的编程世界里&#xff0c;长久以来我们习惯了静态类型语言带来的严谨与稳定。在传统的 C# 编程中&#xff0c;变量的类型在编译时就已经确定&#xff0c;这就像是给每个变量贴上了一个固定的标签&#xff0c;在整个代码执行过程中…

自定义数据集,使用 PyTorch 框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测

在本文中&#xff0c;我们将展示如何使用 NumPy 创建自定义数据集&#xff0c;利用 PyTorch 实现一个简单的逻辑回归模型&#xff0c;并在训练完成后保存该模型&#xff0c;最后加载模型并用它进行预测。 1. 创建自定义数据集 首先&#xff0c;我们使用 NumPy 创建一个简单的…

​ONES 春节假期服务通知

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

python:洛伦兹变换

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

Solon Cloud Gateway 开发:Route 的配置与注册方式

路由的配置与注册有三种方式&#xff1a;手动配置&#xff1b;自动发现配置&#xff1b;代码注册。 1、手动配置方式 solon.cloud.gateway:routes: #!必选- id: demotarget: "http://localhost:8080" # 或 "lb://user-service"predicates: #?可选- &quo…

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

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

Julia DataFrames.jl:深入理解和使用

随着数据科学和机器学习的发展&#xff0c;数据框架广泛应用于数据处理与分析工作中。在 Julia 语言中&#xff0c;DataFrames.jl 是一个强大且灵活的数据框库&#xff0c;为数据操作提供了丰富的功能。本文旨在系统地介绍 DataFrames.jl 的基础概念、使用方法、常见实践和最佳…