当前位置: 首页 > news >正文

SQLyou基础用法讲解

文章目录

      • SQLyog 基础知识讲解
    • 1. 数据定义语言 (DDL)
      • 创建数据库
      • 创建表
      • 修改表
      • 删除表
    • 2. 数据操作语言 (DML)
      • 插入数据
      • 批量插入数据
      • 更新数据
      • 条件更新
      • 删除数据
      • 条件删除
    • 3. 数据查询语言 (DQL)
      • 查询数据
      • 查询所有数据
      • 使用排序
      • 使用聚合函数
      • 分组查询
      • 使用 HAVING 子句
    • 4. 事务
    • 5. 索引
      • 创建索引
      • 唯一索引
      • 删除索引
    • 6. 视图
    • 7. 存储过程
    • 总结


SQLyog 基础知识讲解

SQLyog 是一款强大的 MySQL 数据库管理工具,提供了直观的图形用户界面 (GUI),帮助用户简化数据库管理和操作。以下内容将详细讲解 SQLyog 中的基础知识,并对数据定义语言 (DDL)、数据操作语言 (DML)、数据查询语言 (DQL) 以及索引、事务、视图和存储过程等内容进行扩展和注释。


1. 数据定义语言 (DDL)

DDL 用于定义和管理数据库结构,如创建、修改和删除数据库和表。

创建数据库

CREATE DATABASE my_database;
  • 解释: 创建一个名为 my_database 的新数据库,存放数据表及其数据。

创建表

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,  -- 自动递增的整型主键,每条记录唯一username VARCHAR(50) NOT NULL,      -- 用户名,长度不超过50个字符,不能为空email VARCHAR(100) NOT NULL,        -- 邮箱,长度不超过100个字符,不能为空created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  -- 创建时间,默认是当前时间
);
  • 解释: 创建一个名为 users 的表,包含 idusernameemailcreated_at 列,其中 id 列是主键,usernameemail 列不能为空,created_at 列自动记录插入数据的时间。

修改表

ALTER TABLE users
ADD age INT;  -- 向 users 表中添加 age 列,用于记录用户的年龄
  • 解释: 使用 ALTER TABLE 命令修改表结构,向 users 表中添加一个名为 age 的整型字段,用于存储用户的年龄信息。

删除表

DROP TABLE users;
  • 解释: 删除名为 users 的表,同时删除该表中的所有记录和结构。

2. 数据操作语言 (DML)

DML 用于操作数据表中的数据,主要包括插入、更新和删除操作。

插入数据

INSERT INTO users (username, email) 
VALUES ('john_doe', 'john@example.com');  -- 插入一条新记录
  • 解释: 向 users 表中插入一条新记录,用户名为 john_doe,邮箱为 john@example.com

批量插入数据

INSERT INTO users (username, email) 
VALUES 
('jane_doe', 'jane@example.com'),  -- 插入多个用户数据
('alice', 'alice@example.com');
  • 解释: 向 users 表中插入多条记录,一次插入多个用户信息,减少操作次数,提高效率。

更新数据

UPDATE users
SET email = 'john_doe@example.com'
WHERE username = 'john_doe';  -- 更新 john_doe 的邮箱信息
  • 解释: 更新 users 表中用户名为 john_doe 的记录,将其邮箱更改为 john_doe@example.comWHERE 子句用于指定更新的条件。

条件更新

UPDATE users
SET email = 'new_email@example.com'
WHERE age > 30;  -- 更新所有年龄大于 30 的用户的邮箱
  • 解释: 更新 users 表中所有年龄大于 30 的用户,将他们的邮箱设置为 new_email@example.com

删除数据

DELETE FROM users
WHERE username = 'john_doe';  -- 删除用户名为 john_doe 的记录
  • 解释: 从 users 表中删除用户名为 john_doe 的记录。WHERE 子句确保只删除特定的记录。

条件删除

DELETE FROM users
WHERE created_at < '2022-01-01';  -- 删除 2022 年之前创建的所有用户
  • 解释: 删除 users 表中所有创建时间早于 2022 年的记录。

