当前位置: 首页 > news >正文

数据库管理与高可用-MySQL数据库操作

目录

#1.1MySQL数据库介绍

#2.1MySQL库操作

  2.1.1系统数据库

  2.1.2数据库操作

#3.1MySQL表操作

  3.1.1表介绍

  3.1.2查看表

  3.1.3创建表

  3.1.4查看表的结构

  3.1.5修改表

  3.1.6复制表

  3.1.7删除表

#4.1MySQL数据操作

  4.1.1介绍

  4.1.2插入数据INSERT

  4.1.3更新数据INSERT

  4.1.4查询数据INSERT

#5.1MySQL数据库用户授权

  5.1.1创建用户

  5.1.2授权操作

  5.1.3查看权限

  5.1.4撤销权限


1.1MySQL数据库介绍

   MySQL 是一款 开源、关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。它基于 Client-Server 架构,支持多用户、多线程,广泛应用于 Web 应用开发、企业级系统、数据分析等场景,是 LAMP(Linux + Apache + MySQL + PHP) 等经典技术栈的核心组件之一。

 SQL语言主要由以下几部分组成:

 DDL(Data Definition Language,数据定义语言):用来建立数据库,数据库对象和定义字段,如CREATE,ALTER,DROP.

 DML(Data Manipulation Language,数据操纵语言):用来插入,删除和修改数据库中的数据,如INSERT,UPDATE,DELETE.

 DQL(Data Query Language,数据查询语言):用来查询数据库中的数据,如SELECT.

 DCL(Data Control Language,数据控制语言):用来控制数据库组件的存取许可,存取权限,如COMMIT,ROLLBACK,GRANT,REVOKE.

2.1MySQL库操作

 2.1.1系统数据库

   经初始化后的MySQL服务器,默认建立了四个数据库:                   sys,mysql,information_schema,performance_schema.

组件类型核心功能数据来源
MySQL数据库系统存储和管理业务数据,提供数据库服务磁盘文件、内存
information_schema系统数据库存储元数据(表结构、权限等)服务器内部字典
performance_schema系统数据库监控运行时性能数据(语句、锁、资源等)服务器运行时状态
sys工具型数据库封装性能分析视图,简化复杂查询information_schema + performance_schema

2.1.2数据库操作

 1.创建数据库

    语法:mysql>create database 数据库名;

 2.数据库命名规则

  可以由字母,数字,下划线,@,#,$

  区分大小写

  唯一性

  不能使用关键字如create select

  不能单独使用数字 

   最长128位

 3.选择数据库

 mysql>USE 数据库名;

 4.查看数据库

3.1MySQL表操作

 3.1.1表介绍

   表是由若干行和列组成的二维结构,用于组织和呈现具有相关性的数据或信息。每一行代表一个独立的记录或对象,每一列代表该对象的一个属性或特征。

 3.1.2查看表

   使用SHOW TABLES查看当前所在的数据库中包含的表,在操作前,需要使用USE语句切换到所使用的数据库。

 3.1.3创建表

  1.语法

CREATE TABLE table_name (column1 datatype [constraint],column2 datatype [constraint],column3 datatype [constraint],...[PRIMARY KEY (column1, column2, ...)]
);

  2.类型介绍

    MySQL支持多种类型,大致可以分为三类:数值,日期,类型。

   数值的类型

分类子类型特点典型取值范围存储大小应用场景
整数类型TINYINT小范围整数,通常用于枚举值或状态标识无符号:0~255
有符号:-128~127
1 字节性别标识(0/1)、状态码(如 0 = 禁用,1 = 启用)
SMALLINT中等范围整数,适用于较小计数场景无符号:0~65535
有符号:-32768~32767
2 字节年龄、年份(非跨世纪场景)
INT(标准整数)通用整数类型,满足大多数常规计数需求无符号:0~4294967295
有符号:-2147483648~2147483647
4 字节用户 ID、订单数量、商品库存
BIGINT大范围整数,适用于需要存储极大值的场景(如时间戳、资产金额)无符号:0~18446744073709551615
有符号:-9223372036854775808~9223372036854775807
8 字节毫秒级时间戳(如1685289600000)、财务金额
浮点类型FLOAT单精度浮点数,精度较低(约 6~7 位有效数字),存储空间小但可能存在精度误差±1.175494351×10⁻³⁸ ~ ±3.402823466×10³⁸4 字节非精确计算场景(如概率、科学实验近似值)
DOUBLE双精度浮点数,精度较高(约 15~17 位有效数字),适合需要更高精度的计算±2.2250738585072014×10⁻³⁰⁸ ~ ±1.7976931348623157×10³⁰⁸8 字节科学计算、金融计算(需结合舍入规则)
定点类型DECIMAL(p, s)高精度定点数,p为总位数,s为小数位数,完全精确存储(无精度损失)取决于ps(如DECIMAL(10, 2)表示总 10 位,2 位小数)可变(1~17 字节)财务计算(如金额、汇率)、高精度测量数据

 日期类型

