MySQL 教程

MySQL 教程

目录

  1. 简介
  2. 安装
    • 在Windows上安装
    • 在MacOS上安装
    • 在Linux上安装
  3. 基本操作
    • 启动和停止MySQL服务
    • 连接到MySQL
    • 创建和删除数据库
    • 创建和删除表
  4. 数据操作
    • 插入数据
    • 查询数据
    • 更新数据
    • 删除数据
  5. 高级操作
    • 索引
    • 视图
    • 存储过程
    • 触发器
  6. 备份与恢复
    • 备份数据库
    • 恢复数据库
  7. 优化与调优
    • 查询优化
    • 索引优化
  8. 安全性
    • 用户权限管理
    • 数据加密
  9. 常见问题与解决方案

简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种开源软件,可以免费使用。MySQL以其快速、可靠、可扩展性等特点广泛应用于Web开发、数据存储等领域。

安装

在Windows上安装

  1. 下载MySQL安装程序:MySQL下载页
  2. 双击下载的安装程序,选择“Custom”安装类型。
  3. 选择需要安装的组件,一般包括MySQL Server、MySQL Workbench等。
  4. 配置MySQL服务器,包括设置端口、root用户密码等。
  5. 完成安装并启动MySQL服务。

在MacOS上安装

  1. 使用Homebrew安装MySQL:
    brew install mysql
    
  2. 启动MySQL服务:
    brew services start mysql
    
  3. 设置root用户密码:
    mysql_secure_installation
    

在Linux上安装

  1. 使用包管理工具安装MySQL(以Ubuntu为例):
    sudo apt update
    sudo apt install mysql-server
    
  2. 启动MySQL服务:
    sudo systemctl start mysql
    
  3. 设置root用户密码:
    sudo mysql_secure_installation
    

基本操作

启动和停止MySQL服务

  • 启动MySQL服务:
    sudo systemctl start mysql
    
  • 停止MySQL服务:
    sudo systemctl stop mysql
    
  • 重启MySQL服务:
    sudo systemctl restart mysql
    

连接到MySQL

  • 使用命令行连接到MySQL:
    mysql -u root -p
    
    输入root用户密码后进入MySQL命令行界面。

创建和删除数据库

  • 创建数据库:
    CREATE DATABASE database_name;
    
  • 删除数据库:
    DROP DATABASE database_name;
    

创建和删除表

  • 创建表:
    CREATE TABLE table_name (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100),
        age INT
    );
    
  • 删除表:
    DROP TABLE table_name;
    

数据操作

插入数据

  • 插入数据:
    INSERT INTO table_name (name, age) VALUES ('Alice', 25);
    

查询数据

  • 查询所有数据:
    SELECT * FROM table_name;
    
  • 条件查询:
    SELECT * FROM table_name WHERE age > 20;
    

更新数据

  • 更新数据:
    UPDATE table_name SET age = 26 WHERE name = 'Alice';
    

删除数据

  • 删除数据:
    DELETE FROM table_name WHERE name = 'Alice';
    

高级操作

索引

  • 创建索引:
    CREATE INDEX index_name ON table_name (column_name);
    
  • 删除索引:
    DROP INDEX index_name ON table_name;
    

视图

  • 创建视图:
    CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
    
  • 删除视图:
    DROP VIEW view_name;
    

存储过程

  • 创建存储过程:
    DELIMITER //
    CREATE PROCEDURE procedure_name()
    BEGIN
        SELECT * FROM table_name;
    END //
    DELIMITER ;
    
  • 调用存储过程:
    CALL procedure_name();
    
  • 删除存储过程:
    DROP PROCEDURE procedure_name;
    

触发器

  • 创建触发器:
    CREATE TRIGGER trigger_name BEFORE INSERT ON table_name
    FOR EACH ROW
    BEGIN
        -- 触发器逻辑
    END;
    
  • 删除触发器:
    DROP TRIGGER trigger_name;
    

备份与恢复

备份数据库

  • 使用mysqldump备份数据库:
    mysqldump -u root -p database_name > backup.sql
    

恢复数据库

  • 使用mysql命令恢复数据库:
    mysql -u root -p database_name < backup.sql
    

优化与调优

