mysql常见语法操作笔记

1. 数据库的基本操作

1.1. MYSQL登录与退出

D:\phpstudy_pro\Extensions\MySQL5.7.26\bin

输入 mysql -uroot -proot -h127.0.0.1

退出的三种方法

mysql > exit;

mysql > quit;

mysql > \q;

1.2. MYSQL数据库的一些解释

注意:数据库就相当于文件夹

表就相当于文件

1.3. mysql注释符有三种:

1、#...

2、"-- ..."

3、/.../

2. 数据库的一些基本操作

2.1. 创建数据库

create database db1;

2.2. 删除数据库

drop database db1;

2.3. 显示所有数据库

show databases;

2.4. 选择数据库

use db1

3. table 表的操作

3.1. 创建数据表

假设我们要创建一个名为 students 的数据表,包含学生的基本信息:

CREATE TABLE students (  
  id INT AUTO_INCREMENT PRIMARY KEY,  
  name VARCHAR(50) NOT NULL,  
  age INT,  
  gender ENUM('Male', 'Female'),  
  email VARCHAR(100) UNIQUE  
);

3.2. 插入数据

students 表中插入一条数据:

INSERT INTO students (name, age, gender, email) VALUES ('John Doe', 20, 'Male', 'john@example.com');

3.3. 查询数据

查询所有学生的信息:

SELECT * FROM students;

查询年龄大于 18 的学生信息:

SELECT * FROM students WHERE age > 18;

3.4. 更新数据

将 John Doe 的年龄更新为 21:

UPDATE students SET age = 21 WHERE name = 'John Doe';

3.5. 删除数据

删除名为 'John Doe' 的学生信息:

DELETE FROM students WHERE name = 'John Doe';

3.6. 修改数据表结构

students 表添加一个 birthdate 字段:

ALTER TABLE students ADD birthdate DATE;

修改 email 字段的长度为 150:

ALTER TABLE students MODIFY COLUMN email VARCHAR(150);

重命名 email 字段为 contact_email

ALTER TABLE students CHANGE email contact_email VARCHAR(150);

3.7. 数据表索引操作

students 表的 name 字段创建唯一索引:

CREATE UNIQUE INDEX idx_name ON students(name);

查看 students 表的所有索引:

SHOW INDEXES FROM students;

3.8. 数据表删除

删除 students_copy 表:

DROP TABLE students_copy;

4 mysql常用的查询方式

4.1. 基本查询

查询 students 表中的所有记录:

SELECT * FROM students;

4.2. 条件查询

查询年龄大于 20 的学生:

SELECT * FROM students WHERE age > 20;

查询名字为 'John Doe' 的学生:

SELECT * FROM students WHERE name = 'John Doe';

4.3. 排序查询

查询所有学生并按年龄降序排列:

SELECT * FROM students ORDER BY age DESC;

4.4. 分页查询

查询年龄大于 20 的学生,每页显示 5 条记录,显示第 2 页的内容:

SELECT * FROM students WHERE age > 20 LIMIT 5 OFFSET 5;

或者使用简化的写法:

SELECT * FROM students WHERE age > 20 LIMIT 10, 5;

4.5. 聚合查询

查询学生的总数:

SELECT COUNT(*) FROM students;

查询学生的平均年龄:

SELECT AVG(age) FROM students;

查询年龄最大的学生:

SELECT * FROM students ORDER BY age DESC LIMIT 1;

4.6. 分组查询

按性别分组并计算每组的学生数:

SELECT gender, COUNT(*) as student_count FROM students GROUP BY gender;

4.7. 连接查询

假设有一个 courses 表记录学生选课信息,通过 student_idstudents 表关联。查询每个学生的选课情况:

SELECT students.name, courses.course_name  
FROM students  
JOIN courses ON students.id = courses.student_id;

4.8. 子查询

查询年龄大于平均年龄的学生:

SELECT * FROM students WHERE age > (SELECT AVG(age) FROM students);

4.9. LIKE 查询

查询名字以 'John' 开头的学生:

SELECT * FROM students WHERE name LIKE 'John%';

查询名字中包含 'Doe' 的学生:

SELECT * FROM students WHERE name LIKE '%Doe%';

4.10. IN 查询

查询 id 为 1, 3, 5 的学生:

SELECT * FROM students WHERE id IN (1, 3, 5);

4.11. 使用 DISTINCT 去重

查询所有不重复的性别:

