前言

相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。因为索引是MySQL中比较重点的知识,很多人都有一定的了解,尤其是在面试中出现的频率特别高。

那什么是数据库?MySQL是什么?SQL是什么?

数据库,用来存储数据。由表组成,可以有0到n张表,

表就像是Excel,它适合存放一些简单的文字信息——

  • 一个人的身份证号码
  • 电话号码
  • 姓名

Excel不适合存放什么信息呢?

  • 照片
  • 电影
  • 小说

这些单个 大体量文件对象会放在数据库里。

比如说,淘宝上所有的商品,背后的商品信息、店铺信息、销量等数据,就躺在数据库中的表格中,但是店铺上的宣传视频、图片、音乐,不会放在数据库中。

世界上有各种各样的数据库,但幸运的是,你只需要学会MySQL基本使用方法,就可以应对绝大多数的场景

MySQL是什么?

MySQL是一种数据库软件,数据库和MySQL的关系,就像是聊天软件与QQ、微信的关系。

世界上有各种各样的数据库,比如Oracle、MySQL、SQL Server等等,一般互联网公司都会用MySQL,因为它是免费、使用范围最广。

一般面试,也只会问及MySQL相关的知识。

SQL是什么

是一种编程语言,就像Java、C++、Python,但是它特别简单

SQL是用来操纵数据库的一种语言。

只需要上百个英文单词,SQL就可以对数据进行让人眼花缭乱的操作,非常容易上手。

总结一下,数据库是一种数据存储系统,其中最有代表性的是MySQL,它是使用最广泛的数据库,我们使用SQL语言对他进行操作。

第二个问题——

为什么要有数据库?

因为Excel不能供一个大型系统使用,它的性能不够好。我们需要一个可以供多人同时访问、操纵、安全的数据存储系统。

通俗来说,数据库是一个共享的硬盘,可以多人同时地进行访问、更改数据。在数据量很大(0~300G)的时候,数据库的性能将会非常地好。

(想象一下一个几十G的Excel,操作他将会非常困难)


如何学习数据库呢?

我将不再介绍概念,我们直接来抄一份代码跑跑看。不用觉得奇怪,几乎所有程序员入门的起点都是抄代码,跑跑看。

一般来说,我们需要下载免费的MySQL进行安装,但是这对普通人来说成本太高了,你可能会遇到各种各样的安装错误,我非常不推荐在这种事情上浪费时间。所幸有一个网站,可以让你在线地使用,点开下面这个链接

SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.​sqlfiddle.com/正在上传…重新上传取消

使用这个网站,你只需要输入SQL即可。

我们将从以下N步来实操一下数据库操作。

1,建立一张表格。并存进去一些数据。

2,查询数据。

3,花式查询数据。

第一步,建表并插入数据

目标:建一张简单的表:

表分为4列,浅蓝色是列名

我们把网站打开

打开后的页面,复制下面的代码

将下面SQL语句,拷贝到网页左边框:

注意,不要用鼠标复制粘贴,使用键盘操作。不然可能会抛错。

如果一直抛错,就把代码复制到txt文件中,再粘贴到网站上。

CREATE TABLE `student_info` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id,主键',`student_name` varchar(50) COMMENT '学生姓名',`student_age` int COMMENT '学生年龄',`student_sex` varchar(10) COMMENT '学生性别',PRIMARY KEY (`id`)
);INSERT INTO `student_info`
(`student_name`, `student_age`,`student_sex`)
VALUES
('葛尧', 17 , '男')
;
INSERT INTO `student_info`
(`student_name`, `student_age`,`student_sex`)
VALUES
('XH', 23 , '男')
;
INSERT INTO `student_info`
(`student_name`, `student_age`,`student_sex`)
VALUES
('QHR', 24 , '男')
;INSERT INTO `student_info`
(`student_name`, `student_age`,`student_sex`)
VALUES
('WR', 22 , '女')
;

在左边输入框,拷贝上面的SQL,点击build Schema

右边查询语句拷贝下方代码

这样就完成了建立表格,并插入数据的操作。觉得懵?没关系,我们把数据查出来看看。

第二步,查询数据

将下面代码复制到网页右边的输入栏,点击Run SQL

select `id`,`student_name`,`student_age`
from `student_info`
;
#!拷贝到网页右边,点击Run SQL 

有了4条数据啦!

如果你觉得写列名很烦,你也可以写

select *
from `student_info`;

会默认地拉出所有列的数据,如下:

列出了所有的列,所有的数据


如果你依然觉得很懵,不用管上面具体含义,只需要知道我们已经有了下面4条数据即可

一共4条记录,代表着4个学生,表里面有他们的姓名、年龄、性别。

第三步,做一些花式查询

一些常用到场景,比如——

列出所有的学生:将下面代码复制到右边边框,点击Run SQL

