news 2026/4/3 4:20:53

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/30 18:21:27

ESP32引脚控制继电器实践:项目应用案例

用ESP32控制继电器:从零搭建一个远程开关系统你有没有想过,只用一块几十元的开发板,就能让家里的台灯、风扇甚至电热水壶实现“手机一键开关”?这并不是什么高科技魔法,而是每一个嵌入式开发者都能亲手实现的物联网&am…

作者头像 李华
网站建设 2026/3/27 17:42:34

Bypass Paywalls Clean完全指南:5步突破付费内容限制

Bypass Paywalls Clean完全指南:5步突破付费内容限制 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 你是否经常遇到这样的困扰?想阅读深度报道却被付费墙阻挡…

作者头像 李华
网站建设 2026/4/2 17:59:11

Open-AutoGLM开源:为什么它将成为AI开发者今年最稀缺的技术资源?

第一章:Open-AutoGLM开源:AI开发者的新纪元Open-AutoGLM 的开源标志着人工智能开发进入一个全新的协作与创新阶段。作为一个面向生成语言模型自动化优化的开源框架,Open-AutoGLM 提供了从模型微调、提示工程到推理部署的一体化工具链&#xf…

作者头像 李华
网站建设 2026/3/11 14:24:23

突破内容限制的终极指南:5大技巧让你轻松访问受限内容

在信息爆炸的时代,你是否曾经因为内容限制而无法获取重要的新闻资讯、学术论文或商业报告?这种信息获取的障碍正在影响着无数用户的学习、工作和研究。今天,我将为你详细介绍一款能够有效解决这一问题的浏览器扩展工具,帮助你重新…

作者头像 李华
网站建设 2026/3/29 8:00:51

【Spring】核心类研究价值排行榜

Spring核心类研究价值排行榜(按使用频率) 以下是企业级开发中最值得深入研究的Spring核心类,按实际使用频率从极高频到低频分层梳理:一、极高频类类名核心作用典型应用场景DispatcherServletSpring MVC核心前端控制器,…

作者头像 李华
网站建设 2026/3/29 20:12:54

终极指南:如何用Python脚本5分钟搞定大麦网自动抢票

终极指南:如何用Python脚本5分钟搞定大麦网自动抢票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为抢不到心仪演唱会门票而烦恼吗?今天分享一个基于Python和Seleni…

作者头像 李华