MySQL数据库的基础:逻辑集合数据库与表的基础操作

news2024/11/16 19:03:02

本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

前言

在上一篇中,我们先如何学习数据库的 方法论 展开了激励的讨论, 而从本篇文章开始。小编将带着小伙伴们一起上满满的干货 ,本篇文章的目标主要是掌握对于 数据库 这个 逻辑集合 的 理解和基本的使用的重点详解 💖 💖 💖 💖

目录

  1. 数据库的基本操作

  2. 常用的数据类型

  3. 表的操作

一. 数据库的基本操作

在讲解数据库之前,小编在这里得解释一个概念

就是我们之前谈到的像 MySQLOracle 这样的 数据库 ,本质上来说他们都是一种 软件

而我们今天的谈及的 数据库 ,本质上是在数据库软件上 组织数据 的一种 “数据集合”

而我们要操作这些数据库,就需要用到我们 MySQL 中的 SQL 语句 , 来进行对 数据库数据库的表数据库的各种组成的属性 进行操作。

1. 查看当前数据库

<1>. SQL语句

show databases;

在这里插入图片描述

<2>. 语句分析

就像这样,我们的 SQL 语句, 是每执行完 一条语句 ,就会出现 一个对应结果

这和我们的 学过的 C语言 , Java这样的编程语言画风是完全不相同的,他们是需要多条语句联合去搭配,才能实现我们的功能,但我们的 SQL 却不用

show 就是我们 查看当前数据库 的关键标志,

<3>. 注意事项 :

  1. 在我们 SQL 中,是 不区分大小写的 , 如果小伙伴们有这样
SHOW DATABASES ;

这样子也是可以的, 但小编是习惯来会用小写 SQL 的来 书写和讲解

  1. 还有一点要注意的是,我们的 SQL每一个关键字(单词) 之间用 空格隔开 ,当我们 输完一个SQL 语句时, 必须用 英文的分号 结束

鱼式疯言

补充

  1. 像我们学过的 C语言Java 这样的编程语言一样, ; 一般为一条语句的 结束标志
  1. 这里还要注意咯,我们的 database 后面是要带上 s

2. 创建数据库

<1>. SQL 语句

create database [if not exists] 数据库名  charset utf8;

在这里插入图片描述

<2>. 语句分析

首先创建 数据库 用到的第一个 关键性的关键字 就是我们的 create + database 来创建

然后 [] 是 默认可写可不写的, 如果没写,当该 数据库存在 时,就会 报错, 如果 写了就不会

最后那个 charset 就是 指定特定字符集 的关键字, 那么什么是字符集呢 ? ? ?

字符集 本质上就是一种编码方案, 是用来识别不同语言文字(中文,英文,韩文,日文…) 一种特点的规则
我们需要指定 utf8 这样的字符集 来识别我们可能要用到的中文等… 多种表示的语言文字

像上面这样就是我们创建数据库的基本操作

而还有一些细枝末节的,是有些复杂,不常用, 几乎在面试不会出现的,小编在这里就不介绍了,感兴趣的小伙伴可以自己去了解哦

<3>. 注意事项

这里创建数据库名不能和 关键字重复,例如

在这里插入图片描述
就会报错

鱼式疯言

小细节说明

在这里插入图片描述

  1. 这是创建数据库成功的提示信息。其中 1 row affected 代表的含义就是 1行收影响

() 中代表的就是我们 执行了多少秒 的含义

在这里插入图片描述

  1. 这里小编最想要讲解的就是我们的 set 这个含义并不是平常理解的 设置,还是 “集合” 的含义.

就像我们 Java的数据结构 的,也有 HashSetTreeSet 这两个类,同时也代表 集合 的含义

而我们的集合有两大特性:

1) 无序

2) 唯一

3. 使用(指定)数据库

<1>. SQL语句

use  数据库名;

在这里插入图片描述

<2>. 语句分析

使用数据库的标志关键字就是我们的 use

当我们使用数据库后, 就可以对当前使用的数据库进行相对应的 数据表 操作(下篇文章重点讲解)

关于数据表,我们是这样梳理的

数据库数据表数据列数据行一个个数据

所以我们才称为 MySQL 是一种 关系型数据库

<3>. 注意事项

  1. 必须是在已有的数据库下使用该 数据库

在这里插入图片描述

否则就会提示这样的报错消息,代表数据库不存在。

4. 删除数据库

<1>. SQL语句

drop database  [if exists] 数据库名 ;

在这里插入图片描述

