【MySQL】一文带你了解SQL

news2024/12/26 10:47:16

🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集!
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
————————————————

在这里插入图片描述
在这里插入图片描述

文章目录

  • 😇MySQL的前情介绍
  • 😇了解SQL
  • 😇数据库基础
    • 😇什么是数据库
  • 😇表(table)
    • 😇表(table):某种特定类型数据的结构化清单
    • 😇表名
    • 😇模式(schema)
  • 😇列和数据类型
    • 😇列(column)
    • 😇数据类型(datatype)
  • 😇行(row)
  • 😇主键(primary key)
    • 😇主键(primary key)
  • 😇什么是SQL
  • 🤣如何巩固学习

😇MySQL的前情介绍

😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录一下自己的学习过程,并且分享给大家尼!

😇了解SQL

本文将介绍数据可和SQL,他们是学习MySQL的先决条件

我们一定要把我们的基础给打牢固啦这样才能在未来的日子里有足够的经验呢!

😇数据库基础

你正在阅读本文章,这表明你需要以某种方式与数据库打交道。在深入学习MySOL及其SQL语言的实现之前,应该对数据库及数据库技术的某些基本概念有所了解。

你可能还没有意识到,其实你自己一直在使用数据库。每当你从自己的电子邮件地址簿里查找名字时,你就在使用数据库。如果你在某个因特网搜索站点上进行搜索,也是在使用数据库。如果你在工作中登录网络,也需要依靠数据库验证自己的名字和密码。即使是在自动取款机上使用ATM卡,也要利用数据库进行PIN码验证和余额检查。

虽然我们一直都在使用数据库,但对究竟什么是数据库并不十分清楚。特别是不同的人可能会使用相同的数据库术语表示不同的事物,更加剧了这种混乱。因此,我们学习的良好切入点就是给出一张最重要的数据库术语清单,并加以说明。

😇什么是数据库

数据库这个术语的用法很多,但就本文章而言,数据库是一个以某种有组织的方式存储的数据集合。理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。

数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)

误用导致混淆:人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切地说,数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的是DBMS,它替你访问数据库。

😇表(table)

在你将资料放入自己的文件柜时,并不是随便将它们扔进某个抽就完事了,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。

数据库领域中,这种文件称为表。表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单。

😇表(table):某种特定类型数据的结构化清单

这里关键的一点在于,存储在表中的数据是一种类型的数据或一清单。决不应该将顾客的清单与订单的清单存储在同一个数据库表中。这样做将使以后的检索和访问很困难。应该创建两个表,每个清单一个表。

数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的这表示数据库中没有其他表具有相同的名字。

😇表名

表名的唯一性取决于多个因素,如数据库名和表名等的结合。这表示,虽然在相同数据库中不能两次使用相同的表名但在不同的数据库中却可以使用相同的表名

表具有一些特性,这些特性定义了数据在表中如何存储,如可以存储什么样的数据,数据如何分解,各部分信息如何命名,等等。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库(和其中表的关系)。

😇模式(schema)

模式(schema):关于数据库和表的布局及特性的信息。

**是模式还是数据库?**有时,模式用作数据库的同义词。遗憾的是,模式的含义通常在上下文中并不是很清晰。本文章中,模式指的是上面给出的定义

😇列和数据类型

表由列组成。列中存储着表中某部分的信息。

😇列(column)

列(column): 表中的一个字段。所有表都是由一个或多个列组成的

理解列的最好办法是将数据库表想象为一个网格。网格中每一列存储着一条特定的信息。例如,在顾客表中,一个列存储着顾客编号,另一个列存储着顾客名,而地址、城市、州以及邮政编码全都存储在各自的列中。

分解数据 :正确地将数据分解为多个列极为重要。例如,城市州、邮政编码应该总是独立的列。通过把它分解开,才有可能利用特定的列对数据进行排序和过滤(如,找出特定州或特定城市的所有顾客)。如果城市和州组合在一个列中,则按州进行排序或过滤会很困难

😇数据类型(datatype)

数据库中每个列都有相应的数据类型。数据类型定义列可以存储的数据种类。例如,如果列中存储的为数字(或许是订单中的物品数),则相应的数据类型应该为数值类型。如果列中存储的是日期、文本、注释金额等,则应该用恰当的数据类型规定出来。

数据类型(datatype) :所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许) 该列中存储的数据