3. 数据查询语言 (DQL)

DQL 用于查询数据库中的数据,主要通过 SELECT 语句来执行。

查询数据

SELECT username, email 
FROM users 
WHERE age > 18;  -- 查询所有年龄大于 18 岁的用户的用户名和邮箱
  • 解释: 查询 users 表中所有年龄大于 18 岁的用户,返回他们的用户名和邮箱。

查询所有数据

SELECT * FROM users;  -- 返回 users 表中的所有数据
  • 解释: 查询 users 表中的所有记录和所有列。

使用排序

SELECT * FROM users
ORDER BY created_at DESC;  -- 按照创建时间降序排列结果
  • 解释: 查询 users 表中的所有数据,并按照 created_at 列降序排列结果。最新的记录会排在最前面。

使用聚合函数

SELECT COUNT(*) AS total_users, AVG(age) AS average_age
FROM users;  -- 统计用户总数和平均年龄
  • 解释: 通过 COUNT 计算 users 表中的总用户数,通过 AVG 计算用户的平均年龄,分别命名为 total_usersaverage_age

分组查询

SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age;  -- 按年龄分组,统计每个年龄的用户数量
  • 解释: 按 age 分组,统计每个年龄段的用户数量,并将结果命名为 user_count

使用 HAVING 子句

SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age
HAVING user_count > 1;  -- 只显示用户数量大于 1 的年龄组
  • 解释: 使用 HAVING 子句进一步过滤分组结果,只显示用户数量大于 1 的年龄组。

4. 事务

事务是一个逻辑单元,其中的一组 SQL 操作要么全部成功,要么全部失败。事务用于确保数据库操作的一致性和完整性。

START TRANSACTION;  -- 开始一个事务-- 插入数据
INSERT INTO users (username, email) VALUES ('jane_doe', 'jane@example.com');COMMIT;  -- 提交事务,保存更改-- 如果出现错误,使用 ROLLBACK 撤销更改
ROLLBACK;
  • 解释: 通过 START TRANSACTION 开始事务,如果所有操作都成功,使用 COMMIT 提交更改。如果遇到错误,可以使用 ROLLBACK 撤销所有操作,保证数据的一致性。

5. 索引

索引用于加速数据查询操作,尤其是在处理大量数据时。通过索引,可以显著提高查询的速度。

创建索引

CREATE INDEX idx_username ON users (username);  -- 在 username 列上创建索引
  • 解释: 为 users 表中的 username 列创建索引,优化基于用户名的查询速度。

唯一索引

CREATE UNIQUE INDEX idx_email ON users (email);  -- 创建唯一索引,确保邮箱唯一
  • 解释: 创建一个唯一索引,确保 email 列中的值是唯一的。此索引会阻止重复的邮箱插入。

删除索引

DROP INDEX idx_username ON users;  -- 删除 username 列上的索引
  • 解释: 删除 users 表中 username 列上的索引。

6. 视图

视图是基于 SQL 查询创建的虚拟表,通常用于简化复杂查询或者为特定用户提供特定的数据视图。

CREATE VIEW active_users AS
SELECT username, email
FROM users
WHERE active = 1;  -- 创建一个只包含活跃用户的视图
  • 解释: 创建一个名为 active_users 的视图,视图中的数据来自 users 表,只包含标记为活跃的用户。

7. 存储过程

存储过程是一组预编译的 SQL 语句,可以多次调用,通常用于封装复杂的业务逻辑或重复性操作。

CREATE PROCEDURE GetUserCount()
BEGINSELECT COUNT(*) FROM users;  -- 返回用户总数
END;
  • 解释: 创建一个名为 GetUserCount 的存储过程,执行该过程时会返回 users 表中的用户总数。

总结

通过本篇基础知识讲解,涵盖了 SQLyog 中 DDL、DML 和 DQL 的基础语法和扩展功能,介绍了事务、索引、视图和存储过程的使用。掌握这些基本语法和扩展知识可以帮助你更有效地管理和操作 MySQL 数据库。