<2>. 语句分析

  1. drop + database删除数据库 的标志关键字
  1. [] 是默认可写可不写的,当数据库不存在式,如果 删除该数据库就会报错 ,加上就不会 。

<3>. 注意事项

数据库的删除 是一种 危险操作 ,当小伙伴用 drop database 语句时 , 一定要慎重再慎重 哦,

可以设想下,如果我们删除的是 银行的数据库 ,那后果可是 不堪设想 的 。

二. 常用的数据类型

我们 学过的 C语言Java 都用各自的 数据类型 ,而我们的 MySQL 同样也不会落后, 今天小编将带着小伙伴们讲解常用的 数据类型 .

1. 整型和浮点型

在这里插入图片描述

对于整型来说,我们一般使用 int 类型即可,如果 数据很大,换成 bigint 也无妨

小编在这里重点想说明的是 double(M,D)decimal(M,D) 的区别

首先: M 代表 长度,D代表 小数点 后的位数

举个栗子: 34.76 ==> M = 4 , D = 2

但是 decimal 是相对于 double 更加精确的 浮点数 数据类型, 但是运行速度相对 更慢点

鱼式疯言

这里小编要说点小细节:

我们几乎都很少用 无符号整型 这样的 数据类型 ,所以小编在这里就没有说明了 ! ! !

2. 字符串类型

在这里插入图片描述

重点说明:

varchar(SIZE)char(SIZE) 的区别 :

varchar 和 char 的区别:

size 单位指的是: 字符

varchar 中的 size 代表是 最大长度,是实际长度 <= size ,就是说可以 变长变短 的一种 字符串类型

char 中的 size 中的代表 实际长度 , 也就是说 实际长度 = size , 无论存储的 小于 size 还是 等于 size 。(大于size是不允许的)

举个栗子 :

如果存储的是字符串 ‘1234’

varchar(20) —> 实际存储的是 4个字符 的大小

char(20) —> 实际存储的是 20 个字符 的大小

3. 日期类型

在这里插入图片描述

对于 日期的数据类型 ,小编推荐是使用最常用 datetime 就能解决日期类型。

这时小爱同学就有问题了,

我们学习了这些常用的数据类型有什么用呢 ?

主要是为了我们 数据表的结构 的创建而服务的,下面让小编细细道来 💖 💖 💖 💖

三. 数据表的操作

在说进行数据表操作之前, 有件很重要的前提必须和小伙伴们说下 🤔 🤔 🤔 🤔

前面我们提及过,由于我们的 数据表 是在 不同数据库 下的,所以当我们要操作某个表时,就必须使用对应数据库。

所以我们第一条 SQL 语句 ,就表现先用 use 数据库名 ;·指定数据库 ,才能使用我们的 数据表

1. 查看当前表

<1>. SQL语句

show tables ;

在这里插入图片描述

<2>. 语句分析

和我们查看当前数据库一样,只要把我们的 之前查看 数据库databases 改成 tables 即可 !!!

<3>. 注意事项

虽然这里只是把 databases 改成 tables , 但我们一定是在前面 要用 use 数据库名; 来指定当前 数据库

否则就会看到如下这样

在这里插入图片描述

2. 查看表结构

<1>. SQL语句

 desc  表名 ;

在这里插入图片描述

关于表结构的说明 :

在这里插入图片描述

这里说的 字段 本质上就是我们表中的 (其他的属性,小编在后面会 一 一 讲解哦)

<2>. 语句分析

查看表结构的 标识关键字 就是我们的 desc , 后面只需要接当前 数据库的表名 即可。

<3>. 注意事项

只有在当前数据库下已有的表才能用 classes , 而当前指定的 数据库不存在的表 ,用 desc 就会报错

在这里插入图片描述

2. 创建表

<1>. SQL语句

create table  表名 (列名1  数据类型1    [comment    注释], 
 列名2  数据类型2   [comment  注释] .....;

在这里插入图片描述

<2>. 语句分析

建表的标识关键字就是 create table 后面 跟上表名() 进行建表操作 。

我们要注意的时, 每一个字段(列) 的数据类型是 不太一样 的,我们要根据 实际的场景 来选定合适的数据类型

建表的每一个字段(列) 之间是用 来隔开的, 当处于最后一个字段时, 我们就不需要用 直接用 ) ; 即可创建语句

<3>. 注意事项

当我们指定 特定的列 的时候,一定要 指定特点的长度 ,比如 varchar(SIZE)size 的 长度不可以太小,decimal(M,D) 中 , MD长度也不可以太小 。

