当前位置: 首页 > news >正文

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 存储和管理数据。如果你有任何问题或想法,欢迎留言讨论!

相关文章:

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

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

zyNo.19

哈希(md5)绕过问题 本质上是弱类型问题的延申 题型 登录的哈希验证 $a ! $b Md5($a) md5($b) 解决办法Md5绕过 var_dump ("0e123456" "0e4456789"); //true 0e545993274517709034328855841020//true 参考资料0e开头的哈希…...

Kafka生产者ACK参数与同步复制

目录 生产者的ACK参数 ack等于0 ack等于1(默认) ack等于-1或all Kafka的同步复制 使用误区 生产者的ACK参数 Kafka的ack机制可以保证生产者发送的消息被broker接收成功。 Kafka producer有三种ack机制 ,分别是 0,1&#xf…...

IPhone14 Pro 设备详情

目录 产品宣传图内部图——后设备详细信息 产品宣传图 内部图——后 设备详细信息 信息收集于HubWeb.cn...

【Linux】磁盘

没有被打开的文件 文件在磁盘中的存储 认识磁盘 磁盘的存储构成 磁盘的效率 与磁头运动频率有关。 磁盘的逻辑结构 把一面展开成线性。 通过扇区的下标编号可以推算出在磁盘的位置。 磁盘的寄存器 控制寄存器:负责告诉磁盘是读还是写。 数据寄存器:给…...

Shell编程(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)

本篇文章继续给大家介绍Shell编程,包括for循环、并发问题,while循环,流程控制语句,函数传参、函数变量、函数返回值,反向破解MD5等内容。 1.for循环 for 变量 in [取值列表] 取值列表可以是数字 字符串 变量 序列…...

强化学习数学原理(三)——值迭代

一、值迭代过程 上面是贝尔曼最优公式,之前我们说过,f(v)v,贝尔曼公式是满足contraction mapping theorem的,能够求解除它最优的策略和最优的state value,我们需要通过一个最优v*,这个v*来计算状态pi*&…...

Day27-【13003】短文,什么是栈?栈为何用在递归调用中?顺序栈和链式栈是什么?

文章目录 第三章栈和队列总览第一节栈概览栈的定义及其基本操作如何定义栈和栈的操作?合理的出栈序列个数如何计算?栈的两种存储方式及其实现?顺序栈及其实现,还有对应时间复杂度*、清空栈,初始化栈5、栈空&#xff0c…...

[JMCTF 2021]UploadHub

题目 上传.htaccess就是修改配置文件 <FilesMatch .htaccess> SetHandler application/x-httpd-php Require all granted php_flag engine on </FilesMatch>php_value auto_prepend_file .htaccess #<?php eval($_POST[md]);?>SetHandler和ForceType …...

C++学习——认识和与C的区别

目录 前言 一、什么是C 二、C关键字 三、与C语言不同的地方 3.1头文件 四、命名空间 4.1命名空间的概念写法 4.2命名空间的访问 4.3命名空间的嵌套 4.4命名空间在实际中的几种写法 五、输入输出 5.1cout 5.2endl 5.3cin 总结 前言 开启新的篇章&#xff0c;这里…...

为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约

本文要点 要点 AI操作系统处理的是 疑问&#xff08;信念问题&#xff09;、缺省&#xff08;逻辑问题&#xff09;和异常(不可控因素 ) 而 内核 的三大功能 &#xff08;资源分配/进程管理/任务调度&#xff09;以及外围的三类接口&#xff08; CLI、GUI和表面模型的 运行时…...

基于SpringBoot的网上摄影工作室开发与实现 | 含论文、任务书、选题表

随着互联网技术的不断发展&#xff0c;摄影爱好者们越来越需要一个在线平台来展示和分享他们的作品。基于SpringBoot的网上摄影工作室应运而生&#xff0c;它不仅为用户提供了一个展示摄影作品的平台&#xff0c;还为管理员提供了便捷的管理工具。本文幽络源将详细介绍该系统的…...

Flutter子页面向父组件传递数据方法

在 Flutter 中&#xff0c;如果父组件需要调用子组件的方法&#xff0c;可以通过以下几种方式实现。以下是常见的几种方法&#xff1a; 方法 1&#xff1a;使用 GlobalKey 和 State 调用子组件方法 这是最直接的方式&#xff0c;通过 GlobalKey 获取子组件的 State&#xff0c…...

回顾Maven

Maven Maven简介 Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它 用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、 测试、打包和发布等工作。 管理jar包管理jar包之间的依赖关系&#xff08;其中一个jar包可能同时依赖多个…...

除了layui.js还有什么比较好的纯JS组件WEB UI?在谷歌浏览上显示

以下是一些比较好的纯JS组件WEB UI&#xff0c;可以在谷歌浏览器上良好显示&#xff1a; 1. Sencha 特点&#xff1a;提供超过140个高性能UI组件&#xff0c;用于构建现代应用程序。支持与Angular和React集成&#xff0c;提供企业级网格解决方案。 适用场景&#xff1a;适用于…...

力扣111二叉树的最小深度(DFS)

Problem: 111. 二叉树的最小深度 文章目录 题目描述思路复杂度Code 题目描述 思路 1.欲望求出最短的路径&#xff0c;先可以记录一个变量minDepth&#xff0c;同时记录每次当前节点所在的层数currentDepth 2.在递的过程中&#xff0c;每次递一层&#xff0c;也即使当前又往下走…...

c++学习第十三天

创作过程中难免有不足&#xff0c;若您发现本文内容有误&#xff0c;恳请不吝赐教。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、vector 1.介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c;vector也采用的连续存储空…...

zookeeper-3.8.3-基于ACL的访问控制