分类子类型特点格式 / 取值范围存储大小应用场景
日期类型DATE存储纯日期(年 - 月 - 日),不包含时间部分格式:YYYY-MM-DD(如2023-10-01
范围:0001-01-01~9999-12-31
3 字节生日、纪念日、合同生效日期
时间类型TIME存储纯时间(时 - 分 - 秒),不包含日期部分格式:HH:MM:SS(如14:30:45
范围:00:00:00~23:59:59
3 字节会议时间、航班起飞时间、考勤打卡时间
日期时间类型DATETIME存储完整日期和时间(年 - 月 - 日 时 - 分 - 秒),不依赖时区格式:YYYY-MM-DD HH:MM:SS(如2023-10-01 15:45:00
范围:1000-01-01 00:00:00~9999-12-31 23:59:59
8 字节订单创建时间、日志记录时间(服务器本地时间)
TIMESTAMP存储日期和时间,通常关联时区(不同数据库实现不同),自动转换为 UTC 存储格式同DATETIME,但存储为 UTC 时间戳(如 MySQL 中范围:1970-01-01 00:00:01~2038-01-19 03:14:074 字节(MySQL)跨国业务时间、需要时区转换的场景(如用户登录时间)
时间间隔类型INTERVAL存储时间间隔(如天数、小时数、分钟数),用于计算时间差格式:PnYnMnDTnHnMnS(如P1Y2M3DT4H5M6S表示 1 年 2 个月 3 天 4 小时 5 分 6 秒)可变计算项目周期、租赁时长、倒计时
其他类型YEAR存储年份(简化格式),可指定 2 位或 4 位表示格式:YYYY(4 位,如2023)或YY(2 位,如23对应 2023)1 字节书籍出版年份、学年(如2024学年

字符串类型

数据类型存储方式长度限制适用场景
CHAR固定长度存储0-255 字符(取决于数据库)- 存储长度固定的数据(如身份证号、性别代码)
- 查询效率高(长度固定易定位)
VARCHAR可变长度存储(需额外 1-2 字节记录长度)0-65,535 字符(取决于数据库)- 存储长度可变的文本(如用户名、文章摘要)
- 节省空间(按需分配)
BLOB二进制大对象(Binary Large Object)最大支持 4GB(取决于具体类型,如 TINYBLOB、MEDIUMBLOB 等)- 存储二进制数据(如图像、音频、文件)
- 不处理字符编码,直接存储原始字节
TEXT文本大对象(Text Large Object)最大支持 4GB(取决于具体类型,如 TINYTEXT、MEDIUMTEXT 等)- 存储长文本(如文章内容、日志信息)
- 支持字符编码(如 UTF-8)

 3.创建表

3.1.4查看表结构

  describe语句:用于显示表的结构,即组成表的各字段的信息。

   查看表的详细结构,可加\G,\G表示长格式展示。

3.1.5修改表

 1.修改表名

  alter table 表名 rename 新表名;

 2.添加字段

  alter table 表名 add 字段名

 3.修改字段

  alter table 表名 modify 字段名 数据类型 [完整性约束条件...]

3.1.6复制表

 只复制表结构,不复制表中数据

3.1.7删除表

   删除表(DROP TABLE)是数据库管理系统(DBMS)中用于彻底移除数据表结构及所有数据的操作。

4.1MySQL数据操作

 4.1.1介绍

   可以通过DML使用INSERT用来插入,DELETE删除和UPDATE更新数据库中的数据,使用SELECT查询数据。

创建示例表

4.1.2插入数据INSERT

顺序插入:

  插入多条记录:

4.1.3更新数据INSERT

4.1.4查询数据INSERT

   SELECT语句:用于从指定的表中查找符合条件的数据记录。

 1.单表查询

(1)准备数据

(2)where条件

       WHERE 条件主要用于筛选数据,其作用是限制查询结果,使结果只包含符合条件的记录。它常被用在 SELECTUPDATEDELETE 等语句中,目的是精准定位到你想要操作的记录。

 1.比较运算符 :>,<,>=,<=,!=

   薪资大于17000的人姓名

  不是403办公室的人姓名

2.in:集合查询

   薪资是9000或10000或1000000的人姓名

3.like:像,模糊匹配

4.逻辑运算符:and or not

薪资17000并且办公室是403的人

薪资17000或者办公室是403的人

 薪资不是9000或10000或30000的人姓名

(3)group by 分组

  1.为什么是分组?

   分组指的是将所以记录按照某个相同字段进行归类。

2.聚合函数:count()计数 avg()平均值 max()最大值

 min()最小值 sum()总和

(4)having过滤

    有哪些岗位是平均工资大于10000的

(5)order by 排序

   order by是 SQL 语句中用于对查询结果进行排序的关键字,是数据库查询中实现结果有序化的核心功能之一。

(6)limit限制结果条目

   limit是 SQL 中用于限制查询结果返回行数的关键字,常用于分页查询或获取指定数量的记录。

(7)正则匹配

   正则匹配(正则表达式,Regular Expression)是一种用特定模式描述、匹配和操作字符串的工具,广泛应用于文本处理、数据验证、搜索替换等场景。

 Name是u结尾的姓名

 Name是wan和wu之间至少1个g的姓名

2.多表查询

(1)准备数据

(2)多表连接查询

    1.内连接(只连接匹配的行)

   2.左连接(优先显示左表全部记录)

    3.右连接(优先显示右表全部记录)

5.1MySQL数据库用户授权

   用户授权是 MySQL 通过权限系统控制用户对数据库对象(如表、视图、存储过程等)操作权限的机制,本质是通过GRANT语句将特定权限赋予指定用户,同时可限制用户的访问来源(IP / 主机),确保数据安全与访问可控。

5.1.1创建用户

 5.1.2授权操作

5.1.3查看权限

5.1.4撤销权限

相关文章:

  • C# Datatable筛选过滤各方式详解
  • 智变与重构:AI 赋能基础教育教学的范式转型研究报告
  • jmeter对数据库进行单独压测
  • 黑马程序员C++核心编程笔记--3 函数高级
  • 【前端】【css预处理器】Sass与Less全面对比与构建对应知识体系
  • Visual Studio 的下载安装
  • 22.代理模式:思考与解读
  • Spring AI 代理模式(Agent Agentic Patterns)
  • element ui 表格 勾选复选框后点击分页不保存之前的数据问题
  • React-native的新架构
  • MySQL 自增 ID 达到上限,如何巧妙化解危机
  • 力扣100题---字母异位词分组
  • Denoising Autoencoders 视频截图 DAEs简单实现 kaggle 去噪编码器
  • 计算机网络 | 1.1 计算机网络概述思维导图
  • 能按需拆分 PDF 为多个文档的工具
  • 集成电路制造设备防震基座选型指南:为稳定护航-江苏泊苏系统集成有限公司
  • 27、请求处理-【源码分析】-怎么改变默认的_method
  • Rust 学习笔记:使用迭代器改进 minigrep
  • 电脑硬盘空间大量被占用怎么办
  • android 图片背景毛玻璃效果实现
  • 网站开发职业能力测试/免费网站推广2023
  • 网站制作文件/如何自己做一个网址
  • 网站转化怎么做/宁波 seo整体优化
  • 网站文件上传完成后打开网站显示网站建设中怎么回事?/百度官网首页官网
  • dede 网站地图生成/网络舆情案例分析
  • 教做幼儿菜谱菜的网站/大数据培训班需要多少钱