查询优化

  • 使用EXPLAIN分析查询:
    EXPLAIN SELECT * FROM table_name WHERE condition;
    

索引优化

  • 定期检查和优化索引使用情况,确保索引没有重复和冗余。
  • 创建适当的联合索引以提高复杂查询的性能。

安全性

用户权限管理

  • 创建用户:
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    
  • 授予权限:
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
    
  • 撤销权限:
    REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
    

数据加密

  • 配置数据传输加密(SSL/TLS)以保护数据在传输过程中的安全。

常见问题与解决方案

  1. 无法启动MySQL服务:检查错误日志,确保配置文件正确,检查端口是否被占用。
  2. 连接被拒绝:确认MySQL服务正在运行,检查防火墙设置,确保端口3306开放。
  3. 权限问题:确保用户有正确的权限,使用GRANT语句授予必要的权限。

以上就是详细的MySQL教程,涵盖了从安装、基本操作到高级操作、安全性和常见问题的解决方案。希望对您有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/770818.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一、强化学习基本概念

一、强化学习基本概念 1.1 何为强化学习&#xff1f;1.2 强化学习的环境1.3 强化学习的目标1.4 强化学习的数据 1.1 何为强化学习&#xff1f; 强化学习(Reinforcement Learning, RL)是机器通过与环境交互来实现目标的一种计算方法。机器和环境的一轮交互是指&#xff1a;机器在…

FlinkCDC-3.1.1 DataStream Source

问题&#xff1a; Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.catalog.ObjectPath 解决&#xff1a; 在poml文件中&#xff0c;导入的flink-table依赖把“ <scope>”去掉 <properties><maven.compiler.source>8</maven.compi…

安卓稳定性之crash详解

目录 前言一、Crash 的基本原理二、Crash 分析思路三、实例分析四、预防措施五、参考链接 前言 在开发和测试 Android 应用程序时&#xff0c;遇到应用程序崩溃是很常见的情况。 Android 崩溃指的是应用程序因为异常或错误而无法正常执行&#xff0c;并且导致应用强制关闭。 一…

通过一个单相逆变器仿真深度学习PR控制器

目录 前言 ​编辑 PR控制器的理论 PR控制器不同表达式及其建模 PR控制器连续积分组合及模型 PR控制器连续传递函数及模型 PR控制器离散积分及模型 PR控制器离散传递函数及模型 PR控制器差分方程及模型 系统仿真效果 总结 前言 在项目开发中常用PI控制器&#xff0c;这次在…

java实现【 生成小程序二维码:图片+二维码备注】

1.逻辑&#xff1a;进行获取小程序的token进行-获取不限制的小程序码。2.参考的地址&#xff1a;微信官方文档&#xff1a;官网-获取不限制的小程序码 需要注意的点&#xff1a;1. 如果传入page这个参数的话必须定义check_path参数&#xff0c;不然无法识别-page指定的目录2. …

2024微信小程序期末大作业-点奶茶微信小程序(后端nodejs-server)(附下载链接)_微信小程序期末大作业百度网盘下载

菜单展示 购物车展示&#xff1a; 提交订单&#xff1a; 支付详情页展示&#xff1a; 订单查看&#xff1a; 查看历史消费&#xff1a; 部分代码展示&#xff1a; <!--pages/home/home.wxml--> <block wx:for"{{listData}}" wx:key"itemlist&qu…

国标GB28181视频汇聚平台LntonCVS视频监控安防平台与国标协议对接解决方案

应急管理部门以“以信息化推动应急管理能力现代化”为总体目标&#xff0c;加快现代信息技术与应急管理业务深度融合&#xff0c;全面支持现代应急管理体系建设&#xff0c;这不仅是国家加强和改进应急管理工作的关键举措&#xff0c;也是应对日益严峻的应急管理形势和满足公众…

数据列表组件-报表

当数据在后端接口查询到&#xff0c;需要在页面展示出来&#xff0c;如果项目有很多report &#xff0c;可以把列表做一个组件 效果如下&#xff1a; js代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8" /><title&g…

PKUMOD同学又双叒获奖啦~

