MySQL小白教程:从入门到查询高手

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL小白教程:从入门到查询高手

欢迎来到MySQL小白教程!MySQL是一个广泛使用的开源关系型数据库管理系统,它以其灵活性、高效性和易用性著称。无论你是编程新手,还是数据库领域的初学者,本教程都将手把手带你走进MySQL的世界,从安装到基本操作,再到编写查询语句,让你轻松掌握这一强大工具。

第一步:安装MySQL

Windows安装

对于Windows用户,最简便的方式是访问MySQL官方网站下载MySQL Community Server的安装包。安装过程中,记得选择"Custom"安装类型,以便自定义安装组件。安装向导会引导你设置MySQL服务器类型、端口、以及设置root用户的密码等信息。完成安装后,通过MySQL Workbench或命令行客户端可以连接到MySQL服务器。

Linux安装

在Linux系统中(如Ubuntu),可以通过终端使用以下命令安装MySQL:

sudo apt-get update
sudo apt-get install mysql-server

安装过程中,系统会提示你设置root用户的密码。

第二步:认识MySQL基本概念

数据库(Database)

数据库是数据存储的容器。一个MySQL服务器可以管理多个数据库。

表(Table)

表是数据库中的具体存储结构,每一行代表一条记录,每一列代表一个字段。

字段(Column)

字段定义了表中存储的数据类型,如文本、数字、日期等。

记录(Row)

记录是表中的一行数据,每条记录都有唯一的标识。

第三步:基本操作命令

登录MySQL

打开命令行工具,输入以下命令登录MySQL(以root用户为例):

mysql -u root -p

然后输入你的密码。

创建数据库

登录后,可以创建一个新的数据库:

CREATE DATABASE mydb;

选择数据库

创建完数据库,需要选择它以便进行后续操作:

USE mydb;

创建表

假设我们要创建一个用户表users,包含id、username和email三个字段:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100)
);

这里,INT AUTO_INCREMENT表示id自动增长,PRIMARY KEY指定为主键,VARCHAR(50)表示可变长度字符串,最大长度为50。

插入数据

users表中插入一些数据:

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

查询数据

查询所有用户信息:

SELECT * FROM users;

如果只想查看用户名:

SELECT username FROM users;

更新数据

修改Alice的邮箱:

UPDATE users SET email = 'alice_new@example.com' WHERE username = 'Alice';

删除数据

删除Bob的记录:

DELETE FROM users WHERE username = 'Bob';

第四步:进阶查询技巧

条件查询

查找email中包含'example'的所有用户:

SELECT * FROM users WHERE email LIKE '%example%';

排序与限制

按用户名升序排序,并只显示前两条记录:

SELECT * FROM users ORDER BY username ASC LIMIT 2;

聚合函数

计算用户表中的总记录数:

SELECT COUNT(*) FROM users;

分组与HAVING

按email的域名分组,统计各域名下的用户数量:

SELECT SUBSTRING_INDEX(email, '@', -1) AS domain, COUNT(*) 
FROM users 
GROUP BY domain 
HAVING COUNT(*) > 1;
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
存储 关系型数据库 MySQL
mysql数据库查询时用到的分页方法有哪些
【8月更文挑战第16天】在MySQL中,实现分页的主要方法包括:1)使用`LIMIT`子句,简单直接但随页数增加性能下降;2)通过子查询优化`LIMIT`分页,提高大页码时的查询效率;3)利用存储过程封装分页逻辑,便于复用但需额外维护;4)借助MySQL变量实现,可能提供更好的性能但实现较复杂。这些方法各有优缺点,可根据实际需求选择适用方案。
|
4天前
|
关系型数据库 MySQL 索引
mysql8.0中fulltext不能查询到中文的解决方法
确保MySQL服务器字符集为`utf8mb4`,并设置`ngram_token_size=1`以支持单字搜索。如已更改此参数且存在全文索引,需删除原有索引并重建,使用`WITH PARSER ngram`指定解析器。例如: ``` ALTER TABLE your_table DROP INDEX idx_fulltext, ADD FULLTEXT INDEX idx_fulltext (your_column) WITH PARSER ngram; ```
|
6天前
|
存储 算法 关系型数据库
探索MySQL递归查询,优雅的给树结构分页!
总结起来,对于MySQL中的树结构数据,递归查询结合预排序遍历树算法可以实现优雅的分页,但需要注意性能优化和数据更新的问题。这项技术提供了一种高效处理层级数据的工具,使得开发者可以在复杂的数据结构下实现直观和可靠的数据查询。
16 1
|
12天前
|
存储 SQL 缓存
MySQL查询语句的执行过程
MySQL查询语句的执行过程
|
23天前
|
SQL 缓存 关系型数据库
MySQL 查询索引失效及如何进行索引优化
MySQL 查询索引失效及如何进行索引优化
59 1
|
3天前
|
存储 SQL 关系型数据库
探索MySQL的执行奥秘:从查询执行到数据存储与优化的深入解析
探索MySQL的执行奥秘:从查询执行到数据存储与优化的深入解析
|
22天前
|
SQL 关系型数据库 MySQL
Mysql 开启慢日志查询及查看慢日志 sql
Mysql 开启慢日志查询及查看慢日志 sql
20 0
|
5天前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
18 0
|
5天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
7天前
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。