鱼式疯言

[] 内是注释 (可写可不写),当我们需要给一些注释,用来后续的程序员来读我们的字段时,可以加上哦 💥 💥💥 💥

3. 删除表

<1>. SQL 语句

drop  table  [if exists ]   表名 ;

在这里插入图片描述

<2>. 语句分析

删除表 的标识关键字 drop table 后面 加上对应 表名 即可 。

[] 是可加可不加的,像我们 数据库删除表 一样 , 如果该表不存在,加上这个不会报错

<3>. 注意事项

删除表操作也是 非常危险 的操作,小伙伴一定要 三思而后行 哦 。

重要的比如 银行的数据表 是绝对 不能乱删 的哦 。

总结

在本篇文章中,主要学习了

  1. 操作数据库
  • 查看当前数据库
show  databases;
  • 创建数据库
create database [if not exists]  数据库名 ;
  • 指定数据库
use 数据库名;
  • 删除数据库
drop database [if exists]  数据库名 ;
  1. 常用数据类型
  • 整型类型

int , bigint

  • 字符串类型

char(size) 和 varchar(size)

  • 浮点数类型

double(M,D) 和 decimal (M,D)

  • 日期类型
  datetime
  1. 表操作
  • 查看当前表
show tables;
  • 查看表结构
desc 表名; 
  • 创建表