select *
from `student_info`
where `student_sex`='男'
;

列出所有的男学生

列出所有年龄大于20岁的学生

select *
from `student_info`
where `student_age` > 20
;

列出所有年龄大于20岁的学生

列出所有年龄大于20岁学生

select *
from `student_info`
where `student_age` > 20and `student_sex` = '男'
;

列出所有年龄大于20岁的男学生

列出所有的学生,按照年龄升序排列(1,2,3...)

select *
from `student_info`
where `student_sex` = '男'
order by `student_age` ASC
;

列出所有的男学生,按照年龄升序排列

学生按照年龄排序,列出最年轻的2个人:

select *
from `student_info`
where `student_sex` = '男'
order by `student_age` ASC
limit 2
;

把男学生按照年龄排序,列出最年轻的2个人

最后一个常用关键字,group by

把学生按照性别分组,找出男女分别最大的年龄

这个需求,实际上,是要先从表中拿出数据,之后按照性别分成2组,之后在每个组里,找出年龄最大的那个数字。

select `student_sex`, max( `student_age` )
from `student_info`
group by `student_sex`
;

零基础入门MySQL,让你对,MySQL有一定的了解相关推荐

  1. 视频教程-19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程-MySQL

    19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/ja ...

  2. 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习

    今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...

  3. 介绍一本零基础入门Python数据分析的书

    大家好,我是 Lemon. 有不少读者在询问如何入门Python.如何入门Python数据分析,之前跟大家分享了两本零基础入门Python的书籍:<Python编程从入门到实践> 和< ...

  4. SQL零基础入门学习(十)

    SQL零基础入门学习(九) SQL CREATE DATABASE 语句 CREATE DATABASE 语句用于创建数据库. SQL CREATE DATABASE 语法 CREATE DATABA ...

  5. SQL零基础入门学习(九)

    SQL零基础入门学习(八) SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也 ...

  6. SQL零基础入门学习(十四)

    上篇:SQL零基础入门学习(十三) SQL NULL 值 NULL 值代表遗漏的未知数据. 默认地,表的列可以存放 NULL 值. 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新 ...

  7. SQL零基础入门学习(十三)

    上一篇(SQL零基础入门学习(十二)) SQL 视图(Views) 视图是可视化的表. SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行 ...

  8. SQL零基础入门学习(八)

    SQL零基础入门学习(七) SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来. 下图展示了 LEFT JOIN.RIGHT JOIN.INNER JOIN.OUTER J ...

  9. SQL零基础入门学习(七)

    SQL零基础入门学习(六) SQL BETWEEN 操作符 BETWEEN 操作符选取介于两个值之间的数据范围内的值.这些值可以是数值.文本或者日期. SQL BETWEEN 语法 SELECT co ...

  10. SQL零基础入门学习(十一)

    SQL零基础入门学习(十) SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录 ...

最新文章

  1. AI换脸、声音篡改等,明确写入新版《民法典》
  2. php tp3.0计算每天的订单,TP5.1结合taskphp3.0定时任务
  3. 2021年广东省高考成绩查询入口,广东省教育考试院:2021年广东高考成绩查询入口、查分系统...
  4. LINUX的文件按时间排序
  5. mediaplay抓图
  6. W3school和W3Cschool的区别
  7. 关于分布式服务中的中间件技术入门概述
  8. java获取中文拼音或拼音首字母
  9. 输入一个4位以内的正整数,输出各位数字之和
  10. Android——基本组件-2
  11. 天嵌科技TQ2440的uboot启动流程分析学习笔记
  12. 【Python标准库】base64模块
  13. 炼钢厂管道温度监控项目案例基于NB-IOT电池供电防爆温度传感器
  14. jQuery仿钉钉组织架构的选择部门功能,移动端完美树形图
  15. RabbitMQ可靠性投递与高可用架构
  16. NOI模拟(5.19) JSOID2T3 军训列队 (bzoj5319)
  17. 智慧书-永恒的处世经典格言:241-280
  18. 史上最简单的 MySQL 教程(二)「关系型数据库」
  19. 教资 2022(上) | 小学科目三- 小学教师资格证面试(教学技巧)考情考点梳理
  20. 自考计算机毕业论文答辩视频,自考毕业论文答辩揭秘:给自己留后路

热门文章

  1. 2017711010137 赵栋 《面向对象程序设计》第四章学习总结
  2. java课程培训中心
  3. 2020-11-3(安卓开发入门)
  4. 高斯牛顿法----MATLAB实现
  5. md5sum命令的使用
  6. Android使用Startup和Lifecycle打造一个单独的测试module
  7. 提取 Excel 指定单元格数据
  8. Java核心技术汇总
  9. python怎么编译dex_用python一步步解剖dex文件(二)
  10. java非主流火星文输入法_我爱火星文_火星文输入法