MySQL 基础入门教程
参考视频地址:一小时MySQL教程 bilibili
SQL 基础
数据库分为关系型数据库和非关系型数据库
常见的关系型数据库:
- MySQL、PostgreSQL、Oracle、SQL Server等。
非关系型数据库:
- MongoDB(文档型数据库)、Redis(键值型数据库)、Cassandra(列族数据库)、Neo4j(图形数据库)等。
在关系型数据库中,SQL(Structured Query Language) 语言 用于操作表中的数据,SQL 不区分大小写,但是一般来说,我们将关键字大写,表名、列名和其他名称小写。SQL 语言可以分为以下几类:
- DDL (Data Definition Language) 数据定义语言:
CREATE、DROP、ALTER、TRUNCATE等 - DML (Data Manipulation Language) 数据操作语言:
INSERT、UPDATE、DELETE、CALL等 - DQL (Data Query Language) 数据查询语言:
SELECT等 - DCL (Data Control Language) 数据控制语言:
GRANT、REVOKE等
- 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)
- 表(table):某种特定类型数据的结构化清单
- 模式(schema):关于数据库和表的布局及特性的信息
- 列(column):表中的一个字段。所有表都是有一个或多个列组成的
- 数据类型(datatype):每个表列都有相应的数据类型
- 行(row):表中的一个记录
- 主键(primary key):一列(或一组列),其值能够唯一区分表中的每个行
SQL 数据类型
一、整数类型
- INT:用于存储整数数据(4个字节)。
- SMALLINT:存储范围较小的整数(2个字节)。
- TINYINT:存储范围更小的整数
- BIGINT:用于存储非常大的整数(8个字节)。
二、浮点类型
- FLOAT:用于存储单精度浮点数。
- REAL:在某些数据库系统中,REAL是FLOAT的同义词,或用于表示另一种浮点类型。
- DOUBLE:用于存储双精度浮点数,精度高于FLOAT。
三、字符数据类型
- CHAR(n):固定长度字符数据,n表示字符数。
- VARCHAR(n):可变长度字符数据,n表示最大字符数,节省存储空间。
- TEXT:用于存储大量文本数据,长度通常超过VARCHAR的限制。
四、Unicode数据类型
- NCHAR(n):固定长度Unicode字符数据,n表示字符数。
- NVARCHAR(n):可变长度Unicode字符数据,n表示最大字符数。
- NTEXT:用于存储大量Unicode文本数据。
五、日期和时间数据类型
- DATE:仅存储日期。
- TIME:仅存储时间。
- DATETIME:存储日期和时间。
- TIMESTAMP:存储时间戳,通常用于记录时间变更或事件。
六、数值类型
- NUMERIC(p, s) 或 DECIMAL(p, s):用于精确存储小数数据,p表示总位数,s表示小数点后位数。
七、货币数据类型
- MONEY:用于存储货币数据,通常要求8个存储字节。
- SMALLMONEY:用于存储较小范围的货币数据,通常要求4个存储字节。
八、二进制数据类型
- BINARY(n):固定长度二进制数据,n表示字节数。
- VARBINARY(n):可变长度二进制数据,n表示最大字节数。
- BLOB(Binary Large Object):用于存储大量二进制数据,如图片、音频、视频文件等。
九、其他数据类型
- BOOL 或 BOOLEAN:用于存储逻辑真或假,值通常为TRUE或FALSE,1或0。
- ENUM:枚举类型,用于存储一组预定义的值。
- ARRAY、SET、JSON等集合类型:用于存储一组数据。
需要注意的是,不同的数据库管理系统(如MySQL、PostgreSQL、SQL Server等)可能支持的数据类型及其特性略有差异。因此,在选择数据类型时,应参考具体数据库系统的文档和指南。
创建数据库
显示当前所有数据库:SHOW DATABASES;
创建数据库:CREATE DATABASE [name];
删除数据库:DROP DATABASE [name];
使用数据库:USE DATABASE [name];
创建表
显示数据库内的表:SHOW TABLES;
显示列:SHOW COLUMNS FROM [tablename];
创建表:
CREATE TABLE player(id INT,name VARCHAR(10),level INT,exp INT,gold DECIMAL(10,2)
)
显示表的信息:DESC player 或者 DESCRIBE player

