我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql必知必会-

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql必知必会-

mysql必知必会-

SELECT 语句

SQL语句是由简单的英语单词构成的。这些单词称
为关键字,每个SQL语句都是由一个或多个关键字构成的。大概,最经常
使用的SQL语句就是 SELECT 语句了。它的用途是从一个或多个表中检索
信息。
为了使用 SELECT 检索表数据,必须至少给出两条信息——想选择什
么,以及从什么地方选择。

检索单个列

我们将从简单的SQL SELECT 语句开始介绍
利用 SELECT 语句从 products 表中检索一个名为
prod_name 的列。所需的列名在 SELECT 关键字之后给出, FROM
关键字指出从其中检索数据的表名

未排序数据 如果没有
明确排序查询结果(下一章介绍),则返回的数据的顺序没有
特殊意义。返回数据的顺序可能是数据被添加到表中的顺序,
也可能不是。只要返回相同数目的行,就是正常的

如上的一条简单 SELECT 语句将返回表中所有行。数据没有过滤(过
滤将得出结果集的一个子集),也没有排序。以后几章将讨论这些内容

结束SQL语句 多条SQL语句必须以分号(;)分隔。MySQL
如同多数DBMS一样,不需要在单条SQL语句后加分号。但特
定的DBMS可能必须在单条SQL语句后加上分号。当然,如果
愿意可以总是加上分号。事实上,即使不一定需要,但加上
分号肯定没有坏处。如果你使用的是 mysql命令行,必须加上
分号来结束 SQL 语句

SQL语句和大小写 请注意,SQL语句不区分大小写,因此
SELECT 与 select 是相同的。同样,写成 Select 也没有关系。
许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有
列和表名使用小写,这样做使代码更易于阅读和调试。
不过,一定要认识到虽然SQL是不区分大小写的,但有些标识
符(如数据库名、表名、列名)可能不同:在MySQL 4.1及之
前的版本中,这些标识符默认是区分大小写的;在MySQL 4.1.1
版本中,这些标识符默认是不区分大小写的。
最佳方式是按照大小写的惯例,且使用时保持一致

使用空格 在处理SQL语句时,其中所有空格都被忽略。SQL
语句可以在一行上给出,也可以分成许多行。多数SQL开发人
员认为将SQL语句分成多行更容易阅读和调试

检索多个列

要想从一个表中检索多个列,使用相同的 SELECT 语句。唯一的不同
是必须在 SELECT 关键字后给出多个列名,列名之间必须以逗号分隔

当心逗号 在选择多个列时,一定要在列名之间加上逗号,但
最后一个列名后不加。如果在最后一个列名后加了逗号,将出
现错误

数据表示 从上述输出可以看到,SQL语句一般返回原始的、
无格式的数据。数据的格式化是一个表示问题,而不是一个
检索问题。因此,表示(对齐和显示上面的价格值,用货币
符号和逗号表示其金额)一般在显示该数据的应用程序中规
定。一般很少使用实际检索出的原始数据(没有应用程序提
供的格式)。

检索所有列

除了指定所需的列外(如上所述,一个或多个列), SELECT 语句还可
以检索所有的列而不必逐个列出它们。这可以通过在实际列名的位置使
用星号( * )通配符来达到,如下所示:

如果给定一个通配符( * ),则返回表中所有列。列的顺序一般
是列在表定义中出现的顺序。但有时候并不是这样的,表的模
式的变化(如添加或删除列)可能会导致顺序的变化

使用通配符 一般,除非你确实需要表中的每个列,否则最
好别使用 * 通配符。虽然使用通配符可能会使你自己省事,不
用明确列出所需列,但检索不需要的列通常会降低检索和应
用程序的性能

检索未知列 使用通配符有一个大优点。由于不明确指定列
名(因为星号检索每个列),所以能检索出名字未知的列。

检索不同的行

正如所见, SELECT 返回所有匹配的行。但是,如果你不想要每个值
每次都出现,怎么办?例如,假如你想得出 products 表中产品的所有供
应商ID:



SELECT 语句返回14行(即使表中只有4个供应商),因为 products 表
中列出了14个产品。那么,如何检索出有不同值的列表呢?
解决办法是使用 DISTINCT 关键字,顾名思义,此关键字指示MySQL
只返回不同的值



不能部分使用 DISTINCT DISTINCT 关键字应用于所有列而
不仅是前置它的列。如果给出 SELECT DISTINCT vend_id,
prod_price ,除非指定的两个列都不同,否则所有行都将被
检索出来

限制结果

SELECT 语句返回所有匹配的行,它们可能是指定表中的每个行。为
了返回第一行或前几行,可使用 LIMIT 子句。
此语句使用 SELECT 语句检索单个列。 LIMIT 5 指示MySQL返回
不多于5行
LIMIT 5, 5 指示MySQL返回从行5开始的5行。第一个数为开始
位置,第二个数为要检索的行数。
所以,带一个值的 LIMIT 总是从第一行开始,给出的数为返回的行数。
带两个值的 LIMIT 可以指定从行号为第一个值的位置开始