ZooKeeper基于ACL的访问控制 ZooKeeper 用ACL控制对znode的访问&#xff0c;类似UNIX文件权限&#xff0c;但无znode所有者概念&#xff0c;ACL指定ID及对应权限&#xff0c;且仅作用于特定znode&#xff0c;不递归。 ZooKeeper支持可插拔认证方案&#xff0c;ID格式为scheme…...

Java定时任务实现方案(四)——Spring Task

Spring Task 这篇笔记&#xff0c;我们要来介绍实现Java定时任务的第四个方案&#xff0c;使用Spring Task&#xff0c;以及该方案的优点和缺点。 ​ Spring Task是Spring框架提供的一个轻量级任务调度框架&#xff0c;用于简化任务调度的开放&#xff0c;通过注解或XML配置的…...

WGCLOUD运维工具从入门到精通 - 如何设置主题背景

需要升级到WGCLOUD的v3.5.7或者以上版本&#xff0c;才会支持自定义设置主题背景色 WGCLOUD下载&#xff1a;www.wgstart.com 我们登录后&#xff0c;在右上角点击如下的小图标&#xff0c;就可以设置主题背景色了&#xff0c;包括&#xff1a;经典白&#xff08;默认&#x…...

开源项目 Homelab 使用教程

开源项目 Homelab 使用教程 项目介绍 Homelab 是一个开源项目&#xff0c;旨在帮助用户构建和管理自己的家庭实验室。该项目提供了一套完整的工具和配置&#xff0c;使用户能够轻松地部署和管理各种服务和应用。Homelab 项目由 khuedoan 开发&#xff0c;基于 Kubernetes 和其他…...

Qwen3.5-4B-Claude-Opus-GGUF一键部署:CSDN镜像平台Web化推理服务上线指南

Qwen3.5-4B-Claude-Opus-GGUF一键部署&#xff1a;CSDN镜像平台Web化推理服务上线指南 1. 模型与平台介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个基于 Qwen3.5-4B 的推理蒸馏模型&#xff0c;重点强化了结构化分析、分步骤回答、代码与逻辑类问题的处理…...

协议解析CPU飙升85%?从Wireshark抓包到JFR火焰图的全链路诊断闭环,立即生效!

第一章&#xff1a;协议解析CPU飙升85%&#xff1f;从Wireshark抓包到JFR火焰图的全链路诊断闭环&#xff0c;立即生效&#xff01;当线上服务突发CPU使用率飙升至85%以上&#xff0c;且无明显GC压力或线程阻塞时&#xff0c;协议层异常解析往往是隐藏元凶。我们曾在线上Java服…...

收藏!大模型/后端校招面试,项目这么讲才不浪费优势(小白必看)

这段时间&#xff0c;我全程参与了多场校招后端开发、大模型应用开发岗位的面试复盘工作&#xff0c;越复盘越有一个深刻的感悟&#xff1a;绝大多数候选人&#xff0c;并不是自身项目质量不过关&#xff0c;而是讲述项目的方式彻底走偏&#xff0c;硬生生浪费了自己的核心优势…...

别再手动算Offset了!Vector DaVinci里这样配置AUTOSAR OS Alarm,让任务调度更丝滑

Vector DaVinci实战&#xff1a;AUTOSAR OS Alarm智能配置与任务调度优化 在汽车电子系统开发中&#xff0c;任务调度就像交响乐团的指挥&#xff0c;需要精确协调各个执行单元的时间节奏。传统手动计算Alarm Offset的方式&#xff0c;不仅效率低下&#xff0c;还容易引入人为错…...

Pixel Couplet Gen快速上手:三步完成像素春联生成器本地部署与微信小程序对接

Pixel Couplet Gen快速上手&#xff1a;三步完成像素春联生成器本地部署与微信小程序对接 1. 项目概览 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成器。通过ModelScope大模型驱动&#xff0c;它能够将用户输入的文字愿望转化为富有创意的像素风格…...

大数据领域HBase的备份与恢复方案

大数据领域HBase的备份与恢复方案 关键词&#xff1a;HBase备份恢复、分布式存储、数据持久化、全量备份、增量备份、灾难恢复、快照机制 摘要&#xff1a;本文系统解析HBase分布式环境下的数据备份与恢复技术体系&#xff0c;涵盖核心存储原理、多维度备份策略&#xff08;全量…...

别只盯着PID!用STM32的PWM差速控制,让你的循迹小车转弯更稳(附源码分析)

STM32 PWM差速控制&#xff1a;让循迹小车转弯更稳的实战技巧 循迹小车的核心挑战之一是如何实现平滑稳定的转弯控制。许多开发者习惯性地直接套用PID算法&#xff0c;却忽略了更基础的PWM差速控制策略。实际上&#xff0c;通过精心设计的PWM占空比调整方案&#xff0c;完全可以…...

终极指南:如何使用Ohm构建JavaScript解释器(10个完整步骤)

终极指南&#xff1a;如何使用Ohm构建JavaScript解释器&#xff08;10个完整步骤&#xff09; 【免费下载链接】ohm A library and language for building parsers, interpreters, compilers, etc. 项目地址: https://gitcode.com/gh_mirrors/oh/ohm Ohm是一个强大的解析…...

开发者专属:OpenClaw调用Qwen3-14B完成API自动化测试

开发者专属&#xff1a;OpenClaw调用Qwen3-14B完成API自动化测试 1. 为什么选择OpenClaw做API测试自动化 去年接手一个金融数据平台项目时&#xff0c;我遇到了API测试的瓶颈——每次迭代需要手动执行200个Postman测试用例&#xff0c;还要人工核对返回结果。这种重复劳动不仅…...