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;

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

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

相关文章

XiaodiSec day034 Learn Note 小迪安全学习笔记

XiaodiSec day034 Learn Note 小迪安全学习笔记 记录得比较凌乱&#xff0c;不尽详细 day34 黑盒审计和白盒审计 与 cms 相关 .net java php 代码审计 开始 黑盒&#xff1a;找文件上传的功能 个人用户中心是否存在文件上传功能后台管理系统是否存在文件上传功能字典目录…

Nacos的简介及安装和使用

Nacos的简介及安装和使用 1. Nacos简介1.1 核心特性1.2 常见的注册中心1.3 Nacos结构图 2. 如何安装和配置Nacos&#xff1f;2.1 Nacos的安装2.2 如何使用Nacos&#xff1f; 1. Nacos简介 ​ Nacos是一个开源的动态服务发现、配置和服务管理平台&#xff0c;由阿里巴巴开发和维…

南京邮电大学数学实验A答案 | 《MATLAB数学实验》第三版课后习题答案

数学实验A 本仓库收集了2024年我在学习《数学实验A》课程期间完成的作业。课程使用的教材为《MATLAB数学实验》第三版&#xff0c;作者为胡良剑和孙晓君教授。 这个资源库的建立初衷是为了帮助南京邮电大学的同学们在学习过程中有一个参考的依据&#xff0c;减少一些无端浪费…

OSPF虚连接

OSPF虚连接 虚连接&#xff08;Virtual link&#xff09;是指在两台ABR之间通过一个非骨干区域建立的一条逻辑上的连接通道。 根据RFC 2328&#xff0c;在部署OSPF时&#xff0c;要求所有的非骨干区域与骨干区域相连&#xff0c;否则会出现有的区域不可达的问题。但是在实际应…

Android Studio开发工具学习之Git操作指南

Git 操作指南 1. Git远程仓库操作2. 分支操作 1. Git远程仓库操作 详细操作请参考&#xff1a;Git远程仓库拉取与推送 2. 分支操作 详细操作请参考&#xff1a;Git分支操作

模糊测试—AFL——实战小记

一 安装环境&#xff1a; 在vm虚拟机上使用Ubuntu-22.04系统的镜像。 清华和科大的镜像都可以&#xff0c;下载下来的是ISO的压缩包&#xff0c;不用解压&#xff08;出来的是一堆文件&#xff09;&#xff0c;在安装新的VM虚拟机时&#xff0c;在镜像源里面直接选择下载下来…

【学习笔记二十四】EWM补货策略和自动补货配置

一、EWM补货策略概述 1.计划补货 ①以联机或批处理模式启动 ②根据最大和最小数量计算补货 ③仅当库存量低于最低数量时才开始 ④四舍五入至最小补货数量的倍数 2.自动补货 ①在WT确认期间启动 ②根据最大和最小数量计算补货 ③只有当库存量低于最低数量时才开始 ④四舍…

MySQL Prepared语句(Prepared Statements)

在数据库应用中&#xff0c;很多SQL语句都会重复执行很多次&#xff0c;每次执行可能只是where条件中的变量值不同&#xff0c;但MySQL依然会解析SQL语法并生成执行计划。对于这类情况&#xff0c;可以利用prepared语句来避免重复解析SQL的开销。 文章目录 一、prepared语句优…

Java——继承与组合

和继承类似, 组合也是一种表达类之间关系的方式, 也是能够达到代码重用的效果。组合并没有涉及到特殊的语法 (诸如 extends 这样的关键字), 仅仅是将一个类的实例作为另外一个类的字段。 继承表示对象之间是is-a的关系&#xff0c;比如&#xff1a;狗是动物&#xff0c;猫是动…

模板(二)

文章目录 模板&#xff08;二&#xff09;1 非类型模板参数2. 模板的特化2.1. 概念2.2 函数模板特化2.3 类模板特化2.3.1 全特化2.3.2 偏特化2.3.3 类模板特化应用示例 3 模板的分离编译3.1 什么是分离编译3.2 模板的分离编译3.3 解决方法 4. 模板总结 模板&#xff08;二&…

