Mysql 数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: Mysql 数据库

数据库种类:

  1. 关系型数据库(RDBMS  Relational Database Management System):基于关系模型存储数据,并使用SQL(结构化查询语言)进行数据操作和查询,如MySQL、Oracle、SQL Server等。
  2. 非关系型数据库(NoSQL):不采用传统的表格形式来存储数据,而是以键值对、文档、列族或图形等形式来组织和检索数据,如MongoDB、Redis、Cassandra等。
  3. 分布式数据库:将数据分散存储在多个节点上,通过分布式算法管理和访问数据,提高可扩展性和性能,如Hadoop HDFS、Apache Cassandra等。
  4. 内存数据库:将数据完全加载到内存中进行读写操作,以提供更快的响应速度和高并发性能,如Redis、Memcached等。
  5. 图形数据库:专门用于处理图形结构数据,并提供高效的图形查询和分析功能,如Neo4j、OrientDB等。
  6. 文档型数据库:以文档为单位存储和组织数据,支持复杂的结构和灵活的查询操作,如MongoDB、Couchbase等。
  7. 时间序列数据库:专门用于处理按时间顺序排列的大量数据点,并提供高效的时间序列数据查询和分析功能,如InfluxDB、Prometheus等。
  8. 关键-值数据库:以简单的键-值对形式存储数据,适合快速读写和缓存等应用场景,如Redis、Memcached等。

 今天我们聊一下mysql数据库

mysql 数据库分为三部分  基本操作 mysql数据库优化 mysql大型企业级项目开发

基本操作(重点): 比如:

  1. 创建数据库:使用CREATE DATABASE 数据库名;语句创建一个新的数据库。
  2. 使用数据库:使用USE 数据库名;语句选择要使用的数据库。
  3. 创建表格:使用CREATE TABLE 表名 (列1 数据类型, 列2 数据类型, ...);语句创建一个新的表格。
  4. 插入数据:使用INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);语句将数据插入到表格中。
  5. 查询数据:使用SELECT * FROM 表名;语句查询表格中的所有数据,或者使用带条件的查询语句如 SELECT * FROM 表名 WHERE 条件;
  6. 更新数据:使用UPDATE 表名 SET 列 = 值 WHERE 条件;语句更新满足条件的记录。
  7. 删除数据:使用DELETE FROM 表名 WHERE 条件;语句删除满足条件的记录
  8. 数据库的备份与恢复:mysqldump -u 用户名 -p 密码 数据库名 > 备份文件名.sql     mysql -u 用户名 -p 密码 新数据库名 < 备份文件名.sql
  9. .....

这里就随便创作一个表

create table `goods`(
`id` int primary key auto_increment,# primary key主键 auto_increment自增
`name` varchar(32),# varchar 可变字符集
`num` SMALLINT default 0 #将该字段的值默认设置为0
);
create table `order`(
`id` int primary key auto_increment,
`goods_id` int,
`quantity` SMALLINT comment '下单数量'
);
insert into goods values(NULL,'C++',40);
insert into goods values(NULL,'java',63);
insert into goods values(NULL,'Python',87);

mysql数据库优化 重点(简称sql优化): 最常见的有mysql数据库的慢查询 这时候要对sql语句进行优化 否则会影响当前的项目质量

要分析以下几个原因:

1.开启慢查询日志:在MySQL配置文件中开启慢查询日志功能,将执行时间超过阈值的SQL语句记录到日志文件中。

2.分析慢查询日志:注意索引的使用

3.优化查询语句:

1.优化常见的全表查询

2.优化复杂的sql语句 要使sql语句变得简单

如:

1. 添加合适的索引

ALTER TABLE table_name ADD INDEX index_name (column_name);

2.优化sql语句

SELECT t1.column1, t2.column2
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id;
# 这里使用JOIN来优化sql语句

3.配置缓冲池大小 避免多次进行磁盘IO操作

innodb_buffer_pool_size = 512M
# 设置缓冲池大小

本期就到这里了 mysql数据库是一个庞大的体系 知识需要我们一点一点的积累

在这里 小编想向大家推荐一个课程:https://xxetb.xetslk.com/s/2PjJ3T

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
175 42
|
4天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
1月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
132 25
|
15天前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
22天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
2月前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
510 0
|
3月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
90 3
|
3月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
177 3
|
3月前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE &#39;log_%&#39;;`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
141 2