MySQL 教程

MySQL 教程

目录

  1. 简介
  2. 安装 MySQL
    • Windows
    • macOS
    • Linux
  3. 连接 MySQL
    • 命令行客户端
    • 图形化工具
  4. 基础操作
    • 创建数据库
    • 删除数据库
    • 选择数据库
  5. 表的操作
    • 创建表
    • 删除表
    • 插入数据
    • 查询数据
    • 更新数据
    • 删除数据
  6. 高级操作
    • 索引
    • 视图
    • 存储过程
    • 触发器
  7. 用户管理
    • 创建用户
    • 授权
    • 删除用户
  8. 备份与恢复
    • 备份
    • 恢复
  9. 常见问题

简介

MySQL 是一种关系型数据库管理系统,由瑞典公司 MySQL AB 开发,目前属于 Oracle 公司。MySQL 是世界上最流行的开放源码数据库之一,广泛应用于各种应用场景中,尤其是 Web 应用。

安装 MySQL

Windows

  1. 下载 MySQL 安装包:MySQL 下载页面
  2. 运行安装包,选择“Custom”安装类型。
  3. 选择需要安装的 MySQL 产品,通常包括 MySQL Server 和 MySQL Workbench。
  4. 按照安装向导完成安装,设置 root 用户密码。
  5. 安装完成后,启动 MySQL Server,并使用 MySQL Workbench 或命令行客户端连接。

macOS

  1. 使用 Homebrew 安装 MySQL:
    brew install mysql
    
  2. 安装完成后,启动 MySQL 服务:
    brew services start mysql
    
  3. 设置 root 用户密码:
    mysql_secure_installation
    
  4. 使用命令行客户端连接 MySQL:
    mysql -u root -p
    

Linux

  1. 使用包管理器安装 MySQL(以 Ubuntu 为例):
    sudo apt update
    sudo apt install mysql-server
    
  2. 安装完成后,启动 MySQL 服务:
    sudo systemctl start mysql
    
  3. 设置 root 用户密码:
    sudo mysql_secure_installation
    
  4. 使用命令行客户端连接 MySQL:
    mysql -u root -p
    

连接 MySQL

命令行客户端

  1. 打开终端或命令提示符。
  2. 运行以下命令连接 MySQL:
    mysql -u 用户名 -p
    
  3. 输入密码后,即可进入 MySQL 命令行模式。

图形化工具

  1. MySQL Workbench:MySQL 官方提供的图形化管理工具。
  2. phpMyAdmin:基于 Web 的 MySQL 管理工具。
  3. Navicat:流行的第三方数据库管理工具,支持多种数据库类型。

基础操作

创建数据库

CREATE DATABASE 数据库名;

删除数据库

DROP DATABASE 数据库名;

选择数据库

USE 数据库名;

表的操作

创建表

CREATE TABLE 表名 (列名1 数据类型1,列名2 数据类型2,...主键约束 (列名)
);

示例:

CREATE TABLE users (id INT AUTO_INCREMENT,name VARCHAR(100),email VARCHAR(100),PRIMARY KEY (id)
);

删除表

DROP TABLE 表名;

插入数据

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

示例:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

查询数据

SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;

示例:

SELECT * FROM users;

更新数据

UPDATE 表名 SET 列名1 =1, 列名2 =2, ... WHERE 条件;

示例:

UPDATE users SET email = 'newemail@example.com' WHERE name = 'Alice';

删除数据

DELETE FROM 表名 WHERE 条件;

示例:

DELETE FROM users WHERE name = 'Alice';

高级操作

索引

索引可以提高查询效率。

CREATE INDEX 索引名 ON 表名 (列名);

示例:

CREATE INDEX idx_name ON users (name);

视图

视图是虚拟表,可以简化复杂查询。

CREATE VIEW 视图名 AS SELECT 语句;

示例:

CREATE VIEW user_emails AS SELECT name, email FROM users;

存储过程

存储过程是预编译的 SQL 代码块,提高了执行效率。

CREATE PROCEDURE 存储过程名 (参数列表)
BEGINSQL 语句;
END;

示例:

CREATE PROCEDURE GetUserEmail (IN userName VARCHAR(100), OUT userEmail VARCHAR(100))
BEGINSELECT email INTO userEmail FROM users WHERE name = userName;
END;

触发器

触发器是在特定事件发生时自动执行的 SQL 代码块。

CREATE TRIGGER 触发器名 触发时间 触发事件 ON 表名
FOR EACH ROW
BEGINSQL 语句;
END;

示例:

CREATE TRIGGER before_insert_user
BEFORE INSERT ON users
FOR EACH ROW
BEGINSET NEW.created_at = NOW();
END;

用户管理

创建用户

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

示例:

CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password123';

授权

GRANT 权限 ON 数据库.* TO '用户名'@'主机';

示例:

GRANT ALL PRIVILEGES ON mydb.* TO 'bob'@'localhost';

删除用户

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

示例:

DROP USER 'bob'@'localhost';

备份与恢复

备份

使用 mysqldump 工具备份数据库。

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

示例:

mysqldump -u root -p mydb > mydb_backup.sql

恢复

使用 mysql 工具恢复数据库。

mysql -u 用户名 -p 数据库名 < 备份文件.sql

示例:

mysql -u root -p mydb < mydb_backup.sql

常见问题

  1. 连接错误:Access denied for user ‘username’@‘host’ (using password: YES)

    • 检查用户名和密码是否正确。
    • 检查用户是否有连接权限。
    • 检查 MySQL 服务是否运行。
  2. 无法启动 MySQL 服务

    • 检查 MySQL 配置文件是否正确。
    • 检查系统日志文件获取更多信息。
  3. 忘记 root 用户密码

    • 停止 MySQL 服务。
    • 使用 --skip-grant-tables 参数启动 MySQL 服务。
    • 连接 MySQL 并重置 root 用户密码。
    • 重新启动 MySQL 服务。

以上即为 MySQL 的详细教程,希望对您有所帮助。如果您有任何问题,请随时与我联系。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vatee万腾平台:技术引领,智能先行

在科技日新月异的今天&#xff0c;智能技术正以前所未有的速度改变着我们的世界。在众多科技平台中&#xff0c;Vatee万腾平台凭借其卓越的技术实力和前瞻性的战略眼光&#xff0c;成为了智能技术领域的佼佼者。它始终坚持“技术引领&#xff0c;智能先行”的理念&#xff0c;推…

如何在 Odoo 17 库存模块中进行质量控制

质量控制是确保制造产品质量符合最终要求的关键步骤。有效的质量控制能够提高客户满意度。在生产过程中,质量检测可以在多个环节进行,以便及时发现并解决问题。不同的行业采用的质量控制技术可能有所不同。 在商业尤其是制造业中,保证产品质量至关重要。一个产品需要经过多次…

【科技前沿】电子设计新贵SmartEDA:为何它引领行业风潮?

在当今这个电子科技日新月异的时代&#xff0c;电子设计工具如同设计师的魔法棒&#xff0c;不断推动着产品创新的速度。而近期&#xff0c;一款名为SmartEDA的电子国产设计仿真软件异军突起&#xff0c;成为了行业内的新宠。那么&#xff0c;SmartEDA究竟有何过人之处&#xf…

Adaptive Server Connection Failed on Windows

最近在使用pymssql &#xff08;版本2.3.0&#xff09;连接SQL Server2012遇到如下问题&#xff1a; pymssql._mssql.MSSQLDatabaseException: (20002, bDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (localhost)\nDB-Lib error message 2000…

LeetCode:503. 下一个更大元素 II(Java 单调栈)

目录 503. 下一个更大元素 II 题目描述&#xff1a; 实现代码与解析&#xff1a; 单调栈 原理思路&#xff1a; 503. 下一个更大元素 II 题目描述&#xff1a; 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&…

分布式锁实现方案-基于Redis实现的分布式锁

目录 一、基于Lua看门狗实现 1.1 缓存实体 1.2 延迟队列存储实体 1.3 分布式锁RedisDistributedLockWithDog 1.4 看门狗线程续期 1.5 测试类 1.6 测试结果 1.7 总结 二、RedLock分布式锁 2.1 Redlock分布式锁简介 2.2 RedLock测试例子 2.3 RedLock 加锁核心源码分析…

2009年-2022年 地级市-环境污染处罚数据

环境污染处罚数据是环境保护领域中重要的信息资源&#xff0c;它记录了因违反环保法律法规而受到行政处罚或法律制裁的具体情况。这些数据对于提高公众的环保意识、促进企业采取环保措施以及推动环境治理具有重要作用。 数据内容概述 违法行为的主体&#xff1a;即受到处罚的…

私域引流的艺术:高效策略解锁流量密码

在数字化营销的浪潮中&#xff0c;私域流量以其高黏性和低成本的优势成为品牌和企业竞相追逐的宝藏。然而&#xff0c;如何有效引流至私域&#xff0c;却成了摆在每个运营者面前的难题。今天&#xff0c;我们将一起探索那些值得采用的私域引流方法&#xff0c;帮助你解锁流量的…