create table  表名 (列名1  数据类型1    [comment    注释], 
 列名2  数据类型2   [comment  注释] .....;
  • [ ] 删除表
drop  table  [if exists ]   表名 ;

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809431.html

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

相关文章

代码随想录算法训练营第三十二天| 122.买卖股票的最佳时机II,55. 跳跃游戏 ,45.跳跃游戏II

122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; class Solution {public int maxProfit(int[] prices) {if(prices.length 0){return 0;}int min prices[0];int result 0;for(int i1;i<prices.length;i){if(prices[i] > min){result (prices[i]…

day31贪心算法part01| 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

**455.分发饼干 ** 视频讲解 | 力扣链接刚开始想到的&#xff0c;但是这样太暴力了&#xff0c;太笨了 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {// 胃口g 饼干尺寸sint result 0;sort(s.begin(), s.end());…

数据可视化——pyecharts库绘图

目录 官方文档 使用说明&#xff1a; 点击基本图表 可以点击你想要的图表 安装&#xff1a; 一些例图&#xff1a; 柱状图&#xff1a; 效果&#xff1a; 折线图&#xff1a; 效果&#xff1a; 环形图&#xff1a; 效果&#xff1a; 南丁格尔图&#xff08;玫瑰图&am…

cnvd_2015_07557-redis未授权访问rce漏洞复现-vulfocus复现

1.复现环境与工具 环境是在vulfocus上面 工具&#xff1a;GitHub - vulhub/redis-rogue-getshell: redis 4.x/5.x master/slave getshell module 参考攻击使用方式与原理&#xff1a;https://vulhub.org/#/environments/redis/4-unacc/ 2.复现 需要一个外网的服务器做&…

大数据快速使用Kerberos认证集群

一、创建安全集群并登录其Manager 创建安全集群&#xff0c;开启“Kerberos认证“参数开关&#xff0c;并配置“密码“、“确认密码“参数。该密码用于登录Manager&#xff0c;请妥善保管。 登录MRS管理控制台页面。 单击“集群列表“&#xff0c;在“现有集群“列表&#xf…

Puppeteer实战案例:自动化抓取社交媒体上的媒体资源

在当今数字化时代&#xff0c;社交媒体已成为人们获取信息、分享生活和进行商业推广的重要平台。随着社交媒体内容的爆炸性增长&#xff0c;自动化抓取社交媒体上的媒体资源变得尤为重要。本文将介绍如何使用Puppeteer这一强大的自动化工具来实现这一目标。 1. Puppeteer简介 …

技术前沿 |【大模型BLIP-2的多模态训练】

大模型BLIP-2的多模态训练 一、引言二、BLIP-2模型概述三、多模态训练成本问题四、冻结预训练好的视觉语言模型参数的优势五、冻结预训练好的视觉语言模型参数的方法 一、引言 随着人工智能技术的飞速发展&#xff0c;大型多模态模型如BLIP-2在多个领域取得了显著的成果。然而…

人脸考勤项目实训

第一章 Python-----Anaconda安装 文章目录 第一章 Python-----Anaconda安装前言一、Anaconda是什么&#xff1f;二、Anaconda的前世今生二、Windows安装步骤1.官网下载2.安装步骤安装虚拟环境 总结 前言 工欲善其事必先利其器&#xff0c;项目第一步&#xff0c;安装我们的环境…

《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后

5.35从4月开始一直到成功&#xff0c;此文章将所有的记录和不同阶段代码展现给大家。但是没有配图&#xff0c;我最后成功的代码放在了最后。 2024.04.15 05.35.01version 求完整数&#xff0c;这个让我突然有点蒙。我什么时候能求完整数呢&#xff1f;&#xff1f; 正因子之和…

图Transformer 推荐系统

文章目录 Graph Transformer for Recommendation摘要引言相关工作方法3.1 Graph Invariant Rationale Learning3.1.1 Graph Collaborative Rationale Discovery3.1.2 Global Topology Information Injection3.1.3 Rationale Discovery with Graph Transformer.3.1.4 Task-Adapt…

React中的 Scheduler

为什么需要调度 在 React 中&#xff0c;组件最终体现为 Fiber&#xff0c;并形成 FiberTree&#xff0c;Fiber 的目的是提高渲染性能&#xff0c;将原先的 React 渲染任务拆分为多个小的微任务&#xff0c;这样做的目的是可以灵活的让出主线程&#xff0c;可以随时打断渲染&a…

视觉大模型(VLLM)学习笔记

视觉多模态大模型&#xff08;VLLM&#xff09; InternVL 1.5 近日&#xff0c;上海人工智能实验室 OpenGVLab 团队、清华大学、商汤科技合作推出了开源多模态大语言模型项目InternVL 1.5&#xff0c;它不仅挑战了商业模型巨头例如 GPT-4V 的霸主地位&#xff0c;还让我们不禁…

如何一键拷贝PPT中的所有文字?

有时我们可能需要引用PPT的文字&#xff0c;但一个幻灯片一个幻灯片拷贝很是麻烦&#xff0c;我们想一键拷贝PPT中所有幻灯片中的内容&#xff08;最近我就遇到了这个需求&#xff09;。今天就来讲讲这个一键拷贝的技巧。因为大家可能会遇到同样的问题&#xff0c;所以在此记录…

JAVA网络编程,反射及注解知识总结

文章目录 网络编程软件架构三要素IP端口号协议UDP协议发送数据接收数据三种通信方式 TCP协议客户端服务器端三次握手四次挥手 反射获取字节码文件获取构造方法获取成员变量获取成员方法反射的作用 动态代理注解作用格式使用位置注解的原理常见注解元注解自定义注解解析注解 网络…

Elasticsearch index 设置 false,为什么还可以被检索到?

在 Elasticsearch 中&#xff0c;mapping 定义了索引中的字段类型及其处理方式。 近期有球友提问&#xff0c;为什么设置了 index: false 的字段仍能被检索。 本文将详细探讨这个问题&#xff0c;并引入列式存储的概念&#xff0c;帮助大家更好地理解 Elasticsearch 的存储和查…

一文带你轻松掌握Java数组定义和声明

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

Android JobService启动系统源码分析

以下就JobService的执行流程,系统层实现进行详解 入口点在JobScheduler.scheduler 系统层JobScheduler是个抽象类,它的实现类是JobScheduler mBinder,一看就知道这里面肯定是跨进程了。它的服务端在JobSchedulerService里面,具体 为什么请看系统服务器启动流程相关文章,…

Python | 正则表达式

?:标记?之前的字符为可选. used&#xff1f; d可有可无 *:匹配>0个重复的在*号之前的字符。 ab*c 匹配多个b &#xff1a;匹配>1个重复的号前的字符。&#xff08;至少一个&#xff09; {n,m}&#xff1a;匹配num个大括号之前的字符或字符集 &#xff08;n < num …

创新案例|创新实时零售模式,千亿时尚巨头Shein的全球扩张之路

SHEIN&#xff0c;一家估值千亿美元的快时尚电商独角兽&#xff0c;是全球增长最快的服饰平台。它通过数据和平台的双轮驱动&#xff0c;构建了全新的“实时零售”模式&#xff0c;实现了数据与商业的紧密衔接。同时&#xff0c;通过领导力和组织能力建设&#xff0c;打造了独特…

实验四、零比特插入《计算机网络》

但凡这句话有一点用的话也不至于一点用都没有。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握零比特插入原理及方法使用任意编程语言实现零比特插入方法。 二、实验内容 掌握零比特插入原理及方法 点对点协议 PPP&#xff08;Point-to-Point Protoco…