忘记不再是问题:MySQL关键知识点速查

2024-04-30 01:04

本文主要是介绍忘记不再是问题:MySQL关键知识点速查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • MySQL备忘录
  • 内容
    • 连接MYSQL
    • 创建和展示数据库
    • 创建表
    • 修改表
    • 查询
    • 聚合与分组
    • 插入数据
    • 更新数据
    • 删除数据
    • 类型强制转换
  • 更多内容


MySQL备忘录

做项目时,可能需要快速获取MySQL的使用方法,比如语法规则和函数用法。这正是备忘单的用途。

这里总结了一份两页纸的MySQL备忘单(点击下载),效果如下:
在这里插入图片描述
在这里插入图片描述
这份MySQL备忘单具有以下特点:

  • 整理提炼了最常用的语句和函数用法,并配有典型例子
  • 通过颜色突出关键字和函数,重点一目了然
  • 做了分类,通过标题可以快速查找内容
  • 按照A4纸排版,方便打印

以下是MySQL备忘录内容摘要。


内容

连接MYSQL

使用 MySQL 命令行客户端连接 MySQL server

MySQL会提示输入密码: mysql -u [username] -p

连接 MySQL server 时指定数据库:

mysql -u [username] -p [database]

使用 mysqldump工具导出数据:

mysqldump -u [username] -p
database] > data_backup.sql

退出客户端:

quit or exit

打印命令完整清单

help

创建和展示数据库

创建一个数据库:

CREATE DATABASE zoo;

展示所有数据库:

SHOW DATABASES;

使用指定数据库:

USE zoo;

删除指定数据库:

DROP DATABASE zoo;

展示数据库中的所有表:

SHOW TABLES;

展示指定表的详细信息

DESCRIBE animal; -- 输出内容包含 column names, data types, default values等等.

创建表

创建一张表:

CREATE TABLE habitat (
id INT,
name VARCHAR(64)
);

id作为AUTO_INCREMENT自增列。自增列必须是主键或唯一键:

CREATE TABLE habitat (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64)
);

创建一张拥有外键的表:

CREATE TABLE animal (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64),
species VARCHAR(64),
age INT,
habitat_id INT,
FOREIGN KEY (habitat_id)
REFERENCES habitat(id)
);

修改表

修改表名:

ALTER TABLE animal RENAME pet;

表增加一列:

ALTER TABLE animal
ADD COLUMN name VARCHAR(64);

修改列名:

ALTER TABLE animal
RENAME COLUMN id TO identifier;

修改列的数据类型:

ALTER TABLE animal
MODIFY COLUMN name VARCHAR(128);

删除列:

ALTER TABLE animal
DROP COLUMN name;

删除表:

DROP TABLE animal;

查询

单表查询例子:

SELECT species, AVG(age) AS average_age
FROM animal
WHERE id != 3
GROUP BY species
HAVING AVG(age) > 3
ORDER BY AVG(age) DESC;

多表查询例子:

SELECT city.name, country.name
FROM city
[INNER | LEFT | RIGHT] JOIN country
ON city.country_id = country.id;

使用 +, -, *, / 进行数学计算。
例如,计算一周有多少秒:

SELECT 60 * 60 * 24 * 7; -- result: 604800

聚合与分组

  • AVG(expr) − 组内expr的平均值
  • COUNT(expr) − 组内expr值的数量
  • MAX(expr) − 组内expr的最大值
  • MIN(expr) − 组内expr的最小值
  • SUM(expr) − 组内expr值的累加和

计算表的行数:

SELECT COUNT(*)
FROM animal;

计算列的非NULL值数量:

SELECT COUNT(name)
FROM animal;

计算列的唯一值数量:

SELECT COUNT(DISTINCT name)
FROM animal;

分组

按 species 分组计算 animals 的数量:

SELECT species, COUNT(id)
FROM animal
GROUP BY species;

分组计算 animal 的平均、最小和最大年龄:

SELECT habitat_id, AVG(age),
MIN(age), MAX(age)
FROM animal
GROUP BY habitat_id;

插入数据

使用INSERT语句向表中插入数据:

INSERT INTO habitat VALUES
(1, 'River '),
(2, 'Forest ');

向指定列插入数据,未指定的列使用默认值或NULL填充:

INSERT INTO habitat (name) VALUES
( 'Savanna ');

更新数据

使用UPDATE语句更新表的数据:

UPDATE animal
SET
species = 'Duck ',
name = 'Quack '
WHERE id = 2;

删除数据

使用DELETE语句删除表的数据:

DELETE FROM animal
WHERE id = 1;

这样会删除所有命中的行,使用TRUNCATE语句删除所有行:

TRUNCATE TABLE animal;

类型强制转换

使用CAST()函数实现数据类型转换。

MySQL中,可以转换以下数据类型:

CHAR NCHAR BINARY DATE DATETIME
DECIMAL DOUBLE FLOAT REAL SIGNED
UNSIGNED TIME YEAR JSON spatial_type

将 number 转换为 signed integer:

SELECT CAST(1234.567 AS signed);
-- result: 1235

将列转换为double:

SELECT CAST(column AS double);

更多内容

剩余内容这里就不一一列举了,大家可以下载后查看。


如果喜欢这篇文章,请不要忘记关注、点赞和收藏哦!
您的鼓励将是我创作的最大动力!

这篇关于忘记不再是问题:MySQL关键知识点速查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947598

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

MySQL日志UndoLog的作用

《MySQL日志UndoLog的作用》UndoLog是InnoDB用于事务回滚和MVCC的重要机制,本文主要介绍了MySQL日志UndoLog的作用,文中介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、Undo Log 的作用二、Undo Log 的分类三、Undo Log 的存储四、Undo

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

MySQL数据目录迁移的完整过程

《MySQL数据目录迁移的完整过程》文章详细介绍了将MySQL数据目录迁移到新硬盘的整个过程,包括新硬盘挂载、创建新的数据目录、迁移数据(推荐使用两遍rsync方案)、修改MySQL配置文件和重启验证... 目录1,新硬盘挂载(如果有的话)2,创建新的 mysql 数据目录3,迁移 MySQL 数据(推荐两

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过