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

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

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

在这里插入图片描述

前言

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

目录

  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.rhkb.cn/news/346094.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你还不知道无线PLC?

随着技术的不断发展&#xff0c;工业控制系统也在经历着革新。无线PLC&#xff08;Programmable Logic Controller&#xff0c;可编程逻辑控制器&#xff09;是一种结合了无线通讯技术和传统PLC系统的创新型技术。它为工业自动化提供了一种更灵活、更便捷的解决方案&#xff0c…

大模型基础——从零实现一个Transformer(2)

大模型基础——从零实现一个Transformer(1) 一、引言 上一章主要实现了一下Transformer里面的BPE算法和 Embedding模块定义 本章主要讲一下 Transformer里面的位置编码以及多头注意力 二、位置编码 2.1正弦位置编码(Sinusoidal Position Encoding) 其中&#xff1a; pos&…

jmeter性能优化之mysql配置

一、连接数据库和grafana 准备&#xff1a;连接好数据库和启动grafana并导入mysql模板 大批量注册、登录、下单等&#xff0c;还有过节像618&#xff0c;双11和数据库交互非常庞大&#xff0c;都会存在数据库的某一张表里面&#xff0c;当用户在登录或者查询某一个界面时&…

第十二届蓝桥杯单片机国赛练习代码

文章目录 前言一、问题重述二、主函数总结 前言 第十五蓝桥杯国赛落幕已有十天&#xff0c;是时候总结一下&#xff0c;这个专栏也将结束。虽然并没有取得预期的结果&#xff0c;但故事结尾并不总是美满的。下面是赛前练习的第十二届国赛的代码。 一、问题重述 二、主函数 完整…

渗透测试模拟实战-tomexam网络考试系统

渗透测试&#xff0c;也称为“pentest”或“道德黑客”&#xff0c;是一种模拟攻击的网络安全评估方法&#xff0c;旨在识别和利用系统中的安全漏洞。这种测试通常由专业的安全专家执行&#xff0c;他们使用各种技术和工具来尝试突破系统的防御&#xff0c;如网络、应用程序、主…

高德地图简单实现点标,和区域绘制

高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart 百度搜索高德地图开发平台 注册高德地图开发账号 在应用管理中 我的应用中 添加一个Key 点击提交 进入高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart …

定个小目标之刷LeetCode热题(15)

这道题直接就采用两数相加的规则&#xff0c;维护一个进阶值&#xff08;n&#xff09;即可&#xff0c;代码如下 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {// 新建一个值为0的头结点ListNode newHead new ListNode(0);// 创建几个指针用于…

从零开始,手把手教你文旅产业策划全攻略

如果你想深入了解文旅策划的世界&#xff0c;那么有很多途径可以获取知识和灵感。 首先&#xff0c;阅读一些专业书籍也是一个不错的选择。书店或图书馆里有许多关于文旅策划的书籍&#xff0c;它们通常涵盖了策划的基本理论、方法和实践案例。通过阅读这些书籍&#xff0c;你…

对接专有钉钉(浙政钉)登陆步骤

背景 因为项目需要对接浙政钉&#xff0c;我想应该和之前对接阿里云的钉钉登陆钉钉登陆类似&#xff0c;就上网搜索看看&#xff0c;出现了个专有钉钉的概念&#xff0c;就一时间搞不清楚&#xff0c;钉钉&#xff0c;专有钉钉&#xff0c;浙政钉的区别&#xff0c;后续稍微理…

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核 2024/6/6 10:51 0、整体编译&#xff1a; 1、cat android12-rk-outside.tar.gz* | tar -xzv 2、cd android12 3、. build/envsetup.sh 4、lunch rk3588_s-userdebug 5、./build.sh -AUCKu -d rk3588-toybrick-x0-a…

Vue3中的常见组件通信之mitt

Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs…

Spring Boot框架基础

文章目录 1 Spring Boot概述2 Spring Boot入门2.1 项目搭建2.2 入门程序 3 数据请求与响应3.1 数据请求3.2 数据响应 4 分层解耦4.1 三层架构4.2 控制反转4.3 依赖注入 5 参考资料 1 Spring Boot概述 Spring是Java EE编程领域的一个轻量级开源框架&#xff0c;是为了解决企业级…

欧美北美南美国外媒体投稿和东南亚中东亚洲媒体海外新闻发稿软文推广营销策略有哪些?

在当今全球化的浪潮中&#xff0c;中国品牌正积极拓展海外市场&#xff0c;寻求更广阔的发展空间。面对国际竞争&#xff0c;有效的海外媒体发稿营销策略对于品牌国际化至关重要。以下是一些关键点和建议&#xff0c;以帮助品牌在海外市场取得成功。 深入了解目标市场&#xf…

11. MySQL 备份、恢复

文章目录 【 1. MySQL 备份类型 】【 2. 备份数据库 mysqldump 】2.1 备份单个数据表2.2 备份多个数据库2.3 备份所有数据库2.4 备份文件解析 【 3. 恢复数据库 mysql 】【 4. 导出表数据 OUTFILE 】【 5. 恢复表数据 INFILE 】 问题背景 尽管采取了一些管理措施来保证数据库的…

【python】unindent does not match any outer indentation level错误的解决办法

【Python】"unindent does not match any outer indentation level"错误的解决办法 在Python编程中&#xff0c;缩进是定义代码块的关键。与其它编程语言使用花括号或特定关键字不同&#xff0c;Python完全依赖缩进来区分代码结构。如果你在编码时遇到了错误信息unin…

stm32编写Modbus步骤

1. modbus协议简介&#xff1a; modbus协议基于rs485总线&#xff0c;采取一主多从的形式&#xff0c;主设备轮询各从设备信息&#xff0c;从设备不主动上报。 日常使用都是RTU模式&#xff0c;协议帧格式如下所示&#xff1a; 地址 功能码 寄存器地址 读取寄存器…

MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)

绪论​ 勿问成功的秘诀为何&#xff0c;且尽全力做您应该做的事吧。–美华纳&#xff1b;本章是MySQL的第二章&#xff0c;本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理&#xff0c;本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本…

ubuntu18.04离线安装Mysql

查看系统位数 首先看自己Ubuntu是32还是64位的 sudo uname --m 我是64位。 下载mysql MySQL :: Download MySQL Community Server (Archived Versions) 上传到服务器上 解压 mkdir mysql8 sudo tar -xvf mysql-server_8.0.11-1ubuntu18.04_amd64.deb-bundle.tar -C ./mysql8…

1 c++多线程创建和传参

什么是进程&#xff1f; 系统资源分配的最小单位。 什么是线程&#xff1f; 操作系统调度的最小单位&#xff0c;即程序执行的最小单位。 为什么需要多线程&#xff1f; &#xff08;1&#xff09;加快程序执行速度和响应速度, 使得程序充分利用CPU资源。 &#xff08;2&…

【MySQL】(基础篇二) —— MySQL初始用

MySQL初始用 目录 MySQL初始用基本语法约定选择数据库查看数据库和表其它的SHOW 在Navicat中&#xff0c;大部分数据库管理相关的操作都可以通过图形界面完成&#xff0c;这个很简单&#xff0c;大家可以自行探索。虽然Navicat等图形化数据库管理工具为操作和管理数据库提供了非…