虚拟机有哪些写一篇文章

虚拟机技术作为现代计算环境中的重要组成部分&#xff0c;极大地丰富了我们对资源管理和系统部署的理解与实践。本文将深入探讨虚拟机的定义、工作原理、应用场景、优势、主要技术以及未来发展趋势&#xff0c;帮助读者全方位地理解虚拟机这一强大技术。 虚拟机概述虚拟机&…

利用cuda的cublas库,编写复数矩阵乘的代码

学习内容&#xff1a; 利用cuda的cublas库&#xff0c;编写复数矩阵乘的代码 学习产出&#xff1a; 编写代码如下&#xff1a; #include <stdio.h> #include <stdlib.h> #include <cuda_runtime.h> #include <cublas_v2.h> #include <random>…

【力扣】从前序与中序遍历序列构造二叉树

&#x1f525;博客主页&#xff1a; 我要成为C领域大神 &#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于分享知识&#xff0c;欢迎大家共同学习和交流。 给定两个整数数…

如何解决app广告填充率低、广告填充异常,提升广告变现收益?

APP广告变现有助于开发者获得持续的收益来源&#xff0c;由于广告链路的封闭性和复杂化&#xff0c;一旦出现请求配置参数错误、返回广告源信息缺失、素材被拦截等异常&#xff0c;大部分开发者很难及时查清异常情况&#xff0c;导致广告填充率不理想&#xff0c;甚至填充率常常…

【云服务-2】云服务器

弹性云服务器和服务器组的区别&#xff1f; 弹性云服务器和服务器组在云计算环境中有以下区别: 弹性云服务器(Elastic Cloud Server, ECS): 弹性云服务器是独立的虚拟机实例,可以独立启动、停止和管理。 弹性云服务器作为一个独立的计算资源运行,可以根据业务需求进行灵活扩展…

【Linux】linux系统VIM简介_使用

1、简介 1.1定义 VIM&#xff08;Vi IMproved&#xff09;是 Vi 编辑器的增强版本&#xff0c;提供了更多的功能和改进的用户界面。它被广泛认为是程序员的编辑器首选之一&#xff0c;特别适用于代码编辑和文本处理。VIM 拥有多种模式&#xff0c;每种模式都有其特定的功能和…

ImportError: No module named createrepo

我在用createrepo命令创建本地源时&#xff0c;出现如下&#xff1a; ImportError: No module named createrepo原因估计就是之前升级python2.6为2.7时导致&#xff08;系统为centos7&#xff09;&#xff0c;看网上很多说&#xff0c; 修改/usr/share/createrepo/genpkgmeta…

大咖共话|智领未来,数字化革新生命健康产业

在数字化浪潮席卷全球的今天&#xff0c;生命健康产业正迎来前所未有的发展机遇。6月20日&#xff0c;“第三届滨海中关村协同创新发展交流会”在北京隆重举办&#xff0c;唯迈医疗与业界大咖齐聚一堂&#xff0c;在“数字化赋能驱动生命健康产业发展”圆桌论坛上&#xff0c;共…

【PostgreSQL】AUTO_EXPLAIN - 慢速查询的日志执行计划

本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。 一、介绍 在本文中&#xff0c;我们将了解 PostgreSQL AUTO_EXPLAIN功能的工作原理&#xff0c;以及为什么应该使用它来收集在生产系统…

(1985-2022年)各省、地级市数字经济专利数据 整理

数字经济专利数量是衡量一个国家或地区在数字经济领域创新能力和技术发展水平的重要指标。这些专利通常与数字技术、互联网、大数据分析、云计算、人工智能&#xff08;AI&#xff09;、区块链、物联网&#xff08;IoT&#xff09;等创新成果相关。数字经济专利的增长不仅反映了…

[JS]函数

介绍 函数就是用来执行特点任务的代码块, 目的是实现代码复用, 提高开发效率 使用 1.0函数的声明 function 函数名 () {//函数体 } 2.0函数的调用 3.0命名规范 和变量命名规则基本一致尽量小驼峰式命名前缀应该为动词 传参 函数的参数可以极大提高函数的灵活性 1.0参数…

【React】变量 useState

开发需要&#xff0c;随便学学react。上手第一天&#xff0c;感觉这个JS语法很怪&#xff0c;没有什么逻辑性&#xff0c;比较抽象。随便写写笔记。 跟着网上找的项目写写感觉这个项目还不错&#xff1a; 分享给码友 https://zh-hans.react.dev/learn/tutorial-tic-tac-toe 参…