MySQL 保姆级教程(一):了解 SQL

第 1 章 了解 SQL

1.1 数据库基础

在深入学习 MySQL 及其 SQL 语言 实现之前,应该对数据库及数据库技术的某些基本概念有所了解

1.1.1 什么是数据库

数据库是一个以某种有组织的方式存储的数据集合

1.1.2 表

某种特定类型数据的结构化清单
表名
数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的
模式
描述表的信息

1.1.3 列和数据类型

列:表中的一个字段,所有表都是由一个字段或多个字段组成的
​
数据类型:每个表列都有相对应的数据类型,它限制该列中存储的数据
整数类型(Integer Types):TINYINT: 很小的整数,范围在 -128 到 127 或 0 到 255 之间(取决于是否有符号)。SMALLINT: 小整数,范围在 -32768 到 32767 或 0 到 65535 之间。MEDIUMINT: 中等大小整数,范围在 -8388608 到 8388607 或 0 到 16777215 之间。INT 或 INTEGER: 普通整数,范围在 -2147483648 到 2147483647 或 0 到 4294967295 之间。BIGINT: 大整数,范围在 -9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615 之间。
浮点数类型(Floating-Point Types):FLOAT: 单精度浮点数。DOUBLE: 双精度浮点数。定点数类型(Fixed-Point Types):DECIMAL 或 NUMERIC: 用于存储固定精度的小数,例如货币。
字符串类型(String Types):CHAR: 固定长度字符串,最多 255 个字符。VARCHAR: 可变长度字符串,最多 65535 个字符。BINARY: 固定长度二进制字符串。VARBINARY: 可变长度二进制字符串。TINYBLOB: 非常小的二进制对象。TINYTEXT: 非常小的文本对象。BLOB: 二进制对象,最大大小为 65535 字节。TEXT: 文本对象,最大大小为 65535 字节。MEDIUMBLOB: 中等大小的二进制对象。MEDIUMTEXT: 中等大小的文本对象。LONGBLOB: 非常大的二进制对象。LONGTEXT: 非常大的文本对象。ENUM: 一个字符串对象,可以从预定义的值列表中选择一个。SET: 一个字符串对象,可以从预定义的值列表中选择零个或多个。
日期与时间类型(Date and Time Types):DATE: 日期,格式为 'YYYY-MM-DD'。TIME: 时间,格式为 'HH:MM:SS'。DATETIME: 日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。TIMESTAMP: 类似于 DATETIME, 但是自动更新为当前时间戳。YEAR: 年份,存储 2 位或 4 位格式的年份。
其他类型(Other Types):BOOL 或 BOOLEAN: 用于存储布尔值(真或假)。SERIAL: 自增长整数,通常用于创建主键。

1.1.4 行

表格的数据是按行存储的,行是表格中的一个记录

1.1.5 主键

一列(或一组列),其值能够唯一区分表中每个行
​
主键值规则:1. 任意两行都不具有相同的主键值2. 每个行都必须具有一个主键值3. 主键列不允许为空值

1.2 什么是 SQL

结构化查询语言
​
优点:1. 几乎所有重要的数据库都支持 SQL2. SQL 简单易学

第 2 章 MySQL 简介

2.1 什么是 MySQL

MySQL 是一种 DBMS(数据库管理系统)
​
成本:开源
性能:执行快
可信赖:某些非非常重要的公司都用 MySQL
简单:MySQL 很容易安装和使用

2.1.1 客户机——服务器软件

DBMS 分为两类: 1. 基于共享文件系统的 DBMS2. 基于客户机——服务器的 DBMS

2.1.2 MySQL版本

5.6     5.7     8.0

2.2 MySQL 工具

Mysql 是一个客户机-服务器 DBMS,因此,为了使用 MySQL,需要有一个客户机,即你需要用来与 MySQL 打交道的一个应用

2.2.1 mysql 命令行实用程序

每个 MySQL 都用安装一个名为 mysql 的简单命令行实用程序,在终端输入 mysql -u root -p 即可登录使用

2.2.2 MySQL Administrator

MySQL Administrator 是一个图形交互客户机,用来简化 MySQL 服务器的管理

2.2.3 MySQL Query Browser

MySQL Query Browser 是一个图形交互客户机,用来编写和执行 MySQL 命令

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

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

相关文章

Apple ID已成历史,在ios18中正式更名为Apple Account

随着iOS18的首个开发者预览版成功推送,众多热衷于尝鲜的用户已纷纷升级并开启全新体验。在这个版本中,备受瞩目的Apple ID正式迎来了它的进化——更名为Apple Account,并且拥有了中文名称“Apple账户”或简称“苹果账户”。 不过目前官网还称…

【机器学习】新网络环境docker实战:AI智能体平台DIFY部署与升级

目录 一、引言 二、Dify在dockerhub被禁用后,如何部署、升级 2.1 网络及硬件条件 2.2 docker部署、升级方案 三、总结 一、引言 关于dify,之前力推过,大家可以跳转 AI智能体研发之路-工程篇(二):Dify…

Python基于车牌识别的车辆进出管理系统

目录 1、效果图2、具体内容系统流程开发工具和环境项目所需依赖包目录描述:启动Django服务登录账号 3、源码下载技术交流 博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟…

Dom操作——操作元素,各种事件