修改表结构,使用 ALTER 语句:
- 修改现有字段:
ALTER TABLE player MODIFY COLUMN name VARCHAR(8);ALTER TABLE player MODIFY COLUMN level INT DEFAULT 1;

- 增加字段:
ALTER TABLE player ADD COLUMN last_login DATETIME;

- 删除字段:
ALTER TABLE player DROP COLUMN last_login;
删除表:DROP TABLE [table_name];
重命名表:RENAME TABLE [last_name] TO [current_name];
增删改查
查询关键字:SELECT
查询语句一般格式:SELECT [column_name] FROM [table_name] LIMIT [start_line_num, total_line_nums];
通配符*可以用于检索所有列:SELECT * FROM [table_name]
ORDER BY 子句用于对检索出的数据进行排序,DESC 用于降序排序,ASC 用于升序排序
SELECT 子句顺序:
SELECTFROMWHEREGROUP BYHAVINGORDERED BYLIMIT
增加关键字:INSERT
修改关键字:UPDATE
删除关键字:DELETE
数据导入导出
数据导出:mysqldump
数据导入:
过滤数据
WHERE 关键字:SELECT [column_name1] FROM [table_name] WHERE [column_name2] IS NULL AND [column_name3] <= 3;
分组数据
GROUP BY 子句和 HAVING 子句;
子查询
表关联
索引
视图
相关文章:
MySQL 基础入门教程
参考视频地址:一小时MySQL教程 bilibili SQL 基础 数据库分为关系型数据库和非关系型数据库 常见的关系型数据库: MySQL、PostgreSQL、Oracle、SQL Server等。 非关系型数据库: MongoDB(文档型数据库)、Redis&am…...
俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩
近年来,当代女性健康食品市场正经历快速发展和显著变化。随着女性健康意识的提升,市场对专门针对女性健康的产品需求快速上升。女性消费者对健康的关注不再局限于表面,而是越来越注重内在健康和生活质量的提升。此外,中式养生文化…...
腾讯云推流播放相关
直播的在线人数是否有上限? 腾讯云直播默认不限制观看直播的在线人数,只要网络等条件允许都可以观看直播。如果用户配置了带宽限制,当观看人数过多、超出了限制带宽时新的用户无法观看,此情况下在线人数是有限制的。 如何使用播…...
UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)
通过《MMD模型及动作一键完美导入UE5》系列文章,我们可以把外部场景、角色、动画资产导入UE5,接下来我们将实现运行时动态加载这些资产,并任意组合搭配。 1、运行时播放相机动画 1、创建1个BlueprintActor,通过这个蓝图动态创建1个LevelSequence,并Play 2、将这个Bluep…...
@JsonAlias和@JSONField序列化和反序列化
com.fasterxml.jackson.annotation.JsonAlias("expressCode") com.alibaba.fastjson.annotation.JSONField(name "expressCode") 这两个注解分别属于不同的JSON序列化框架:Jackson 和 Fastjson,它们的用途是处理JSON字段的名称映射…...
k8s1.27部署ingress 1.11.2
k8s1.27部署ingress 1.11.2 要求: 1、使用主机网络。 2、多节点部署,以来标签:isingressistrue ingress1.11.2支持版本 官方参考链接: https://github.com/kubernetes/ingress-nginx/ 官网yaml https://raw.githubuserconten…...
【运维】自动化运维详解
目录 引言一、什么是自动化运维?二、自动化运维的优势三、自动化运维的关键组成部分详解3.1 监控与告警3.2 部署与配置管理3.3 备份与恢复3.4 安全管理 总结 引言 在当今信息技术飞速发展的时代,企业对IT基础设施的依赖日益增强,传统的人工运…...
线控底盘技术介绍
随着汽车工业的不断发展,传统的机械控制系统逐渐向电子控制系统转变。线控底盘(Drive-by-Wire Chassis)作为这一转变的重要组成部分,正在改变汽车的操控方式和驾驶体验。本文将全面介绍线控底盘的概念、组成、工作原理、优缺点、应…...
DOM对象
DOM概述 官方定义: DOM是W3C制定的一个规范(标准),(Document Object Model,文档对象模型),是提供了访问和操作网页中各元素的方法,让程序可以动态的修改或改变网页元素的内容、样式、结构。 DOM是W3C制定的一个规范…...
[SQL] 数据库图形化安装和使用
一 安装 1.1 图形化安装 下载DataGrip安装包 点击此处一直下一步即可。点击免费使用。 进去界面后,选择新建一个项目 点击加号,创建一个Mysql连接。输入Mysql的连接信息。点击DownLoad下载Mysql的驱动 接下来点击创建的mysq项目中后面的三个点,选择…...
springboot 前后端处理日志
为了实现一个高效且合理的日志记录方案,我们需要在系统架构层面进行细致规划。在某些情况下,一个前端页面可能会调用多个辅助接口来完成整个业务流程,而并非所有这些接口的交互都需要被记录到日志中。为了避免不必要的日志开销,并…...
C++11 简单手撕多线程编程
如何使用线程库 std::thread 创建线程 thread1.join(); 阻塞主线程 thread1.detach(); 线程分离 #include<iostream> #include<thread>void helloworld(std::string msg) {for (int i 0; i < 10000; i){std::cout << i << std::endl;}//std::cou…...
刷c语言练习题7(牛客网)
1、函数fun的声明为int fun(int *p[4]),以下哪个变量可以作为fun的合法参数() A、int a[4][4]; B、int **a; C、int **a[4] D、int (*a)[4]; 答案:B 解析:如果是fun的合法参数,那么其类型应该与定义函数fun中的参数类型…...
Web Worker和WebSocket
Web Worker和WebSocket协议都是Web开发中用于处理多线程和实时通信的技术,但它们的应用场景和工作原理有所不同。 Web Worker Web Worker是HTML5引入的一项技术,它允许JavaScript代码在后台线程中运行,从而实现真正的多线程处理。Web Worke…...
【LeetCode】动态规划—712. 两个字符串的最小ASCII删除和(附完整Python/C++代码)
动态规划—712. 两个字符串的最小ASCII删除和 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化5. 小总结 代码实现PythonPython3代码实现Python 代码解释 CC代码实现C 代码解释 总结: 前言 在字符串处…...
wordpress Contact Form 7插件提交留言时发生错误可能的原因
WordPress Contact Form 7 插件提交留言时发生错误可能有以下几种原因,并提供相应的解决方案: 1. 表单字段验证失败 原因: 用户输入的数据未通过表单字段的验证规则。 解决方案: – 检查表单字段的验证规则是否设置正确。 –…...
uibot发送邮件:自动化邮件发送教程详解!
uibot发送邮件的操作指南?uibot发送邮件的两种方式? 在现代办公环境中,自动化流程的引入极大地提高了工作效率。uibot发送邮件功能成为了许多企业和个人实现邮件自动化发送的首选工具。AokSend将详细介绍如何使用uibot发送邮件。 uibot发送…...
【PostgreSQL】PG数据库表“膨胀”粗浅学习
文章目录 1 为什么需要关注表膨胀?2 如何确定是否发生了表膨胀?2.1 通过查询表的死亡元组占比情况来判断膨胀率2.1.1 指定数据库和表名2.1.2 查询数据库里面所有表的膨胀情况 3 膨胀的原理3.1 什么是膨胀?膨胀率?3.2 哪些数据库元…...
力扣(leetcode)每日一题 871 最低加油次数 | 贪心
871. 最低加油次数 题干 汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,用数组 stations 表示。其中 stations[i] [positioni, fueli] 表示第 i 个加油站位于出发位置东面 positioni 英里处,并且有 f…...
ppt压缩文件怎么压缩?压缩PPT文件的多种压缩方法
ppt压缩文件怎么压缩?当文件体积过大时,分享和传输就会变得困难。许多电子邮件服务对附件的大小有限制,而在网络环境不佳时,上传和下载大文件可能耗时较长。此外,在不同设备上播放时,较大的PPT文件还可能导…...
Andi活码,最简单好用!
上链接: https://app.andi.cn/qr/ 试用过这么多群聊二维码的活码工具。 真正好用的是我推荐的这款Andi活码。 免登录、打开即用。单屏管理,超简单好用。 优威科技有限公司出品。 承诺永久免费长期支持。 稳定可靠好用! 不信我来用一下…...
超越单线程:探索MATLAB并行计算与进程间通信的实践路径
1. MATLAB并行计算的本质与局限 很多人第一次接触MATLAB时,都会惊讶于它的单线程特性——当你运行一个耗时计算时,整个界面都会卡住,连命令行都无法输入。这其实源于MATLAB最初的设计哲学:保持简单一致的执行环境。但现代计算任务…...
Xinference-v1.17.1保姆级:CentOS7离线环境部署,无外网依赖完整安装流程
Xinference-v1.17.1保姆级:CentOS7离线环境部署,无外网依赖完整安装流程 本文详细记录了在CentOS7离线环境中部署Xinference-v1.17.1的完整流程,无需外网依赖,适合企业内网环境使用。 1. 环境准备与前置检查 在开始安装之前&…...
Vue项目实战:集成Cesium加载天地图与高德地图的完整指南
1. 环境准备与项目初始化 在开始集成Cesium之前,我们需要先搭建好Vue的开发环境。这里我推荐使用Vue 3的组合式API,因为它的模块化特性与Cesium的集成更加契合。不过Vue 2的用户也不用担心,大部分代码都是兼容的。 首先创建一个新的Vue项目…...
Word制表位全攻略:从菜鸟到高手,5分钟搞定专业文档排版
Word制表位全攻略:从菜鸟到高手,5分钟搞定专业文档排版 你是否曾经为了对齐文档中的文字而疯狂敲击空格键?或是花费大量时间调整表格边框却依然无法让数字完美对齐?这些困扰其实只需要掌握一个Word中的隐藏神器——制表位&#x…...
Plausible Analytics:隐私友好型网站统计完全指南:Google Analytics替代方案
Plausible Analytics:隐私友好型网站统计完全指南:Google Analytics替代方案 背景 网站分析是网站运营优化的重要基础。Google Analytics 作为最广泛使用的网站分析工具,提供了强大的数据洞察能力。然而,GA 存在诸多问题&#x…...
OpenOCD配置文件进阶指南:手把手教你定制STM32F0x的swj-dp.tcl脚本
OpenOCD深度定制:STM32F0x调试接口脚本开发实战 嵌入式开发中,调试工具的灵活配置往往决定着开发效率。对于STM32F0x系列芯片而言,OpenOCD作为开源调试工具链的核心组件,其配置文件的可定制性为开发者提供了极大的灵活性。本文将深…...
CentOS 7.9 上TDengine 3.0.4.2 二进制安装避坑指南:从下载到压测一条龙
CentOS 7.9 上TDengine 3.0.4.2 二进制安装实战:从零部署到百万级压测全解析 时序数据库正在成为物联网、工业互联网和金融监控等场景的核心基础设施。作为国产时序数据库的佼佼者,TDengine以其卓越的写入性能和压缩比,正在全球范围内获得越…...
告别特征点!FAST-LIVO2的‘直接法’融合:如何用原始点云和图像块实现更快的SLAM?
FAST-LIVO2:直接法SLAM的革命性突破与工程实践指南 1. 直接法SLAM的技术演进与核心价值 当波士顿动力的Atlas机器人完成后空翻动作时,其核心定位系统正面临着与人类体操运动员相似的挑战——如何在高速运动中维持对环境的精确感知。这正是FAST-LIVO2这类…...
终极指南:如何在ComfyUI中掌握IPAdapter Plus图像风格迁移技术
终极指南:如何在ComfyUI中掌握IPAdapter Plus图像风格迁移技术 【免费下载链接】ComfyUI_IPAdapter_plus 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_IPAdapter_plus 在AI图像生成领域,ComfyUI IPAdapter Plus插件正在成为图像风格迁…...
