mysql 常用知识点总结
MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。
1. 基础概念
- 数据库 (Database): 数据库是存储数据的容器,里面可以包含多个表。
- 表 (Table): 表是数据库中的核心元素,包含行(记录)和列(字段)。
- 行 (Row): 一行数据代表表中的一条记录。
- 列 (Column): 列是数据的属性,每个列都有一个特定的数据类型。
- 数据类型 (Data Types): 定义列中数据的类型,如整数、浮点数、字符串、日期等。
2. 常见数据类型
| 数据类型 | 描述 |
|---|---|
INT | 整数 |
FLOAT | 浮点数 |
VARCHAR | 变长字符串 |
CHAR | 固定长度字符串 |
TEXT | 大文本 |
DATE | 日期(格式:YYYY-MM-DD) |
DATETIME | 日期和时间(格式:YYYY-MM-DD HH:MM:SS) |
3. 数据库管理
-
创建数据库
CREATE DATABASE db_name;db_name: 数据库名称。
-
选择数据库
USE db_name; -
查看现有数据库
SHOW DATABASES; -
删除数据库
DROP DATABASE db_name;
4. 表操作
-
创建表
CREATE TABLE table_name (column_name1 data_type constraints,column_name2 data_type constraints,... );table_name: 表的名称。data_type: 列的数据类型。constraints: 列的约束,如PRIMARY KEY、NOT NULL等。
示例:
CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,enrollment_date DATE ); -
查看表结构
DESCRIBE table_name; -
删除表
DROP TABLE table_name; -
修改表结构
- 添加新列:
ALTER TABLE table_name ADD new_column_name data_type; - 修改列类型:
ALTER TABLE table_name MODIFY column_name new_data_type; - 删除列:
ALTER TABLE table_name DROP COLUMN column_name;
- 添加新列:
5. 数据操作
5.1 插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
示例:
INSERT INTO students (id, name, age, enrollment_date) VALUES (1, 'John Doe', 20, '2023-09-01');
5.2 查询数据
-
基本查询
SELECT column1, column2, ... FROM table_name;示例:
SELECT name, age FROM students; -
查询所有列
SELECT * FROM table_name; -
使用条件过滤查询
SELECT column1, column2, ... FROM table_name WHERE condition;示例:
SELECT * FROM students WHERE age > 18; -
排序
SELECT * FROM table_name ORDER BY column1 [ASC|DESC];示例:
SELECT * FROM students ORDER BY age DESC; -
限制查询结果
SELECT * FROM table_name LIMIT number;示例:
SELECT * FROM students LIMIT 5; -
聚合函数
COUNT():返回记录数SUM():返回总和AVG():返回平均值MIN():返回最小值MAX():返回最大值
示例:
SELECT COUNT(*) FROM students;
5.3 更新数据
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
示例:
UPDATE students SET age = 21 WHERE id = 1;
5.4 删除数据
DELETE FROM table_name WHERE condition;
示例:
DELETE FROM students WHERE id = 1;
6. 连接 (JOIN) 操作
-
内连接 (INNER JOIN): 返回两个表中匹配的记录。
SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column; -
左连接 (LEFT JOIN): 返回左表中的所有记录,即使右表中没有匹配。
SELECT columns FROM table1 LEFT JOIN table2 ON table1.column = table2.column; -
右连接 (RIGHT JOIN): 返回右表中的所有记录,即使左表中没有匹配。
SELECT columns FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
7. 索引 (Index)
索引用于提高查询速度。
-
创建索引
CREATE INDEX index_name ON table_name (column_name); -
删除索引
DROP INDEX index_name ON table_name;
8. 事务 (Transaction)
事务确保一组 SQL 操作要么全部执行,要么全部不执行。
-
开始事务
START TRANSACTION; -
提交事务
COMMIT; -
回滚事务
ROLLBACK;
9. 视图 (View)
视图是基于 SQL 查询的虚拟表。
-
创建视图
CREATE VIEW view_name AS SELECT columns FROM table_name WHERE condition; -
删除视图
DROP VIEW view_name;
10. 存储过程 (Stored Procedure)
存储过程是一组预编译的 SQL 语句,封装起来可以复用。
-
创建存储过程
CREATE PROCEDURE procedure_name (parameters) BEGINSQL_statements; END; -
调用存储过程
CALL procedure_name(parameters); -
删除存储过程
DROP PROCEDURE procedure_name;
11. 触发器 (Trigger)
触发器在某个事件(如插入、更新或删除)发生时自动执行。
-
创建触发器
CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name FOR EACH ROW BEGINSQL_statements; END; -
删除触发器
DROP TRIGGER trigger_name;
12. 权限管理
-
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; -
赋予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host'; -
撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host'; -
删除用户
DROP USER 'username'@'host';
13. 常用工具
-
EXPLAIN: 查看查询的执行计划。
EXPLAIN SELECT * FROM table_name; -
SHOW PROCESSLIST: 查看当前运行的 SQL 查询。
SHOW PROCESSLIST;
这是 MySQL 的完整语法概述,适用于基本数据库操作、数据查询、表结构管理、索引、事务、存储过程等内容。通过学习和使用这些语法,能够有效管理和查询数据库。
相关文章:
mysql 常用知识点总结
MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据…...
conda常用指令
1、查看conda版本 conda --version 2、更新conda conda update conda 3、查看conda环境信息 conda info 4、查看已有虚拟环境 conda info --envs conda info -e conda env list 5、创建新虚拟环境 conda create --name myenv python3.8 6、激活环境和退出环境 conda…...
前后端分离项目--下载功能
文章目录 不使用代理服务器blobblob构造函数通过FormData对象的getBlob方法创建Blob对象将Blob对象转换成UR 使用代理服务器 前后端分离项目中下载与其他接口的使用不同,一般下载不走node,不通过代理服务器,而是直接在前台发送请求࿰…...
PMP--一模--解题--81-90
文章目录 4.整合管理81、 [单选] 一位先前不活跃的干系人参与程度突然增加,这种意外的参与导致了一些变更请求。项目经理应该做什么? 4.整合管理82、 [单选] 公司的新产品系列将在两个月内发布,95%的项目任务均已完成。但是,管理层…...
计算机网络 --- 【2】计算机网络的组成、功能
目录 一、计算机网络的组成 1.1 从组成部分看 1.2 从工作方式看 1.3 从逻辑功能看 1.4 总结 二、计算机网络的功能 2.1 数据通信 2.2 资源共享编辑 2.3 分布式处理 2.4 提高可靠性 2.5 负载均衡 一、计算机网络的组成 1.1 从组成部分看 我们举例分析计算机网络从…...
『功能项目』切换职业技能面板【49】
我们打开上一篇48切换职业面板的项目, 本章要做的事情是制作第二职业法师技能面板、第三职业面板并且完成切换 双击打开Canvas进入预制体空间 复制三个技能栏面板 重命名 设置第一技能栏 设置第二职业技能栏 设置第三职业技能栏 修改脚本:ChangeProfess…...
寻找排名好的自闭症学校?这些关键因素不可忽视
郑州市如果有一家如星贝育园这样的自闭症公办学校,那无疑将为当地的自闭症儿童及其家庭带来巨大的福音。星贝育园所展现出的专业性、承诺的康复效果保障、以及为特殊儿童提供的全方位支持,都体现了其对自闭症儿童教育康复事业的深刻理解和高度责任感。 …...
Git常用命令(记录)
提交代码 git status 查看状态git add .或者git add xx选择提交全部或者某文件git commit -m “提交信息”git push 创建新分支提交到新的分支 git checkout -b [branch-name] 创建并切换到新分支git add [file-name] 将要上传的文件添加到暂存区git commit -m “commit mes…...
STM32+ESP8266 WiFi连接机智云平台APP远程控制教程
本文档将介绍如何用STM32ESP8266 WiFi模块从零开始连接上机智云,并通过APP进行远程控制。 机智云官网:机智云|智能物联网操作系统 (gizwits.com) 准备:STM32、ESP8266、手机、可上网的WiFi。 1.创建设备 1.1 注册登陆 请自行注册账号并登陆…...
学懂C++(六十):C++ 11、C++ 14、C++ 17、C++ 20新特性大总结(万字详解大全)
一、引言 随着计算机科学与技术的飞速发展,编程语言也在不断进化以满足日益增长的需求。C是一门集高性能和灵活性于一身的编程语言,自1983年诞生以来不断演进,逐渐成为了众多领域的主流编程语言。为了进一步提升开发效率和代码质量࿰…...
杭电1008电梯
提供两种做法,第一种不知道为啥不ac。。。 #include<iostream> using namespace std; //不清楚为什么报错了 int a[10000],x[10000]; int main(){int n;while(cin>>n,n!0){for(int i0;i<n;i){cin>>a[i];if(i0) x[i](65)*a[i]-5;else {if(a[i-…...
【Python小知识 - 2】:在VSCode中切换Python解释器版本
文章目录 在VSCode中切换Python解释器版本 在VSCode中切换Python解释器版本 在VSCode中按下快捷键CtrlShiftP,出现命令框。 输入以下命令: Python: Select Interpreter输入命令回车后即出现不同的Python解释器选项,选择想要切换的Python解释器…...
ubuntu meson安装
安装 sudo python3 -m pip install meson sudo python3 -m pip install ninja问题 libdrm ERROR: Dependency “libdrm” not found, tried pkgconfig and cmake Unable to correct problems, you have held broken packages. sudo apt-get update --fix-missing sudo apt in…...
记者协会评审系统-需求分析
记者协会评审系统-需求分析 文章目录 记者协会评审系统-需求分析一、参与角色二、业务流程2.1 作品推荐收集2.2 初步审核2.3 评审功能(初评)2.4&5 定评和审定三、功能清单2.1 基础功能2.2 业务功能2.3.1.单位投稿功能2.3.2.推荐作品分类管理2.3.3. 稿件初审2.3.4.评审功能…...
python 检索与该查询最相似的句子 使用库hflayers和sentence_transformers来实现遇到的问题
此篇文章总结遇到三个问题(3. OSError: We couldn’t connect to ‘https://huggingface.co’ to load this file, couldn’t find it in the cached files and it looks like sentence-transformers/all-mpnet-base-v2 is not the path to a directory containing a file nam…...
计算机毕业设计 在线新闻聚合平台的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
【机器学习随笔】概率论与实际问题的对应
主要从直观看待问题的角度,对概率分布进行分类。 一、时间维度 1、一个事件两次发生的时间间隔或者说,单位时间内发生了两次的概率,用指数分布 2、多个事件发生的时间间隔,用Gamma分布。 3、单位时间了发生了k次的概率,…...
C++初阶学习——探索STL奥秘——模拟实现list类
1、基本框架 list 由三个类构建而成: 节点类:每个节点必须的三部分(指向前一个节点的指针、指向后一个节点的指针、当前节点存储的数据) 迭代器类:此时的迭代器为双向迭代器,比较特殊,需要对其进行封装,如 it并非使迭代器单纯向后移动&…...
生命之光不灭:帕金森综合征晚期,如何携手共度温暖岁月
在岁月的长河中,每个人都是自己故事的作者,而面对帕金森综合征这一挑战,尤其是步入晚期的老人,他们的故事更显坚韧与温情。今天,就让我们一起探索,如何在科学护理与人文关怀的双重滋养下,让帕金…...
Matlab simulink建模与仿真 第十五章(信号源库)
参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号源库中的模块概览 注:部分模块在第二章中有介绍,本章不再赘述。 二、from输入源模块 1、From Workspace模块 (1)该模块可从MATLAB工作区、模型工作区…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