数据类型限制可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。数据类型还帮助正确地排序数据,并在优化磁盘使用方面起重要的作用。因此,在创建表时必须对数据类型给予特别的关注。

😇行(row)

表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

例如,顾客表可以每行存储一个顾客。表中的行数为记录的总数。

行(row): 表中的一个记录

是记录还是行? 你可能听到用户在提到行 (row)时称其为数据库记录(record)。在很大程度上,这两个术语是可以互相替代的,但从技术上说,行才是正确的术语

😇主键(primary key)

表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用雇员ID或雇员社会保险号。

😇主键(primary key)

主键(primary key) :一列(或一组列),其值能够唯一区分表主键 (primary key)中每个行。

唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。

应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。

表中的任何列都可以作为主键,只要它满足以下条件:
1.任意两行都不具有相同的主键值
2.每个行都必须具有一个主键值(主键列不允许NULL值)。

主键值规则 这里列出的规则是MySOL本身强制实施的

主键的最好习惯 :除MySOL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:
1.不更新主键列中的值;
2.不重用主键列的值;
3.不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

😇什么是SQL

SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured QueryLanguage)的缩写。SQL是一种专门用来与数据库通信的语言.

与其他语言(如,英语以及Java和Visual Basic这样的程序设计语言)不一样,SOL由很少的词构成,这是有意而为的。设计SQL的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法。

SQL有如下的优点:

  1. SOL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支待SOL,所以,学习此语言使你几乎能与所有数据库打交道。
  2. SOL简单易学。它的语句全都是由描述性很强的英语单词组成而且这些单词的数目不多。
  3. SOL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

🤣如何巩固学习

提示:在学习的过程中,我们需要先自行进行思考,而不是一遇到不会的就放弃思考直接看答案,如果最后遇到真的不会的题目,我们可以适当的进行观看答案,看自己的思路是否正确,在作出正确的判断

好啦今日的分享到这里就结束啦,我是爱你们的M malloc希望可以帮助到你们噢,最后别忘记三连啦!!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

《嵌入式系统设计师教程 (第2版)》学习笔记

嵌入式系统设计师教程 (第2版).pdf》链接:https://download.csdn.net/download/AnChenliang_1002/87864728 该资源在上传时涉及到版权问题无法上传,所以保留该资源仅为了日后查看时博主自己可以下载; 本文用来记录在学习《嵌入式系统设计师…

三亚旅拍及游玩

可选景点 ⬇️①蜈支洲岛:各种各样的海上项目都有,海岛很美,被称作中国马尔代夫(144元) ⬇️②后海村:很适合新手学习冲浪(免费) ⬇️⑤西岛:一座安静的文艺小岛&…

2023年6月17号英语四六级考试倒计时,这些考前准备事项一定要注意

2023年6月全国大学英语四六级考试将于6月17日(本周六)举行,冰雪为大家总结了四六级考前及考中注意事项,供同学们参考! 考试时间 四级考试时间:6月17日上午9:00-11:20 六级考试时间:6月17日下午1…

爆肝整理,3个月从功能进阶自动化测试,一跃成测试卷王...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先先了解自动化…

GPT-4(THUDM) + LangChain >> Personalized expert AI assistant.(本地知识库教程)

GPT-4(THUDM) Langchain >> Personalized expert AI assistant. Langchain. GPT-4 LangChain简介 - 知乎 (zhihu.com) 利用LangChain和国产大模型ChatGLM-6B实现基于本地知识库的自动问答_哔哩哔哩_bilibili Github地址: https://github.c…

10个最佳WooCommerce电商网站测量价格计算器插件

您销售的产品需要根据大小、重量、尺寸、面积或体积定价?查看我们的热门WooCommerce跨境电商测量价格计算器插件列表,以及如何设置它们。你的客户可以轻松计算和接收定制或尺寸产品等的即时定价。 定价是任何在线商店的基本特征。就其本身而言&#xff…

ECC算法学习

ECC 一、ECC简介优缺点运用 二、算法理论基础1. 椭圆曲线的加法2. 椭圆曲线的二倍运算3. 同余运算4. 有限域5. 乘法逆元 三、算法公式1、有限域的负元2、有限域的加法, P Q P Q PQ3. 斜率计算(PQ即要计算P点切线,需要求导)4. 椭…

【Linux】通过 Shell 脚本修改用户密码