相关文章:

SQLyou基础用法讲解

文章目录 SQLyog 基础知识讲解 1. 数据定义语言 (DDL)创建数据库创建表修改表删除表 2. 数据操作语言 (DML)插入数据批量插入数据更新数据条件更新删除数据条件删除 3. 数据查询语言 (DQL)查询数据查询所有数据使用排序使用聚合函数分组查询使用 HAVING 子句 4. 事务5. 索引创建…...

Can‘t get Kerberos realm

近期封装Ozone客户端&#xff0c;需要走kerberos登陆&#xff0c;遇到了一个问题&#xff0c;花了很长时间解决。记录一下&#xff0c;跟网上能搜到的解决方案不大一样。 先看有问题的代码 Configuration config new Configuration();ConfigurationUtils.setHadoopConfig(conf…...

[python]从零开始的PySide安装配置教程

一、PySide是什么&#xff1f; PySide 是 Qt for Python 项目的一部分&#xff0c;它提供了与 PyQt 类似的功能&#xff0c;使开发者能够使用 Python 编程语言来构建基于 Qt 的图形用户界面 (GUI) 应用程序。PySide 是由 Qt 公司官方维护的&#xff0c;而 PyQt 则是由第三方开发…...

LeetCode[中等] 74.搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。…...

overleaf如何下载论文的pdf

用overleaf写完英文论文后&#xff0c;要将论文保存为PDF格式 点击图片中的下载按钮 然后选择一个路径保存论文的PDF格式即可。...

Java 每日一刊(第13期):this super static

“优秀的代码不仅仅是给机器看的&#xff0c;更是给人看的。” 前言 这里是分享 Java 相关内容的专刊&#xff0c;每日一更。 本期将为大家带来以下内容&#xff1a; this 关键字super 关键字static 关键字 this 关键字 this 关键字是 Java 中最常见的关键字之一&#xf…...

关于一些Spring的配置的作用

文章目录 spring.profiles.activejmx.default-domainmain.allow-bean-definition-overridingmain.allow-circular-referencescloud.nacoscloud.nacos.configcloud.nacos.shared-configsmvc.pathmatch.matching-strategy spring:profiles:active: ${config.profile}# include…...

利用Python与Ansible实现高效网络配置管理

利用Python与Ansible实现高效网络配置管理 在当今复杂多变的网络环境中&#xff0c;自动化配置管理工具成为了IT运维团队不可或缺的工具。Python以其强大的编程能力和丰富的库支持&#xff0c;结合Ansible这一流行的自动化运维工具&#xff0c;能够极大地提升网络配置管理的效…...

JDBC技术在不同数据库系统中的兼容性及Java数据库交互技术概览

目录 1. JDBC技术在不同数据库系统中的兼容性 2. 除了JDBC&#xff0c;还有哪些技术可以实现Java与数据库的交互&#xff1f; 3. 结论 在Java应用程序中&#xff0c;数据库交互是一个核心功能。Java Database Connectivity (JDBC) 是实现这一功能的标准技术之一。然而&#…...

双击热备 Electron网页客户端

安装流程&#xff1a; 1.下载node.js安装包进行安装 2.点击Next; 3.勾选&#xff0c;点击Next; 4.选择安装目录 5.选择Online 模式 6.下一步执行安装 。 7.运行cmd,执行命令 path 和 node --version&#xff0c;查看配置路径和版本 8.Goland安装插件node.js 9.配置运行…...

数据中台系统产品原型RP原型Axure高保真交互原型 源文件分享

在数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一。为了更好地管理和利用这些数据&#xff0c;这边为大家整理了一套数据中台Axure高保真原型。这套原型致力于为企业提供全方位的数据服务&#xff0c;助力企业实现数据驱动的创新发展。 下载及预览地址&#xff1a;h…...

论文阅读笔记:Sapiens: Foundation for Human Vision Models