SELECT DISTINCT gender FROM students;

4.12. 使用 CASE 进行条件选择

根据学生的年龄进行分类:

SELECT name,  
       CASE  
           WHEN age <= 18 THEN 'Teenager'  
           WHEN age BETWEEN 19 AND 30 THEN 'Young Adult'  
           ELSE 'Adult'  
       END as age_group  
FROM students;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

类和对象(2)——封装(封装的概念、包、staic)

前言 面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象阶段&#xff0c;主要研究的就是封装特性。何为封装呢&#xff1f;简单来说就是套壳屏蔽细节。 一、什么是封装 1.1 概念 将数据和操作数据的方法进行有机结合&#xff0c;隐藏对象的属性和实现细节&…

CXL论文阅读笔记整理(持续更新)

CXL 介绍 An Introduction to the Compute Express LinkTM (CXLTM) Interconnect arXiv Paper 对CXL技术进行介绍&#xff0c;包括CXL 1.0、CXL 2.0、CXL 3.0&#xff0c;对各规范的提升做介绍。整理了现有的CXL实现方法&#xff0c;延迟测试结果&#xff0c;对未来发展进行…

三分钟带你读懂面向对象的三大特征:封装,继承,多态

很多小伙伴在学面向对象的时候觉得非常抽象&#xff0c;尤其是对于面向对象的三大特征&#xff1a;封装&#xff0c;继承&#xff0c;多态不理解&#xff0c;那这期文章呢&#xff0c;九九就给大家安排&#xff0c;三分种带你迅速掌握封装&#xff0c;继承&#xff0c;多态。 …

17.基础乐理-调式、自然大调式(C大调、D大调。。。)

调式&#xff1a; 若干个音&#xff0c;按照某种规则排列起来&#xff0c;就是调式&#xff0c;调式是一个非常大&#xff0c;非常抽象的概念&#xff0c;调式这两个字是一个统称&#xff0c;当明确了 若干个音 到底有几个音&#xff0c;某种规则到底是什么规则之后&#xff0c…

刚拿到的《HarmonyOS应用开发者高级认证》,全网整理的题目,将近300题,100%通过

刚拿到《HarmonyOS应用开发者高级认证》&#xff0c;现在把题目和答案分享一下&#xff0c;这些题目是我根据其他网站整理的&#xff0c;宁滥勿缺&#xff0c;有个别题目是重复的&#xff0c;抽半天时间看一下&#xff0c;应该是稳过的。当然建议还是先跟着文档学一下鸿蒙或者看…

【UE5.1】使用MySQL and MariaDB Integration插件——(4)修改、插入、删除数据

目录 效果 步骤 一、修改 二、插入、删除 在上一篇博客&#xff08;【UE5.1】使用MySQL and MariaDB Integration插件——&#xff08;3&#xff09;表格形式显示数据&#xff09;基础上继续实现修改、插入和删除数据库数据的功能 效果 修改数据&#xff1a; 插入数据&…

【YOLO系列PR、F1绘图】更改v5、v7、v8(附v8训练、验证方式),实现调用val.py或者test.py后生成pr.csv,然后再整合绘制到一张图上(使用matplotlib绘制)

目录 1. 前提 效果图2. 更改步骤2.1 得到PR_curve.csv和F1_curve.csv2.1.1 YOLOv7的更改2.1.1.1 得到PR_curve.csv2.2.1.2 得到F1_curve.csv 2.1.2 YOLOv5的更改&#xff08;v6.1版本&#xff09;2.1.3 YOLOv8的更改&#xff08;附训练、验证方式&#xff09; 2.2 绘制PR曲线 …

在CSDN创作了6个月,我收获了什么?文末送书~

作者主页&#xff1a;阿玥的小东东主页&#xff01; 正在学习&#xff1a;python和C/C 期待大家的关注哦 目录 一次很好的机会&#xff0c;让我开始了CSDN之旅 首先来看看我的几位领路人 创作动力 1W粉丝 在CSDN我收获了什么&#xff1f; 很高的展现量 认证创作者身份 社…

Linux 网络操作命令FTP

FTP命令 引言 文件传输协议&#xff08;FTP&#xff09;是一种用于在网络上进行文件传输的协议。在Linux系统中&#xff0c;FTP可以作为一个非常有用的工具来上传、下载和管理文件。本文将介绍如何在Linux系统中安装FTP服务器&#xff0c;以及如何使用FTP客户端进行文件传输。…

