手把手教你进行Mysql查询操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 手把手教你进行Mysql查询操作

大家好,我是IT共享者,人称皮皮。今天给大家讲讲MySQL中的查询操作。


前言


我们在以前,大概学了一下如何通过命令创建数据库,创建表等基本操作。

但是实际上啊,至少在我的实际工作中,用到的不是太多,了解就可以。

因为我们可以通过一些可视化软件,像Navicat for MySQL等。

可以很方便的帮助我们创建数据库,创建表,修改表等操作。


Navicat for MySQL简单示例


创建数据库

使用Navicat for MySQL连接好一个Mysql服务之后。

  1. 右击--> 新建数据库

image.png

  1. 选择新建数据库信息
    字符集一定要选择utf8mb4 -- UTF-8 Unicode,这个表示支持存储Emoji表情。
    排序规则一定要选择utf8mb4_general_ci
    至于为什么,我也不知道...,原谅我是个码农吧。

image.png


就这样,一个数据库创建完成了,是不是很轻松。


创建表

  1. 右击表--> 新建表

image.png

  1. 制定表结构

image.png

  1. 保存表(Ctrl+s)

image.png


设计表

在实际中,我们常常会更改表结构,也叫设计表

  1. 右击表-->设计表
    image.png
  2. 修改表
    image.png
  3. 保存即修改


查询

上述主要复现了一下如何通过可视化软件操作数据库,确实会比直接命令方便很多很多。

但是查询这个操作,那可视化软件就真的无能为力了。

毕竟我们不管是封装在后台还是自己的软件中。

都是要使用原生SQL的,这个是无法避免的,并且原生SQL查询是最灵活的!!!

终于迎来了最最最重要的环节,学习原生sql


需求分析

假设我们现在要做一个学生管理系统,所以首先确定,会有一个学生表,用于存放学生的信息,像姓名了,年龄了,性别了,等。

然后想了又想,学生肯定要属于哪个班级的,张三是一班的,李四是二班的,等。

所以我们可能就会有两张表了,一个是学生信息表,一个是班级表,然后学生属于哪个班级。

就像小时候戴的学生胸牌一样,姓名:xxx,班级:xxx等。

想了想,我觉得表结构大概如下


表结构图

表结构图.xlsx

image.png


表结构代码

school_test.sql

应该通过这两张表,基本可以把我们的sql语法,学的差不多,一起来看看叭。


查询(select)

既然表里面有这么多数据,那就需要查询了,首先是。


查询所有

sql

-- 语法SELECT * from <表名>;-- 例如,查询学生表SELECT * from student;

执行结果

image.png


where条件查询

但是有时候,我们可能需要查询带有一些条件的,比如id=1的,或者name=张三的等。

这时候就需要用到where

sql

-- 语法SELECT * from <表名> where <条件>;-- 例如,查询id=1的数据SELECT * from student where id=1;

执行结果

image.png

这样,我们就把id=1的数据查找出来了。

同理,还可以写其他条件。

查询性别为男的(gender=男)

SELECT * from student where gender="男";

执行结果

image.png

这样,就把gender=男的都查出来了。


where多个条件查询(and)

假设现在表内容如下。

image.png

有俩琪琪,一个是男琪琪,一个是女琪琪,那我们查的时候,肯定要区分是男的还是女的琪琪了。

所以这时候需要where多个条件了。

and的意思是查询满足所有条件的数据。

sql

-- 语法SELECT * from student where <条件> and <条件> ...;-- 例如,查询男琪琪SELECT * from student where name="琪琪" and gender="男";

执行结果

image.png

这样,通过多个条件就卡住了更精准的数据。


select 选择列


在上面使用时,我们使用的都是select * from <表名>

假设我们的数据如下

image.png

select *就表示,选择所有列

image.png

结果如下

image.png

如果是select id,name age,表示选择指定列

image.png

结果如下

image.png

select还能给列起别名

例如

SELECT id,name as "姓名",age from student;

执行结果

image.png


总结


本章主要讲述了如何使用Navicat for MySQL新建数据库,新建表,设计表等简单操作。

后续又根据实际需求设计出简单的学生表班级表,并且简单是使用了select查询。


后来又讲解select *select 列1,列2的区别。


如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

敬往事一杯酒,自此不再回头。


我是码农星期八,如果觉得还不错,记得动手点赞一下哈。感谢你的观看。


如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
21天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
22天前
|
SQL 关系型数据库 MySQL
【MySQL】11. 复合查询(重点)
【MySQL】11. 复合查询(重点)
20 0
|
22天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
21 0
|
23天前
|
SQL 关系型数据库 MySQL
mysql一条sql查询出多个统计结果
mysql一条sql查询出多个统计结果
14 0
|
21天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
21天前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
|
6天前
|
SQL 关系型数据库 MySQL
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
17 2
|
7天前
|
关系型数据库 MySQL Shell
MySQL 查询
MySQL 查询
|
10天前
|
SQL 关系型数据库 MySQL
DQL语言之基础查询(mysql)
DQL语言之基础查询(mysql)
|
10天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)