MySQL数据库和表的基本操作
文章目录
- 一、数据库的基础知识
-
- 背景知识
- 数据库的基本操作
- 二、数据类型
-
- 字符串类型
- 数值类型
- 日期类型
- 三、表的基本操作
-
- 创建表
- 查看表结构
- 查看所有表
- 删除表
一、数据库的基础知识
背景知识
MySQL是一个客户端服务器结构的程序
主动发送数据的这一方,客户端(client)
被动接受数据的这一方,服务器(server)
客户端给服务器发送的数据叫做: 请求(request)
服务器给客户端发送的数据叫做: 响应(response)
客户端和服务器之间是通过网络进行通信的
服务器是存储数据的主体(数据是存储在主机的硬盘上的)

服务器当中存放多个数据库,每个数据库当中又可以存放多张表,每张表中又存储各自的数据
数据库能够正常使用的前提条件是客户端与服务器是建立连接的
数据库的基本操作
1.显示所有数据库
show databases;

2.创建数据库
create database [if not exists] name [charset charset_name] [collate collate_name]
这里中括号所包含的都是可加可不加的,自己按具体情况选择

这里我们看到消息OK,证明我们成功创建了一个名为test的数据库。

当我们再次创建test数据库时,系统报了一个错误(database exists),证明这个数据库已经存在。这时候我们就可以加一个判断( if not exists)

3.使用数据库
当我们要对一个数据库进行操作时,那么这时我们得使用这个数据库。
use name;

4.删除数据库
删除数据库是一件十分危险的事情,大家在进行删库的时候一定要慎重再慎重
drop database name;

但是如果删的库,服务器中不存在,那么就会报错误