RabbitMQ进阶学习

在之前的练习作业中&#xff0c;我们改造了余额支付功能&#xff0c;在支付成功后利用RabbitMQ通知交易服务&#xff0c;更新业务订单状态为已支付。 但是大家思考一下&#xff0c;如果这里MQ通知失败&#xff0c;支付服务中支付流水显示支付成功&#xff0c;而交易服务中的订…

充电器进阶,原边恒流,单片机控制小电流(预充电)的方案

前言 很多充电器&#xff0c;为了能控制电流输出&#xff0c;也就是充电时需要有小电流、大电流的情况&#xff0c;都会用副边及单片机进行控制&#xff0c;但因为是副边控制&#xff0c;需要一个比较器、一个二极管、若干电阻、若干电容&#xff0c;整体BOM成本可能多了三毛钱…

VUE 项目 自动按需导入

你是否有这样的苦恼&#xff0c;每个.vue都需要导入所需的vue各个方法 unplugin-auto-import 库 Vite、Webpack和Rollup的按需自动导入API 本章提供Vite、Webpack中使用说明 1. 安装 npm i -D unplugin-auto-import 2. config.js 配置文件内追加配置 2.1 Vite // vite.conf…

用Nest实现对数据库的增删改查~

概述 为了与 SQL和 NoSQL 数据库集成&#xff0c;Nest 提供了 nestjs/typeorm 包。Nest 使用TypeORM是因为它是 TypeScript 中最成熟的对象关系映射器( ORM )。因为它是用 TypeScript 编写的&#xff0c;所以可以很好地与 Nest 框架集成。 TypeORM 提供了对许多关系数据库的支…

问题总结笔记

1.向量旋转 问题&#xff1a; 将一个向量旋转90 方法&#xff1a;旋转矩阵 FVector FrontDir EndMousePoint - Point; FrontDir.Normalize(); FVector Left FVector(-FrontDir.Y, FrontDir.X, 0); Verties.Add(Point Left * (WallWedith / 2)); Verties.Add(FVector(Vertie…

C语言 | Leetcode C语言题解之第35题搜索插入位置

题目&#xff1a; 题解&#xff1a; int searchInsert(int* nums, int numsSize, int target) {int left 0, right numsSize - 1, ans numsSize;while (left < right) {int mid ((right - left) >> 1) left;if (target < nums[mid]) {ans mid;right mid - …

Ubuntu Server 20.04 LTS 64bit安装ftp服务

1.安装vsftpd sudo apt install vsftpd2.配置vsftpd sudo vim /etc/vsftpd.conf write_enableYES # 启用任何形式的FTP写入命令&#xff0c;即可以修改文件local_umask022 # 本地用户创建文件的 umask 值&#xff0c;默认是被注释的connect_from_port_20YES # 针对 PORT 类型…

01_Nginx

文章目录 NginxNginx的核心功能Nginx的优势Nginx常用指令Nginx配置文件Nginx的核心功能&#xff1a;反向代理 Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子…

《大话西游2》本人收集的十二个单机版游戏,有详细的视频架设教程,云盘下载

《大话西游2》是一款经典的大型多人在线角色扮演游戏&#xff0c;也是一款国风经典的游戏。 有能力的可以架设个外网&#xff0c;让大家一起玩。 《大话西游2》本人收集的十二个单机版游戏&#xff0c;有详细的视频架设教程&#xff0c;值得收藏 下载地址&#xff1a; 链接&…

色彩空间转换在AI去衣技术中的应用与探索

在人工智能&#xff08;AI&#xff09;的广阔领域中&#xff0c;图像处理和计算机视觉技术一直占据着举足轻重的地位。其中&#xff0c;AI去衣技术作为一种新兴的图像处理技术&#xff0c;近年来受到了广泛关注。在AI去衣的实现过程中&#xff0c;色彩空间转换技术发挥着至关重…

信息系统项目管理师0057:运维管理(4信息系统管理—4.2管理要点—4.2.2运维管理)

点击查看专栏目录 文章目录 4.2.2运维管理1.能力模型2.智能运维4.2.2运维管理 IT运维是组织IT服务中关键的一种类型。随着组织IT建设的不断深入和完善,信息系统运维已经成为了各行各业各组织管理者和IT团队普遍关注的问题。IT运维是指采用IT手段及方法,依据服务对象提出的服务…