近期王选所数据管理研究室的同学们 凭借在各自领域的卓越表现 获得了多项荣誉和奖励 让我们共赏风采~ 期待他们在未来的科研道路上 取得更加辉煌的成就 庞悦 前沿交叉学科研究院2020级博士生 荣获2024年北京大学校长奖学金 庞悦&#xff0c;北京大学元培学院2016级本科生&…

zabbix小白入门:从SNMP配置到图形展示——以IBM服务器为例

作者 乐维社区&#xff08;forum.lwops.cn&#xff09;许远 在运维实践中&#xff0c;Zabbix作为一款强大的开源监控工具&#xff0c;被广泛应用于服务器、网络设备和应用程序的监控&#xff0c;成为保障业务连续性和高效运行的关键。然而&#xff0c;对于Zabbix的初学者来说&a…

2024年前端面试题及答案

7、 nginx代理跨域 8、 nodejs中间件代理跨域 9、 WebSocket协议跨域 前端数据加密问题 1 一般如何处理用户敏感信息&#xff1f; 前端一般使用md5、base64加密、sha1加密&#xff0c;想要了解详情请自行百度。 前端http相关问题 1 HTTP常用状态码及其含义&#xff1f; …

vue-element-admin集成方案如何运行以及代码解读

文章目录 1.vue-admin-admin介绍2.运行方法3.代码解读3.1基础外层文件解读&#xff0c;以及eslint关闭&#xff08;如下图&#xff09;3.2内层src文件分析3.2.1 login流程解析 1.vue-admin-admin介绍 1.1 是一个后台前端解决方案(vueelementui)&#xff0c;内置i18国际化解决方…

行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代&#xff0c;我们每天都在使用各种应用&#xff0c;从社交娱乐到工作学习&#xff0c;应用已经成为我们生活中不可或缺的一部分。然而&#xff0c;你是否知道&#xff0c;在这些便捷的背后&#xff0c;隐藏着巨大的安全风险&#xff1f; 近年来&#xff0c;应用…

Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

Windows系统安装SSH服务结合内网穿透配置公网地址远程ssh连接

前言 在当今的数字化转型时代&#xff0c;远程连接和管理计算机已成为日常工作中不可或缺的一部分。对于 Windows 用户而言&#xff0c;SSH&#xff08;Secure Shell&#xff09;协议提供了一种安全、高效的远程访问和命令执行方式。SSH 不仅提供了加密的通信通道&#xff0c;…

单片机IO

一、简单GPIO口 保护二极管&#xff1a;IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。 当引脚电压高于VDD时&#xff0c;上方的二极管导通&#xff0c;电压被钳位在VDD0.7V&#xff1b; 当引脚电压低于VSS时&#xff0c;下方的二极管导通&#xff0c;防止不…

设计模型 - 学习笔记

学习参考&#xff1a; https://blog.csdn.net/m0_65346405/article/details/136994128 《系统分析师教程》 《设计模式之禅》 一. 设计模式的5大原则 1. 单一职责原则 一个类应该只有一个变化因子。 就是说&#xff0c;一个类要变化&#xff0c;比如增加功能&#xff0c;那么引…

Elasticsearch 8.x 存储有无压缩?能压缩到多少?

1、认知前提 Elasticsearch 支持压缩&#xff0c;压缩方式默认为&#xff1a;LZ4 压缩算法。 具体参见&#xff1a; The default value compresses stored data with LZ4 compression, but this can be set to best_compression which uses DEFLATE for a higher compression r…

mybatis mapper.xml 比较运算符(大于|小于|等于)的写法: 转义和<![CDATA[]]>

文章目录 引言I 使用xml 原生转义的方式进行转义II 使用 <![CDATA[ 内容 ]]>引言 应用场景:查询时间范围 背景:在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 <![CDATA[]]> 比 转义符 来的繁琐 <![CDATA[]]> 表示xml解析器忽略…

Linux内网端口转公网端口映射

由于服务商做安全演练&#xff0c;把原先服务器内网的端口映射到外网端口全都关闭了&#xff0c;每次维护服务器特别麻烦&#xff0c;像数据库查询如果用原生的mysql 去连接&#xff0c;查询返回的结果乱了&#xff0c;非常不方便。 查了服务还是可以正常访问部分外网的&#x…