1. Linux 中修改用户密码 Linux 中要修改一个用户的密码通常是使用 passwd 命令来完成,命令格式如下。 #一般使用格式 passwd [username][注]:若其后不加任何用户名则表示修改当前用户的密码。 使用示例: 这里笔者将 im 用户的密码修改为 im…

简单的提示词操作融合微调 AI 图像

本文旨在帮助我们理解和运用稳定扩散技术对AI生成图像进行精确调整。通过本文将学习如何调整关键词的强度、消除不需要的对象以及如何混合两个关键词。 Stable Diffusion 可以直接下载秋叶大神一键安装包进行使用,也可以直接下git上原生下载自己部署。 百度链接 …

什么是低代码(Low-Code)?

现如今,我们已全面迈入智能互联网时代,新的技术不断迭代问世,也代表着新的生产力不断深入我们的生活,同时也是开创未来最好的原动力。那就眼下而言,什么样的新技术才能真正解放IT生产力,加速社会数字化转型…

2023/06/12 产品经理常用技术名词记录

PM懂点技术总是好的吧,还是要能听懂简单的专业名词。遇到就更新… — 前端 \color{green}{前端} 前端— H5 即HTML5,第五代超文本标记语言。泛指H5广告,是一种借助微信传播的营销形式。 H5页面是传统桌面网站的轻量级版本,支持…

Linux uinput

Linux Uinput 是一个模拟用户输入事件的内核驱动程序,它允许用户空间程序通过创建虚拟输入设备节点来生成模拟输入事件,这些事件可以是键盘、鼠标、触摸屏或其他输入设备的事件。此外,Uinput 还可以为虚拟输入设备设置各种属性,并…

U-Mail邮件系统多重措施保障用户信息安全 防范邮件泄密

电子邮件由于其具有较高的便捷性与高效性,已逐渐成为党政机关和企业工作人员内部联系和业务交流的主要方式之一。但其带来的诸多安全问题也引发了越来越多人的关注,其中最最严重的威胁是邮件泄密问题。就在刚刚过去的2022年国内外都发生了多起电子邮件造…

倍福工控机维修控制器主机维修C5102-0060

常见故障分类: 1、磨损性故障。由于机械正常磨损造成的故障。 2、操作故障。由于操作错误、操作不当造成的故障。 3、固有的薄弱性故障。由于设计问题,在正常使用时产生的故障。 工控机内部温度过高。在需长时间高温运行的环境中,计算机各…

从微观世界的RST包文视角助力企业网络应用故障排查和优化

1. 前言 随着互联网的普及和发展,各行业的业务和应用越来越依赖于网络。然而,网络环境的不稳定性和复杂性使得出现各种异常现象的概率变得更高了。这些异常现象会导致业务无法正常运行,给用户带来困扰,甚至影响企业的形象和利益。…

使用Appium 测试微信小程序和微信公众号方法

由于腾讯系QQ、微信等都是基于腾讯自研X5内核,不是google原生webview,需要打开TBS内核Inspector调试功能才能用Chrome浏览器查看页面元素,并实现Appium自动化测试微信小程序和微信公众号。 前提条件Appium环境搭建,这里不多说了&…

银行的程序员需要了解的一些简单知识

学习《简明银行会计 程序员视角》 会计与银行会计什么是会计?会计假设包括哪些内容?商业银行的业务分类?商业银行的运作过程?银行降准会产生什么效果? 左右开弓的记账法什么是会计恒等式?什么是T字图&#…

echarts画四川地图并交互

先看成果,点击地图中间点位做相应交互(如弹框详细信息等,这里不做演示) 具体步骤如下 一、具体在DataV.GeoAtlas地理小工具系列 (aliyun.com)这个地址获取数据如图即可下载出对应地址的json数据 二、vue中template里相关代码 &l…

传统测试将被取代?AI测试现状及发展之思

近年来,我一直关注AI相关的测试,并积极参与多个全国性测试社区和社群。在这些社区中,我与不同公司和领域的测试专家交流探讨AI测试相关话题,包括业界顶尖公司的专家和国内知名测试学者。我也参加了多个大会,聆听了许多…

【c++】动态联编和静态联编

动态联编和静态联编 动态联编条件&#xff1a;虚函数 基类指针/引用 静态联编条件&#xff1a;重载 动态联编代码 class A { public:virtual void print(){cout << "void printA()" << endl;} protected:int a; };class B :public A { public:void pri…