news 2025/12/31 19:41:59

MySQL学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL学习笔记

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

本周将Java学习并考核完之后,开始了对MySQL的学习

一、学习内容

1,MySQL概述

数据库相关概念

MySQL数据库

数据模型

MySQL启动

net start mysql80
net stop mysql80

MySQL客户端连接

MySQL自带的客户端命令行
mysql [-h 127.0.0.1] [-P 3306] -u root -p

MySQL数据模型

数据库

2,SQL

SQL通用语法

SQL分类

DDL

DDL-表操作-查询

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

DDL-表操作-创建

CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],

字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];

注意:[ …. ]为可选参数,最后一个字段后面没有逗号

DDL-表操作-数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

DDL-表操作-修改

添加字段:ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT注释][约束];

案例:为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)

修改数据类型:ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT注释][约束];

删除字段:ALTER TABLE 表名 DROP 字段名;

案例:将emp表的字段username删除

ALTER TABLE emp DROP username;

删除表:DROP TABLE [IF EXISTS] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

DML

DML-添加数据

1. 给指定字段添加数据

INSERT INTO表名(字段名1,字段名2, ….. )VALUES(值1,值2, .. );

2. 给全部字段添加数据
INSERT INTO 表名 VALUES(值1,值2, …. );

3. 批量添加数据

INSERT INTO 表名(字段名1,字段名2, ... )VALUES(值1,值2, ….. ),(值1,值2, .. ),(值1,值2, .. );

INSERT INTO 表名 VALUES(值1,值2, ….. ),(值1,值2,…),(值1,值2, ….. );

DML-介绍

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

> 添加数据(INSERT)

> 修改数据(UPDATE)

> 删除数据(DELETE)

DQL

DQL-语法

DQL-基本查询

1.查询多个字段
SELECT 字段1,字段2,字段3 ….. FROM 表名;

SELECT*FROM 表名;

2.设置别名
SELECT 字段1[AS别名],字段2[AS别名2].FROM 表名;

3.去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;

DQL-聚合函数

1.介绍

将一列数据作为一个整体,进行纵向计算。

2.常见聚合函数

3,语法

SELECT 聚合函数(字段列表)FROM 表名;


DQL-分组查询

1. 语法

SELECT 字段列表 FROM 表名[WHERE 条件]GROUP BY 分组字段名[HAVING 分组后过滤条件];

2.where与having区别
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。

注意

· 执行顺序:where>聚合函数>having。

· 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

DQL-排序查询

1.语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

2.排序方式
ASC:升序(默认值)
DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

DQL-分页查询

1. 语法

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意

· 起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。

· 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。

· 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10

DQL-执行顺序

DCL-管理用户

1. 查询用户

USE mysql;
SELECT * FROM user;

2. 创建用户

CREATE USER‘用户名’@'主机名’IDENTIFIED BY‘密码’;

3. 修改用户密码
ALTER USER ‘用户名’@'主机名’IDENTIFIED WITH mysql_native_password BY ‘新密码’;

4. 删除用户

DROP USER‘用户名’@'主机名';

注意:
· 主机名可以使用%通配。

· 这类SQL开发人员操作的比较少,主要是DBA(Database Administrator 数据库管理员)使用。

DCL

DCL-权限控制

1. 查询权限

SHOW GRANTS FOR ‘用户名’@'主机名';

2. 授予权限

GRANT 权限列表 ON 数据库名.表名 TO‘用户名’@'主机名';

3. 撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM‘用户名’@'主机名';

注意:

· 多个校限之间,使用逗号分隔

· 授权时,数据库名和表名可以使用*进行通配,代表所有。

3,函数

1,字符串函数

2,数值函数

3,日期函数

4,流程函数

4,约束

概述

1. 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。

2. 目的:保证数据库中数据的正确、有效性和完整性。

3. 分类:

外键约束

语法

>添加外键

CREATE TABLE 表名(
字段名 数据类型,

[CONSTRAINT][外键名称]FOREIGN KEY(外键字段名)REFERENCES 主表(主表列名)

);

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名)REFERENCES 主表(主表列名);

>删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

删除/更新行为

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段)REFERENCES 主表名(主表字段名)ON UPDATE CASCADE ON DELETE CASCADE;

多表关系

概述

项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所

以各个表结构之间也存在着各种联系,基本上分为三种:

》一对多(多对一)

案例:部门 与 员工的关系

关系:一个部门对应多个员工,一个员工对应一个部门

实现:在多的一方建立外键,指向一的一方的主键

》 多对多

> 一对一

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/31 9:04:13

如何实现智能内容解锁?终极免费阅读解决方案

在信息爆炸的时代,优质内容往往被付费墙所阻隔,让无数求知者望而却步。面对这种信息壁垒,智能内容解锁技术应运而生,为用户提供了突破内容限制的先进解决方案。 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https…

作者头像 李华
网站建设 2025/12/30 16:16:50

基于LabVIEW与Matlab script绘制电机、控制器、系统效率MAP图

基于labview的Matlab script绘制的电机、控制器、系统效率MAP图,源码基于2018版开发,附赠测试原始数据在搞电机控制相关项目的时候,效率MAP图那可是相当重要,它能直观展示电机、控制器以及整个系统在不同工况下的效率情况。今天就…

作者头像 李华
网站建设 2025/12/31 17:51:29

ServiceWorker 的生命周期包含6种核心状态

Service Worker 规范中明确定义的 6 种内部状态(internal states)这些状态描述了 Service Worker 线程在其生命周期中的不同阶段。以下是基于规范(如 W3C 和 WHATWG 标准)整理的表格,准确对应这六种状态:序…

作者头像 李华
网站建设 2025/12/31 14:37:35

网易云NCM文件终极解密:从加密音乐到自由播放的完整方案

网易云NCM文件终极解密:从加密音乐到自由播放的完整方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾在网易云音乐下载了心爱的歌曲,却发现文件后缀是神秘的.ncm格式,无法在其他设备上…

作者头像 李华
网站建设 2025/12/29 20:57:43

Betaflight与F4/F7飞控硬件兼容性:核心要点

Betaflight飞控选型实战:F4与F7到底差在哪?你有没有过这样的经历?刷完一波新固件更新日志,满心欢喜地打开Betaflight Configurator,准备启用“动态陷波8kHz Dshot”组合技,结果刚一保存配置,飞控…

作者头像 李华
网站建设 2025/12/31 11:23:25

猫抓Cat-Catch资源嗅探工具完整教程:从新手到高手

猫抓Cat-Catch资源嗅探工具完整教程:从新手到高手 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存心爱的在线视频而烦恼吗?猫抓Cat-Catch作为一款强大的资源嗅探…

作者头像 李华