行 0 检索出来的第一行为行0而不是行1。因此, LIMIT 1, 1
将检索出第二行而不是第一行。
在行数不够时 LIMIT 中指定要检索的行数为检索的最大行
数。如果没有足够的行(例如,给出 LIMIT 10, 5 ,但只有13
行),MySQL将只返回它能返回的那么多行
MySQL 5的 LIMIT 语法 LIMIT 3, 4 的含义是从行4开始的3
行还是从行3开始的4行?如前所述,它的意思是从行3开始的4
行,这容易把人搞糊涂。
由于这个原因,MySQL 5支持 LIMIT 的另一种替代语法。 LIMIT
4 OFFSET 3 意为从行3开始取4行,就像 LIMIT 3, 4 一样

使用完全限定的表名

迄今为止使用的SQL例子只通过列名引用列。也可能会使用完全限定
的名字来引用列(同时使用表名和列字)。请看以下例子:

表名也可以是完全限定的,如下所示:

这条语句在功能上也等于刚使用的那条语句(当然,假定 products
表确实位于 crashcourse 数据库中)
有一些情形需要完全限定名。现在,
需要注意这个语法,以便在遇到时知道它的作用

小结

本章学习了如何使用SQL的 SELECT 语句来检索单个表列、多个表列
以及所有表列。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql必知必会-

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql必知必会-

SELECT 语句SQL语句是由简单的英语单词构成的。这些单词称为关键字,每个SQL语句都是由一个或多个关键字构成的。大概,最经常使用的SQL语句就是 SELECT 语句了。它的用途是从一个或多个表中检索信息。为了使用 SELECT 检索表数据,必须至少给出两
mysql必知必会-
2021-05-10

MySQL必知必会(初级篇)

mysql 1.基本概念2.SQL语言2.1 DCL(数据控制语言)2.1.1创建用户2.1.2 使用grant命令给用户授权2.1.3 使用revoke命令撤销权限 2.2 DDL(数据定义语言)2.2.1 mysql常用
2023-08-19

MySQL必知必会--第十九章

第十九章--插入数据 1。插入数据:     insert into customers values(NULL, "XXX","XXX", "XXX","XXX", "XXX","XXX", "XXX","XXX",NULL, NULL);     没有输出
MySQL必知必会--第十九章
2016-01-25

MySQL必知必会--第二十一章

3.删除数据:delete from customers where cust_id=10006; 4.删除某列:可以使用update 把该列置为NULL; 5.删除表的内容而不是表: DELETE语句从表中删除行,甚至是 删除表中所有行。但是,DELETE不
MySQL必知必会--第二十一章
2019-01-01

MySQL必知必会:MySQL中的Schema与DataBase

摘抄自:https://blog.csdn.net/weixin_44321080/article/details/108446596 第一章:MySQL中Schema和DataBase是否等同? 第一章:MySQL中Schem
2023-08-18

MySQL必知必会--第二十四章

3.保持每个数据库的触发器名唯一 4.触发器用CREATE TRIGGER语句创建     例如: create trigger newproduct after insert on products for each row select "Prodcut
MySQL必知必会--第二十四章
2019-07-08

MySQL必知必会--第一章--了解SQL

1.什么是数据库     数据库(database) 保存有组织的数据的容器(通常是一个文 件或一组文件)。     数据库软件应称为DBMS(数据库管理系统)     表是一种结构化的文件,可用 来存储某种特定类型的数据。     模式(schema) 关于
MySQL必知必会--第一章--了解SQL
2018-11-06

MySQL必知必会--第五章~第八章

第六章--过滤数据 1. 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤, WHERE子句在表名(FROM子句)之后给出    例如:select prod_names, prod_id, prod_price from products
MySQL必知必会--第五章~第八章
2019-03-03

mysql必知必会-创建高级联结

使用表别名使用别名引用被检索的表列别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做有两个主要理由:缩短SQL语句;允许在单条 SELECT 语句中多次使用相同的表。可以看到, FROM 子句中3个表全都具有别名。 customers AS c建立
mysql必知必会-创建高级联结
2017-02-25

MySQL必知必会--第十章--计算字段

第十章--计算字段 1.字段:字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的 连接上。 2.拼接字段:将值联结到一起构成单个值。在MySQL的SELECT语句中,可使用Concat(
MySQL必知必会--第十章--计算字段
2019-01-15

SQL必知必会知识点汇总

前言 ❤欢迎大家阅读我的文章呀❤ 今天是SQL必知必会的最后一块练习。 希望你们在我的文章当中能有所收获!!! SLogan:利用有限的时间,撸起袖子加油干!   本篇内容主要总结了【SQL必知必会】当中的一些知识点以及我做题过程当中
2023-08-24

MySQL必知必会1-20章读书笔记

MySQL备忘目录目录使用MySQL检索数据排序检索数据过滤数据数据过滤用通配符进行过滤用正则表达式进行搜索创建计算字段使用数据处理函数数值处理函数汇总数据分组数据使用子查询作为计算字段使用子查询联结表创建高级联结组合查询全文本搜索插入数据更新和删除数据使用M
MySQL必知必会1-20章读书笔记
2019-01-02

MySQL必知必会--第二章~第四章--MySQL简介

1.DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机—服务器的DBMS。服务器部分是 负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务 器的计算机上。 2.MySQL Administrator(MySQL管理器)是一个图
MySQL必知必会--第二章~第四章--MySQL简介
2014-06-09

MySQL必知必会--第十六章~第十七章

5.使用带聚集函数的联结     select customers.cust_name, customers.cust_id, count(orders.order_num) as num_id from customers  inner orders on
MySQL必知必会--第十六章~第十七章
2016-07-26

编程热搜

目录