鸿蒙OpenHarmony【LED外设控制】 (基于Hi3861开发板)

概述 OpenHarmony WLAN模组基于Hi3861平台提供了丰富的外设操作能力&#xff0c;包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。本文介绍如何通过调用OpenHarmony的NDK接口&#xff0c;实现对GPIO控制&#xff0c;达到LED闪烁的效果。其他的IOT外设控制&#xff0…

谁说快是转瞬即逝,PUMA说快是永恒

巴黎奥运会、欧洲杯、美洲杯......2024年可以说是名副其实的体育大年。在各种全球体育盛事营造的浓厚体育氛围当中&#xff0c;各大体育品牌纷纷开始发力。 4月10日&#xff0c;全球领先运动品牌PUMA率先发布了其为本届奥运会准备的17套奥运装配&#xff0c;包括瑞士、瑞典等国…

【Qt之·Qt插件开发·导出插件类的步骤】

系列文章目录 文章目录 前言总结 前言 第一步 DEFINES FLYSHOOT_LIBRARY第二步 #include<QtCore/qglobal.h>#if defined (FLYSHOOT_LIBRARY) # define FLYSHOOT_EXPORT Q_DECL_EXPORT #else # define FLYSHOOT_EXPORT Q_DECL_IMPORT #endif第三步 class FLYSHOOT_E…

身份核验接口-python身份证实名认证接口提供商

现如今&#xff0c;无论是金融交易、社交媒体还是在线购物&#xff0c;身份信息都是连接我们与数字世界的桥梁&#xff0c;如何"轻松实现身份验证成为了企业的一大难题&#xff01;翔云python身份证实名认证接口为您的业务提供高效、可靠的核验服务。确保交易安全&#xf…

Linux多进程(一)创建进程与进程控制

一、进程状态 进程一共有五种状态分别为&#xff1a;创建态&#xff0c;就绪态&#xff0c;运行态&#xff0c;阻塞态(挂起态)&#xff0c;退出态(终止态)其中创建态和退出态维持的时间是非常短的&#xff0c;稍纵即逝。主要是就绪态, 运行态, 挂起态三者之间的状态切换。 就绪…

小程序使用阿里巴巴矢量图标库

一、登录官网 www.iconfont.cn 二、在搜索框中搜索想要的图标&#xff0c;将鼠标移动到图标上会看到三个标记 可以使用下载&#xff0c;直接使用&#xff1a; 可以使用css文件使用&#xff1a; 首先点击购物车样式的选项&#xff0c;而后点击下图位置&#xff1a; 点击自己创…

Flume的安装及使用

Flume的安装及使用 文章目录 Flume的安装及使用Flume的安装1、上传至虚拟机&#xff0c;并解压2、重命名目录&#xff0c;并配置环境变量3、查看flume版本4、测试flume5、flume的使用 Flume的安装 1、上传至虚拟机&#xff0c;并解压 tar -zxvf apache-flume-1.9.0-bin.tar.g…

Git TortoiseGit 详细安装使用教程

前言 Git 是一个免费的开源分布式版本控制系统&#xff0c;是用来保存工程源代码历史状态的命令行工具&#xff0c;旨在处理从小型到非常大型的项目&#xff0c;速度快、效率高。《请查阅Git详细说明》。TortoiseGit 是 Git 的 Windows Shell 界面工具&#xff0c;基于 Tortoi…

05_FreeRTOS信号量

信号量 信号量信号量简介常用信号量API函数 信号量 信号量简介 信号量&#xff08;Semaphore&#xff09;是一种实现任务间通信的机制&#xff0c;可以实现任务之间同步或临界资源的互斥访问&#xff0c;常用于协助一组相互竞争的任务来访问临界资源。在多任务系统中&#xf…

wireshark RTP分析参数

主要看丢弃和Delta&#xff0c; 丢弃就是丢掉的udp包&#xff0c;所占的比率 Delta是当前udp包接收到的时间减去上一个udp包接收到的时间 根据载荷可以知道正确的delta应该是多少&#xff0c;比如G711A&#xff0c;ptime20&#xff0c;那么delta理论上应该趋近于20. 这里的de…