Sapiens: Foundation for Human Vision Models 1 背景1.1 问题1.2 目标 2 方法3 创新点4 模块4.1 Humans-300M数据集4.2 预训练4.3 2D位姿估计4.4 身体部位分割4.5 深度估计4.6 表面法线估计 5 实验5.1 实现细节5.2 2D位姿估计5.3 身体部位分割5.4 深度估计5.5 表面法线估计5.6…...

【学术会议:中国厦门,为全球的计算机科学与管理科技研究者提供一个国际交流平台】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)

您的学术研究值得被更多人看到&#xff01; 在这里&#xff0c;我为您提供精准的会议推荐&#xff0c;包括计算机科学、管理科技、信息系统、人工智能、供应链管理等领域的国际会议。高效的稿件录用流程和优质的检索服务将确保您的研究成果迅速传播。关注我&#xff0c;寻找与…...

RK3588/RK3588s运行yolov8达到27ms

前言 Hello&#xff0c;小伙伴们~~我最近做了一个比较有意思的东西&#xff0c;想起来也好久没有写博客了&#xff0c;就记录一下吧。希望和大家一起学习&#xff0c;一起进步&#xff01; 我简单介绍一下我最近做的这个东西的经过哈~上个月在B站上看到了一个博主发了一条视频关…...

2024年华为杯中国研究生数学建模竞赛E题(高速公路应急车道紧急启用模型)思路

1. 统计四个观测点的交通流参数随时间的变化规律 思路: 从视频数据中提取流量、密度、速度等交通流参数。进行时间序列统计,分析其随时间的变化规律。通过数据可视化,帮助分析流量波动、车速变化等现象。主要步骤: 读取视频数据:利用提供的Python程序读取每个视频文件。提…...

np.random.seed设完又想用随机seed怎么办

Python 设完np random seed 之后又想不设这个seed让它random&#xff0c;怎么办&#xff1f; 在Python的NumPy库中&#xff0c;一旦你设置了随机种子&#xff08;通过numpy.random.seed()函数&#xff09;&#xff0c;所有后续的随机操作都会基于这个种子生成可预测的结果。如…...

[数据结构]动态顺序表的实现与应用

文章目录 一、引言二、动态顺序表的基本概念三、动态顺序表的实现1、结构体定义2、初始化3、销毁4、扩容5、缩容5、打印6、增删查改 四、分析动态顺序表1、存储方式2、优点3、缺点 五、总结1、练习题2、源代码 一、引言 想象一下&#xff0c;你有一个箱子&#xff08;静态顺序…...

Invalid Private Key, Not a valid string or uint8Array

报这种错误&#xff1a;一般在生成private key前面添加"0x"即可解决。我就是在私钥前面添加了"0x"解决了。 在学习web3时&#xff0c;使用助词生成的私钥&#xff0c;然后由私钥导出keystore就报错&#xff1a; ERROR Invalid Private Key, Not a valid …...

【Text2SQL】PET-SQL:在Spider基准测试中取得了SOTA

解读&#xff1a;PET-SQL: A Prompt-enhanced Two-stage Text-to-SQL Framework with Cross-consistency 这篇论文介绍了一个名为 PET-SQL 的文本到 SQL&#xff08;Text-to-SQL&#xff09;框架&#xff0c;旨在通过增强提示&#xff08;prompt&#xff09;和利用不同大型语言…...

python-3n+1数链/233

一&#xff1a;3n1数链题目描述 在计算机科学上&#xff0c;有很多类问题是无法解决的&#xff0c;我们称之为不可解决问题。然而&#xff0c;在很多情况下我们并不知道哪一类问题可以解决&#xff0c;哪一类问题不可解决。现在我们就有这样一个问题&#xff0c;问题如下&#…...

OpenCode效果实测:基于Qwen3-4B的代码生成质量与速度展示

