MySQL必知必会1

了解数据库和表

为了显示当前可用的数据库,可以使用 SHOW DATABASES;来显示当前存在的数据库.

在这里插入图片描述

当然mysql语法中对于大小写没有严格的规定,如show databases;也是可以的。

为了使用test数据库,应该输入以下内容: USE test;

在这里插入图片描述

USE并不返回任何结果,依赖于使用的客户机,显示某种形式的通知。

必须先使用USE打开数据库,才能读取其中的数据。

为了获得数据库内的表的列表,使用SHOW TABLES;

在这里插入图片描述

返回了当前选择的数据库内可用的表的列表。

SHOW也可以用来显示表列。

在这里插入图片描述

SHOW COLUMNS 要求给出一个表名,对于每一个字段返回一行,行中包含字段名、数据类型,是否允许NULL、键信息、默认值以及其他信息。

还可以使用DESCRIBE语句来显示列的信息,即DESCRIBE customers;SHOW COLUMNS FROM customers;的一种快捷方式。

检索数据

SELECT语句

用于从一个或多个表中选择信息

为了使用SELECT语句检索表数据,必须至少给出两点信息:选择什么及从什么地方选。

检索单个列

简单的SELECT语句。

在这里插入图片描述

这个语句利用SELECT语句从products表中检索出一个名为prod_name的列,SELECT之后跟所需的列名,FROM关键字指出从哪个表中检索数据。

检索多个列

与检索一个列不同的是检索多个列需要在SELECT 后跟多个列名。

在这里插入图片描述

列名之间用逗号(,)分隔。

检索所有列

可以使用SELECT* 来检索所有列。

在这里插入图片描述

给定一个通配符(*),返回表中所有的列。列的顺序一般是在表中定义的顺序。

检索不同的行

SELECT返回所有匹配的行,但如果我们不需要有的行多次出现,应该怎么办?

如我们想要所有的供应商ID,

在这里插入图片描述

返回了14行,但其实供应商只有四个,那我们可以使用DISTINTC来检索不同的列。

在这里插入图片描述

SELECT DISTINCT vend_id 只返回不同的vend_id行,所以只返回四行。

限制结果

SELECT 语句返回所有匹配的行,为了返回第一行或前几行,可以使用LIMIT语句。

在这里插入图片描述

LIMIT语句表明返回不多于5行,为了得出下一个5行,可以指定检索的开始行和行数。

在这里插入图片描述

LIMIT 5, 5表明从行5开始返回5行,第一个数为开始位置,第二个为要检索的行数。

使用完全限定的表名

当前使用的例子只通过列名引用列,也可以使用完全限定的名字来引用列:SELECT products.prod_name FROM products;等同于SELECT prod_name FROM products;但这里是完全限定的列名。表名也可以是完全限定的:SELECT products.prod_name FROM crashcourse.products; crashcourse是当前使用的数据库。

有些情形需要使用完全限定名,以后会讲。

排序检索数据

排序数据

SELECT语句返回表中的列,但没有特定的顺序,为了排序所检出的列,可用ORDER语句。

在这里插入图片描述

上述例子表明对检索出的列进行字母排序。

按多个列排序

如果要显示雇员清单,可能希望按姓和名来排序(首先按姓排序,姓相同的再按名排序),为了按多个列排序只需指定列名,列名之间用逗号隔开即可。

在这里插入图片描述

按多个列排序时,排序按所规定的顺序进行,如上述例子,先按prod_price进行排序,prod_price相同的再按prod_name排序。

指定排序方向

默认排序顺序是升序,还可以以降序排序,降序排序需要DESC关键字

在这里插入图片描述

这个例子按价格以降序排序。

但如果对多个列排序时该怎么办?

在这里插入图片描述

例如这个例子先对产品价格降序排序,再按名字排序。

使用ORDER BY 和LIMIT 的组合可以找出一个列中最高或最低的值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值