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

news2025/1/27 15:05:08

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.coloradmin.cn/o/2283990.html

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

相关文章

一个简单的自适应html5导航模板

一个简单的 HTML 导航模板示例&#xff0c;它包含基本的导航栏结构&#xff0c;同时使用了 CSS 进行样式美化&#xff0c;让导航栏看起来更美观。另外&#xff0c;还添加了一些 JavaScript 代码&#xff0c;用于在移动端实现导航菜单的展开和收起功能。 PHP <!DOCTYPE htm…

实现B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…

无人机微波图像传输数据链技术详解

无人机微波图像传输数据链技术是无人机通信系统中的关键组成部分&#xff0c;它确保了无人机与地面站之间高效、可靠的图像数据传输。以下是对该技术的详细解析&#xff1a; 一、技术原理 无人机微波图像传输数据链主要基于微波通信技术实现。在数据链路中&#xff0c;图像数…

macos的图标过大,这是因为有自己的设计规范

苹果官方链接&#xff1a;App 图标 | Apple Developer Documentation 这个在官方文档里有说明&#xff0c;并且提供了sketch 和 ps 的模板。 figma还提供了模板&#xff1a; Figma

微信阅读网站小程序的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

美国公司有意收购TikTok(抖音)

众所周知&#xff0c;2016年TikTok由字节跳动集团推出&#xff0c;最初以“抖音”为名在中国市场推广&#xff0c;随后于2017年下半年出海&#xff0c;面向国际市场更名为“TikTok”。 新华社1月19日快讯&#xff1a;“TikTok公司当地时间18日晚通知美国用户&#xff0c;由于美…

《Java程序设计》课程考核试卷

一、单项选择题&#xff08;本大题共10个小题&#xff0c;每小题2分&#xff0c;共20分&#xff09; 1.下列用来编译Java源文件为字节码文件的工具是&#xff08; &#xff09;。 A.java B.javadoc C.jar D.javac 2…

ThinkPHP 8 操作JSON数据

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

Windows 环境下 Docker Desktop + Kubernetes 部署项目指南

Windows 环境下 Docker Desktop Kubernetes 部署项目指南 一、环境准备二、安装与配置 Kubernetes安装 windows 版的 docker启动 kubernetes安装 windows 版的 kubectl 工具下载 k8s-for-docker-desktop启动 Kubernetes Dashboard 二、在 Kubernetes 上部署项目创建一个 demo …

WebSocket 详解:全双工通信的实现与应用

目录 一、什么是 WebSocket&#xff1f;&#xff08;简介&#xff09; 二、为什么需要 WebSocket&#xff1f; 三、HTTP 与 WebSocket 的区别 WebSocket 的劣势 WebSocket 的常见应用场景 WebSocket 握手过程 WebSocket 事件处理和生命周期 一、什么是 WebSocket&#xf…

神经网络|(二)sigmoid神经元函数

【1】引言 在前序学习进程中&#xff0c;我们已经了解了基本的二元分类器和神经元的构成&#xff0c;文章学习链接为&#xff1a; 神经网络|(一)加权平均法&#xff0c;感知机和神经元-CSDN博客 在此基础上&#xff0c;我们认识到神经元本身在做二元分类&#xff0c;是一种非…

云原生:构建现代化应用的基石

一、什么是云原生&#xff1f; 云原生是一种构建和运行应用程序的方法&#xff0c;旨在充分利用云计算的分布式系统优势&#xff0c;例如弹性伸缩、微服务架构、容器化技术等。云原生应用程序从设计之初就考虑到了云环境的特点&#xff0c;能够更好地适应云平台的动态变化&…

【浏览器 - Chrome调试模式,如何输出浏览器中的更多信息】

在开发过程中&#xff0c;如果不主动console.log&#xff0c;浏览器中的信息有些不会主动输出到 控制台console里面。这个如果是一些浏览器内部的接口调试&#xff0c;则会很麻烦。比如RTCPeerConnection过程 &#xff0c;RTCPeerConnection属于浏览器内部的方法&#xff0c;其…

MapReduce,Yarn,Spark理解与执行流程

MapReduce的API理解 Mapper 如果是单词计数&#xff1a;hello&#xff1a;1&#xff0c; hello&#xff1a;1&#xff0c; world&#xff1a;1 public void map(Object key, // 首字符偏移量Text value, // 文件的一行内容Context context) // Mapper端的上下文&#xff0c;…

unity导入图片素材注意点和AI寻路模块导入

当我们导入了图片资源&#xff0c;我们需要设置为Sprite类型 UI资源的位置通常是Rect Transform 要进行转化&#xff1a; (imgHP.transform as RectTransform).sizeDelta new Vector2((float)hp / maxHP * hpW,74); RectTransform 是Unity中用于UI元素的特殊变换组件&#…

单片机-STM32 IIC通信(OLED屏幕)(十一)

一、屏幕的分类 1、LED屏幕&#xff1a; 由无数个发光的LED灯珠按照一定的顺序排列而成&#xff0c;当需要显示内容的时候&#xff0c;点亮相关的LED灯即可&#xff0c;市场占有率很高&#xff0c;主要是用于户外&#xff0c;广告屏幕&#xff0c;成本低。 LED屏是一种用发光…

Windows Docker Desktop安装及使用 Docker 运行 MySQL

Docker Desktop是Docker的官方桌面版&#xff0c;专为Mac和Windows用户设计&#xff0c;提供了一个简单易用的界面来管理和运行Docker容器。它集成了Docker引擎&#xff0c;为开发人员提供了一个快速、可靠、可扩展的方式来构建、运行和管理应用。DockerDesktop的优势在于&…

Day21-【软考】短文,计算机网络开篇,OSI七层模型有哪些协议?

文章目录 OSI七层模型有哪些&#xff1f;有哪些协议簇&#xff1f;TCP/IP协议簇中的TCP协议三次握手是怎样的&#xff1f;基于UDP的DHCP协议是什么情况&#xff1f;基于UDP的DNS协议是什么情况&#xff1f; OSI七层模型有哪些&#xff1f; 题目会考广播域 有哪些协议簇&#x…

巧妙获取ListBox控件的选中条目(按点击顺序)

实例需求&#xff1a;用户窗体中有两个控件 列表框&#xff1a;ListBox1&#xff0c;支持多选按钮&#xff1a;CommandButton1 现在需要记录用户在列表框中选择顺序&#xff08;不考虑选中后再次点击取消选中的操作&#xff09;&#xff0c;如下图所示。 Dim objDic As Objec…

动手学图神经网络(3):利用图神经网络进行节点分类 从理论到实践

利用图神经网络进行节点分类&#xff1a;从理论到实践 前言 在之前的学习中&#xff0c;大家对图神经网络有了初步的了解。本次教程将深入探讨如何运用图神经网络&#xff08;GNNs&#xff09;来解决节点分类问题。在节点分类任务里&#xff0c;大家往往仅掌握少量节点的真实…