OpenCode效果实测&#xff1a;基于Qwen3-4B的代码生成质量与速度展示 1. 项目概览与技术背景 OpenCode是2024年开源的AI编程助手框架&#xff0c;采用Go语言开发&#xff0c;主打"终端优先、多模型、隐私安全"的设计理念。该项目将大语言模型(LLM)包装成可插拔的Ag…...

基于H5的初学开发

目标&#xff1a;​ 1.能搭出页面​ 2.能看懂基本标签​ 3.能做表单​ 4.能放图片、音频、视频​ 5.能做简单画布效果​ 6.能做一个 AI Photo Booth 静态演示页​ 7.每个实验做完都能看到结果&#xff0c;不容易卡死 开发工具&#xff1a;VS Cod 本实验覆盖哪些 H5 内容​ 1.h…...

利用快马平台快速构建arm7流水灯原型,十分钟验证硬件控制逻辑

最近在带学生入门嵌入式开发时&#xff0c;发现ARM7这类经典架构虽然功能强大&#xff0c;但初学者往往会被复杂的环境搭建劝退。为了让大家能快速上手硬件控制逻辑&#xff0c;我尝试用InsCode(快马)平台构建了一个LED流水灯原型&#xff0c;整个过程比想象中顺畅很多。 项目设…...

科研党福音:Zotero+Green Frog插件一键获取期刊分区与影响因子(附easyScholar密钥配置全流程)

科研文献管理革命&#xff1a;Zotero与Green Frog插件的深度整合实践 作为一名长期浸泡在学术海洋中的研究者&#xff0c;我深知高效文献管理工具的重要性。每天面对数百篇新发表的论文&#xff0c;如何快速识别高质量文献成为决定科研效率的关键因素。传统的手动查询期刊影响因…...

noice.nvim终极性能优化指南:让你的Neovim编辑器运行如飞

noice.nvim终极性能优化指南&#xff1a;让你的Neovim编辑器运行如飞 【免费下载链接】noice.nvim &#x1f4a5; Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu. 项目地址: https://gitcode.com/gh_mirrors/no/noic…...

实战指南:在快马平台用trae构建电商购物车状态管理系统

今天想和大家分享一个实战项目&#xff1a;用trae在电商场景下构建购物车状态管理系统。这个方案特别适合需要清晰数据流的中小型项目&#xff0c;比如电商平台、管理后台等。下面我会详细拆解整个实现过程&#xff0c;希望能给有类似需求的同学一些参考。 项目结构设计 首先…...

魔兽争霸3帧率优化与性能调优指南:从卡顿到高流畅度的开源解决方案

魔兽争霸3帧率优化与性能调优指南&#xff1a;从卡顿到高流畅度的开源解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 在现代硬件环境下运行经…...

保姆级教程:用PtitPrince的RainCloud函数,5步搞定分组数据可视化

5步精通RainCloud Plot&#xff1a;用PtitPrince实现专业级分组数据可视化 第一次看到同事用雨云图展示A/B测试结果时&#xff0c;我被这种"既见森林又见树木"的呈现方式震撼了——左侧的密度曲线如山脉般起伏&#xff0c;中间的箱线图标出关键分位点&#xff0c;右侧…...

OFA视觉蕴含模型效果展示:抽象艺术作品与评论文本关联性

OFA视觉蕴含模型效果展示&#xff1a;抽象艺术作品与评论文本关联性 1. 引言&#xff1a;当抽象艺术遇见智能理解 想象一下这样的场景&#xff1a;你站在一幅抽象画前&#xff0c;画布上是狂放的笔触和难以名状的色彩组合。旁边有人评论说&#xff1a;"这幅画表达了宇宙…...

GY39传感器实战:从数据采集到环境监测应用

1. GY39传感器入门指南 第一次拿到GY39传感器时&#xff0c;我完全被它小巧的体积震惊了。这个只有拇指大小的模块&#xff0c;居然能同时测量气压、温湿度、光照强度四种环境参数。它的工作电压是3-5V&#xff0c;用普通的USB充电器就能供电&#xff0c;特别适合DIY项目。 GY3…...