这时我们可以在数据库名前面加一判断
二、数据类型
我们在学习MySQL数据类型时,会发现有些数据类型设计的并不好,和Java有一些区别,这是因为MySQL这里语言比较久远了,那时还没有Java这样语言。
字符串类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
| varchar(size) | 0 - 65535 字节 | 可变长度字符串 | String |
| text | 0 - 65535 字节 | 长文本数据 | String |
| mediumtext | 0 -16777215 字节 | 中等长度文本数据 | String |
| blod | 0 - 65535 字节 | 二进制长文本数据 | byte[ ] |
varchar(size):最常用的字符串的类型,带一个参数参数,这里表示存储的最大限度,varchar(50)表示这列最多存50个字符,至于这个size设置为多少,根据实际需求来制定,并不是size订多少就直接分配多少,而是动态分配,但是最大不会超过size。
text,mediumtext:适用于比较长的字符串,比较存储一篇长文等,应用较少
bold:主要是用来存储二进制的数据。
数值类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
| bit(M) | M指定位数,默认为1 | 二进制数 | 常用boolean对应bit |
| tinyint | 1字节 | byte | |
| smallint | 2字节 | short | |
| int | 4字节 | Integer | |
| bigint | 8字节 | Long | |
| float(M,D) | 4字节 | 单精度,M为长度,D为小数位数,会丢失精度 | Float |
| double(M,D) | 8字节 | 双精度,M为长度,D为小数位数,会丢失精度 | Double |
| decimal(M,D | M/D最大值+2 | 双精度,M为长度,D为小数位数,精确数值 | BigDecimal |
| numeric(M,D | M/D最大值+2 | 双精度,M为长度,D为小数位数,精确数值 | BigDecimal |
数值类型可以指定为无符号(unsigned),不去取负数。
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
float,double:并不适合用来需要精确存储的数据,因为IEEE 754标准,数据在内存中的存储就决定了无法精确表示数据。
decimal: 可以精确的表示浮点数,因为它牺牲了空间和运算速度,换来的是更精确的表示方法。
最常用的数值类型: int,double,decimal
日期类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
| datetime | 8字节 | 范围从1000-9999年,不会进行检索及转换 | java.util.Date、java.sql.Timestamp |
| timestamp | 4字节 | 范围从1970 - 2038年,自动检索当前时区并转换 | java.util.Date、java.sql.Timestamp |
在表中插入时的类型为: ‘xxxx-xx-xx xx:xx:xx’
timestamp: 这个类型有点危险,将在2038年耗尽
三、表的基本操作
在进行任何数据库的表时,都需要先使用该数据库
use name;
创建表
在这里我们以创建一个学生表为例:
create table student(id bigint comment '学号',name varchar(50),age bigint
);

查看表结构
desc table_name;

查看所有表
可以查看当前数据库下的所有表
show tables;

删除表
删除表结构和删除数据库操作都是非常危险的使用的时候都要小心再小心
drop table table_name;

相关文章:
MySQL数据库和表的基本操作
文章目录 一、数据库的基础知识 背景知识数据库的基本操作二、数据类型 字符串类型数值类型日期类型三、表的基本操作 创建表查看表结构查看所有表删除表 一、数据库的基础知识 背景知识 MySQL是一个客户端服务器结构的程序 主动发送数据的这一方,客户端(client…...
SAM应用:医学图像和视频中的任何内容分割中的基准测试与部署
医学图像和视频中的任何内容分割:基准测试与部署 目录 摘要:一、引言1.1 SAM2 在医学图像和视频中的应用 二.结果2.1 数据集和评估协议2.2 二维图像分割的评估结果 三 讨论四 局限性和未来的工作五、方法5.1数据来源和预处理5.2 微调协议5.3 评估指标 总…...
Qt消息对话框
问题对话框 对应API [static] QMessageBox::StandardButton QMessageBox::question( QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons StandardButtons(Yes | No), QMessageBox::StandardButton defaultButt…...
FreeRTOS的队列管理
“队列”提供了一种任务到任务、任务到中断和中断到任务的通信机制。 队列特性 数据存储 队列可以容纳有限数量的固定大小的数据项。队列可以容纳的最大项目数称为其“长度”。每个数据项的长度和大小都是在创建队列时设置的。 队列通常用作先进先出(FIFO…...
买卖股票的最佳时机(动态规划方法总结)
总结一下,买卖股票系列的动态规划思想,贪心解法或者其他解法不做描述。 总结 121. 买卖股票的最佳时机 只有一次交易机会,每天有两种状态:持有股票和不持有股票; 122. 买卖股票的最佳时机 II 有多次交易机会&#x…...
KubeSphere安装mysql8.4.0
背景 KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,完全开源,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。 安装组件前提&am…...
SpringBoot项目热部署-devtools
DevTools 会使用两个类加载器(一个用于加载不变的类,一个用于加载可能会变化的类),每次重启只重新加载管理变化的类的加载器,因此会快很多 1.导入依赖 <dependency> <groupId>org.springframework.boot&l…...
从MySQL到OceanBase离线数据迁移的实践
本文作者:玉璁,OceanBase 生态产品技术专家。工作十余年,一直在基础架构与中间件领域从事研发工作。现负责OceanBase离线导数产品工具的研发工作,致力于为 OceanBase 建设一套完善的生态工具体系。 背景介绍 在互联网与云数据库技…...
ifconfig 和 ip addr
1. 工具所属套件 ifconfig:属于较老的 net-tools 套件。曾是 Unix 和 Linux 系统上广泛使用的工具。ip addr:属于较新的 iproute2 套件。它取代了 ifconfig,并逐渐成为现代 Linux 系统上更常用的工具。 2. 功能覆盖范围 ifconfigÿ…...
NCCL报错
1、报错信息: raise RuntimeError("Distributed package doesnt have NCCL " "built in") RuntimeError: Distributed package doesnt have NCCL built in 2、报错原因: windows系统不支持nccl,采用gloo; …...
域7:安全运营 第16章 安全运营管理
第七域包括 16、17、18、19 章。 第七域所涵盖的广泛知识点,与我们的安全运营工作之间存在着高度的契合性。这些知识点不仅为我们的安全运营提供了有力的理论支撑,还使得SOC(安全运营中心)在日常运作中能够更加高效地发挥作用。通…...
研发线上事故风险解读之数据库存储
专业在线打字练习平台-巧手打字通,只输出有价值的知识。 一 前言 本文继续基于《线上事故案例集》,进一步深入梳理线上事故数据存储方面的问题点,重点关注数据库存储在使用和优化过程中可能出现的问题,旨在为读者提供具有实践指导…...
react hooks中在setState后输出state为啥没有变化,如何解决
在 React Hooks 中,setState 的概念被 useState 或 useReducer 钩子所替代。与类组件中的 setState 一样,这些钩子也是异步更新状态的。因此,如果你尝试在调用 setState(即 setXXX 函数)后立即读取状态值,你…...
C++设计模式——代理模式
欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言代理模式的定义代理模式的具体实现 引言 我们经常听到代理服务器「代理服务器是一个中间服务器,能够接收客户端的请求,并代表客户端向服务器发起请求,然后将服…...
docker 复制文件,清除不再使用数据导出以及导出文件系统
docker cp -a centos :/etc/centos-release #将容器内文件复制到宿主机 docker cp /etc/issue centos:/root #将宿主机文件复制到容器内 docker export: 将一个运行的或者挺值得容器的文件系统导出为一个tar归档文件。需要注意,docker export 不会包含该…...
【Vue】Vue3.0(十一)Vue 3.0 中 computed 计算属性概念、使用及示例
上篇文章:【Vue】Vue3.0(十)toRefs()和toRef()的区别及使用示例 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年10月15日10点23分 文章目录 Vue 3.0中…...
【第三版 系统集成项目管理工程师】第17章 法律法规和标准规范
持续更新。。。。。。。。。。。。。。。 【第三版】第17章 法律法规和标准规范 17.1法律法规17.1.1 法与法律 P5801.基本概念-P5802.本质与特征-P580 17.1.2 法律体系1.世界法律体系(非重点)-P5802.中国特色社会主义法律体系-P581 17.1.3 法的效力1.对象效力-P5822.空间效力-…...
安装 LLM 编程工具 cursor
1,网址 cursor.com 点击 Download for Free 下载安装包 下载到一个300KB的安装压缩包,解压后双击后,点 open 安装过成会下载真正的应用程序 点击 continue 登陆 比如选择使用 github账号登陆 则会弹出如下网页: 先登陆 github&a…...
Java链式编程的定义、例子、使用方法、实际应用场景、自动装配构造
链式编程(Fluent Interface)是一种编程风格,允许通过方法调用连接在一起进行操作,通常用于提高代码的可读性和简洁性。在 Java 中,链式编程常通过返回 this(当前对象)来实现。这种做法在构建器模…...
用 Git Stash 临时保存修改,轻松切换任务!
在开发过程中,我们经常会遇到这样的情况:正在写代码,突然领导或同事让你赶紧处理一个紧急 bug,但你当前的代码还没写完,不能提交,这时候该怎么办呢?别慌,Git 的 stash 命令正好能帮上…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