Dom操作——操作元素,各种事件 文章目录 Dom操作——操作元素,各种事件一、操作元素操作内容操作属性操作样式 二、各种事件单击事件onload事件键盘事件鼠标事件焦点事件 一、操作元素 操作内容 1、经验: 修改 HTML 内容的最简单的方法时使…

Mysql数据类型解析

1、MySQL 数据类型 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.2、查看Mysql编码格式 mysql> show variables like "%char%"; ----------------------------------------------…

283. 移动零 (Swift版本)

题目描述 最容易想到的解法 从后向前遍历, 发现0就通过交换相邻元素将0移动到最后 class Solution {func moveZeroes(_ nums: inout [Int]) {for index in (0..<nums.count).reversed() {if nums[index] 0 {moveZeroes(&nums, index)}}}func moveZeroes(_ nums: inout …

多城市多门店会员营销管理系统介绍演示

阿基米德多城市多门店会员卡营销管理系统&#xff0c;采用Thinkphp8.0vue3.0uniapp技术栈开发&#xff0c;前后端分离&#xff0c;客户端支持小程序、H5、APP一键打包&#xff0c;功能完善、成熟稳定&#xff0c;使用简单易上手&#xff0c;是一套可以直接商业化运营的好系统&a…

安装和使用TrinityCore NPCBot

安装TrinityCore NPCBot 官网&#xff1a;GitHub - trickerer/Trinity-Bots: NPCBots for TrinityCore and AzerothCore 3.3.5 基本安装方法 Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server firstDownload NPCBots.patch and put …

为什么 JavaScript 在国外逐渐用于前端+后端开发

这个问题其实没人能给出可证伪的结论&#xff0c;那不如干脆给一个感性的答案: 因为阿里“不争气”。 确切的说&#xff0c;因为阿里的nodejs团队没卷赢&#xff0c;至少暂时还没卷赢&#xff0c;没拿到真正有价值的业务场景&#xff0c;做出真正有说服力的案例项目。刚好我有…

Qt调用第三方库的通用方式(静态链接库.a或.lib、动态链接库.dll)

目录 一、前提 二、如何引用静态链接库 三、如何引用动态链接库 四、示例代码资源 在开发项目中经常会存在需要调用第三方库的时候&#xff0c;对于Qt如何来调用第三方库&#xff0c;为了方便自己特意记录下详细过程。 一、前提 1. window 10操作系统 2. 已安装了Qt6.7.…

现代C++编程:C++ 17新特性个人总结

构造函数模板推导 它允许编译器推导类模板的参数类型&#xff0c;无需程序员显式指定。这带来了编写模板代码时的便利性&#xff0c;使得代码更加简洁。在此之前&#xff0c;创建模板类的对象时必须显式指定模板参数&#xff0c;即使这些参数可以从构造函数的参数中推导出来。…

leetcode415:字符串相加

题目链接&#xff1a; class Solution { public:string addStrings(string num1, string num2) {int num1len num1.size() - 1, num2len num2.size() - 1;int add 0;string ans "";while(num1len > 0 || num2len > 0 || add ! 0){int x num1len > 0 ?…

水帘降温水温

不同环境下的水帘啊&#xff0c;使用水温是不一样的&#xff0c;夏天使用水疗的水有两种&#xff0c;一个是常温的循环水&#xff0c;20~26左右&#xff0c;另外一个呢&#xff0c;就是深井水&#xff0c;重点是啥呢&#xff1f;就是无论我们用哪一种&#xff0c;能够把温度降到…

spark与flink的wordcount示例

spark的wordcount示例: package sparkimport org.apache.spark._object TestSparkWordCount {def main(args: Array[String]): Unit {val sc new SparkContext(new SparkConf().setAppName("wordcount").setMaster("local[*]")) // hello scala // …

【Java数据结构】优先级队列详解(二)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2.PriorityQueue的特性 3.优先级队列的构造 4.如何控制优先级队列是小堆还是大堆 5.PriorityQueue的方法 6. PriorityQueue的自动扩容方式 7.top-k问题——最小…

6.13作业

自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口标题this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:/Users/…

鸿蒙轻内核A核源码分析系列七 进程管理 (1)

本文开始继续分析OpenHarmony LiteOS-A内核的源代码&#xff0c;接下来会分析进程和任务管理模块。本文中所涉及的源码&#xff0c;以OpenHarmony LiteOS-A内核为例&#xff0c;均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_a 获取。如果涉及开发板&#xff…

【一个 Android 反编译神器jadx】

是的&#xff0c;JADX 是一个广泛使用的开源工具&#xff0c;用于将 Android 的 APK 文件反编译为可读的 Java 源代码。它在 Android 逆向工程和调试中非常有用&#xff0c;可以帮助开发者和安全研究人员分析应用程序的内部工作原理。 简介 JADX&#xff1a;一个使用 Java 编…

spring中IOC容器创建流程

跳转参考地址&#xff1a;https://wuliqun.cn/details?pps53

【安装笔记-20240613-Linux-在 OpenWrt 的 LuCI界面支持命令行调试】

安装笔记-系列文章目录 安装笔记-20240613-Linux-在 OpenWrt 的 LuCI界面支持命令行调试 文章目录 安装笔记-系列文章目录安装笔记-20240613-Linux-在 OpenWrt 的 LuCI界面支持命令行调试 前言一、软件介绍名称&#xff1a;ttyd主页官方介绍特点 二、安装步骤测试版本&#xf…