mysql 只展示两张表不同的数据_mysql必知必会(一)

7be6d8436f21fc61808a53f4f4fe5487.png

一、理解SQL

1、什么是数据库?

存储组织的数据的容器(通常为一个文件或者文件集合)

数据库和数据库管理系统区别?

数据库管理系统(DBMS)是位于用户和操作系统之间的一款数据管理软件。

2、表

特殊类型的结构话的数据列表

每个表都有不同的含义。不会有两张同名的表。

3、模式

数据库和表布局和属性的信息

4、列

表中一个单独的领域?所有的表都是有一个或者多个列组成的。

5、数据类型

被允许数据的类型,在每一个表中,每一列属性的数据类型都是有限制或者允许的特殊的数据

6、行

在表中的一个记录

7、主键

在表中,每一行值是唯一确定的一列或者几列


二、介绍MySQL

什么是MySQL

在先前的章节中学习了数据库SQL,MySQL是数据库软件DBMS,它是做存储、检索、管理和操纵数据的工作

如何安装MySQL

这里不做赘述了,不过运行是mysql -u 账号 -p 密码


三、mysql的执行

1、连接数据库需要如下参数

  • hostname 如果连接本地MySQL服务器,一般为localhost
  • port 默认为3306
  • username
  • password

2、选择一个数据库

通常使用use + 数据库名字;来使用该数据库,例如现在有多个数据库,我们想使用sql_course数据库,则我们使用 use sql_course;进行数据库使用,至于如何创建一个数据库我们会在后续学习到。

c30c1a8f6e6c9e191cf0993b44764e99.png

3、学习关于数据库和表

现在我们想展示创建来哪些数据库,则可以使用命令show databases;

我们想展示所有的表格,首先先选择数据库 use + 数据库名称,然后再使用show tables;

展示表格中的各列的属性,使用命令show columns from + 以创建的表名称;

ca76231368f5f74ffb2aee1c034a2380.png

0b386658fc25a59eee720755e0c23d91.png

e04c4593d5342661afa244d4c6fadb06.png

四、select使用

1、检索列

select + 列名(多个列名用逗号隔开,所有行用*号) + from +表名;

例如 select prod_name from products;

select prod_id,prod_name,prod_price from products;

793008de3f783431fc22e61adcf6e0cd.png

select prod_id,prod_name,prod_price from products;

c16340de67e443f0bc67b9317d402bbd.png

select * from products;

2、检索不同的行

如果我们检索某列的信息,可能我们输出的两行信息是相同的,例如

select vend_id from products;

1a780474d3277d90393f8c2649532808.png

我们可以看到许多相同的数值,现在我们想让每一个值只出现一次,使用的命令:

select distinct vend_id from products;

e4324fe515bfb732e3106546b07b57f3.png

3、限制结果

select返回的是匹配到的所有的行,现在我们就像显示几行,有什么好的方法呢?使用limit

select + 需要搜索的字段 + from + 表名 + limit +显示的行数;

例如 我现在只想显示5行信息;

select prod_name from products limit 5;

如果我们想获得下一个5行的信息,不需要前5行信息,需要怎么写呢?

使用 limit 5,5

第一个5是从哪里开始,第二个5是从开始后面的5个

4、使用合格的表格名字

平时我们进行列查询时,一般会直接使用列名字,但是也可以使用表名.列名的规则

例如 select products.prod_name from products;

当然,我们的表名也可以使用数据库名.表名

例如 select products.prod_name from crashcourse.products;


五、检索数据排序(order by)

1、分类数据

一般,我们使用查询语句进行查询时,返回的数据是乱序的,例如这样:

eca4320f2e70b8c224ba56754929caef.png

那我们需要如何将这些字段按照首字母进行排序呢?使用的方式是order by

select prod_name from products order by prod_name;

25f57c47aa3105602d4211629805cfa7.png

2、分类多列

那比如我们现在是显示多行的数据,那我们怎么来进行排序呢?比如order by 后面有两个字段是怎么进行排序的呢?

select prod_id,prod_price,prod_name from products order by prod_price,prod_name;

那么这样到底是如何进行排序的呢?是先prod_price还是prod_name呢?

规则是先排序prod_price当prod_price相同时,则在排序prod_name

71c73dc224be6d2f4a99ca2fb689921e.png

3、细化分类方向

一般的order by都是升序的,那么如果我们想降序怎么办呢?使用desc

select prod_id,prod_price,prod_name from products order by prod_price desc;

8b366bdda7a00640b687a88de858e55d.png

本期题目:有一张学生表,有如下字段:id、name、score、grade;现在我需要前5名最低分数的学生的名字和得分?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值