广告
返回顶部
首页 > 资讯 > 数据库 >MySQL(六):基本的SELECT语句
  • 520
分享到

MySQL(六):基本的SELECT语句

数据库mysqlsql 2023-08-19 13:08:32 520人浏览 薄情痞子
摘要

基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件



前言

本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!

一、SELECT…

SELECT 1; #没有任何子句SELECT 9/2; #没有任何子句

二、SELECT … FROM

  • 语法:
SELECT   标识选择哪些列FROM     标识从哪个表中选择
  • 选择全部列:
SELECT *FROM   departments;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvZLt90x-1686295251158)(images/1554950890895.png)]

  1. 一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘*’。
  2. 使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。
  3. 通配符的优势是,当不知道所需要的列的名称时,可以通过它获取它们。

在生产环境下,不推荐你直接使用SELECT *进行查询。

  • 选择特定的列:
SELECT department_id, location_idFROM   departments;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NyIcQHqG-1686295251159)(images/1554950947969.png)]

Mysql中的sql语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。

三、列的别名

  • 重命名一个列

  • 便于计算

  • 紧跟列名,也可以在列名和别名之间加入关键字AS,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。

  • AS 可以省略

  • 建议别名简短,见名知意

  • 举例

 SELECT last_name AS name, commission_pct comm FROM   employees;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciO597KW-1686295251160)(images/1554951616598.png)]

SELECT last_name "Name", salary*12 "Annual Salary"FROM   employees;

在这里插入图片描述

四、去除重复行

默认情况下,查询会返回全部行,包括重复行。

SELECT department_idFROM   employees;

在这里插入图片描述

在SELECT语句中使用关键字DISTINCT去除重复行

SELECT DISTINCT department_idFROM   employees;

在这里插入图片描述

针对于:

SELECT DISTINCT department_id,salary FROM employees;

这里有两点需要注意:

  1. DISTINCT 需要放到所有列名的前面,如果写成SELECT salary, DISTINCT department_id FROM employees会报错。
  2. DISTINCT 其实是对后面所有列名的组合进行去重,你能看到最后的结果是 74 条,因为这 74 个部门id不同,都有 salary 这个属性值。如果你想要看都有哪些不同的部门(department_id),只需要写DISTINCT department_id即可,后面不需要再加其他的列名了。

五、空值参与运算

  • 所有运算符或列值遇到null值,运算的结果都为null
SELECT employee_id,salary,commission_pct,12 * salary * (1 + commission_pct) "annual_sal"FROM employees;

这里一定要注意,在 mysql 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长度是空。而且,在 MySQL 里面,空值是占用空间的。

六、着重号

  • 错误的
mysql> SELECT * FROM ORDER;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL Server version for the right syntax to use near 'ORDER' at line 1
  • 正确的
mysql> SELECT * FROM `ORDER`;+----------+------------+| order_id | order_name |+----------+------------+|        1 | shkstart   ||        2 | Tomcat     ||        3 | dubbo      |+----------+------------+3 rows in set (0.00 sec)mysql> SELECT * FROM `order`;+----------+------------+| order_id | order_name |+----------+------------+|        1 | shkstart   ||        2 | tomcat     ||        3 | dubbo      |+----------+------------+3 rows in set (0.00 sec)
  • 结论

我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在SQL语句中使用一对``(着重号)引起来。

七、查询常数

SELECT 查询还可以对常数进行查询。对的,就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的,而不是从数据表中动态取出的。

你可能会问为什么我们还要对常数进行查询呢?

SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。

比如说,我们想对 employees 数据表中的员工姓名进行查询,同时增加一列字段corporation,这个字段固定值为“帅哥”,可以这样写:

SELECT '帅哥' as corporation, last_name FROM employees;

八、显示表结构

使用DESCRIBE 或 DESC 命令,表示表结构。

DESCRIBE employees;DESC employees;
mysql> desc employees;+----------------+-------------+------+-----+---------+-------+| Field          | Type        | Null | Key | Default | Extra |+----------------+-------------+------+-----+---------+-------+| employee_id    | int(6)      | NO   | PRI | 0       |       || first_name     | varchar(20) | YES  |     | NULL    |       || last_name      | varchar(25) | NO   |     | NULL    |       || email          | varchar(25) | NO   | UNI | NULL    |       || phone_number   | varchar(20) | YES  |     | NULL    |       || hire_date      | date        | NO   |     | NULL    |       || job_id         | varchar(10) | NO   | MUL | NULL    |       || salary         | double(8,2) | YES  |     | NULL    |       || commission_pct | double(2,2) | YES  |     | NULL    |       || manager_id     | int(6)      | YES  | MUL | NULL    |       || department_id  | int(4)      | YES  | MUL | NULL    |       |+----------------+-------------+------+-----+---------+-------+11 rows in set (0.00 sec)

其中,各个字段的含义分别解释如下:

  • Field:表示字段名称。
  • Type:表示字段类型,这里 barcode、Goodsname 是文本型的,price 是整数类型的。
  • Null:表示该列是否可以存储NULL值。
  • Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
  • Default:表示该列是否有默认值,如果有,那么值是多少。
  • Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

九、过滤数据

  • 背景:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7cflOVEW-1686295668849)(images/1554952199742.png)]

  • 语法:

    SELECT 字段1,字段2FROM 表名WHERE 过滤条件
    • 使用WHERE 子句,将不满足条件的行过滤掉
    • WHERE子句紧随 FROM子句
  • 举例

SELECT employee_id, last_name, job_id, department_idFROM   employeesWHERE  department_id = 90 ;

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_52533007/article/details/131128366

您可能感兴趣的文档:

--结束END--

本文标题: MySQL(六):基本的SELECT语句

本文链接: https://www.lsjlt.com/news/375477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL(六):基本的SELECT语句
    基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件...
    99+
    2023-08-19
    数据库 mysql sql
  • 第03章 MySQL基本的SELECT语句
    第03章 MySQL基本的SELECT语句 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有...
    99+
    2017-08-05
    第03章 MySQL基本的SELECT语句
  • mysql基础(七)select语句
    单表查询:     SELECT         [ DISTINC...
    99+
    2022-10-18
  • 第03章_基本的SELECT语句
    第03章_基本的SELECT语句 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几...
    99+
    2014-10-31
    第03章_基本的SELECT语句
  • MySQL 基本语句
    MySQL 基本语句一.数据定义语言(DDL)二.数据操作语言(DML)三.数据查询语言(DRL)四.事务控制语言(TCL)一.数据定义语言(DDL:Data Definition Language)(修改...
    99+
    2022-10-18
  • SQL SELECT 语句基础
    目录一、列的查询二、查询出表中所有的列三、为列设定别名四、常数的查询五、从结果中删除重复行六、根据 WHERE 语句来选择记录七、注释的书写方法请参阅 学习重点 使用 SELECT 语句从表中选取数据。 为列设定显示用的...
    99+
    2017-11-22
    SQL SELECT 语句基础
  • sql的基础语句-sql的查询语句select
     SQL查询语句介绍--select语句1.简单的select查询语句1.1 查行SQL> select * from emp;1.2 查列SQL> select ...
    99+
    2022-10-18
  • 学习MySQL的select语句
    select语句可 以用回车分隔 $sql="select * from article where id=1&...
    99+
    2022-10-18
  • 【MySQL】MySQL基本语句大全
    个人主页:【😊个人主页】 系列专栏:【❤️MySQL】 文章目录 前言结构化查询语句分类MySQL语句大全📚DDL(对数据库和表的操作)🤖DQL(查询语句)💻...
    99+
    2023-08-17
    mysql 数据库
  • mysql语句的基本操作
    实践练习环境:直接在生产环境中操作OS:CentOS6.8具体操作流程如下:Last login: Wed Aug 10 08:07:15 2016 from ********欢迎登录***********...
    99+
    2022-10-18
  • MySQL 基本查询语句
    1.SQL分类 DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。...
    99+
    2023-09-27
    mysql 数据库 sql
  • C语言select语句的基本使用方法有哪些
    C语言中的select语句是一种条件判断语句,用于根据不同的条件执行不同的操作。它的基本使用方法如下:1.基本语法```select...
    99+
    2023-06-14
    select语句
  • MYSQL的基本SQL语句介绍
    下文主要给大家带来MYSQL的基本SQL语句介绍,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL的基本SQL语句介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MYSQL介绍MySQL...
    99+
    2022-10-18
  • MySQL之优化SELECT语句
    MySQL之优化SELECT语句 文章目录 MySQL之优化SELECT语句摘要:引言:1. MySQL性能提成优化概述2. WHERE子句优化3. 范围优化4. 哈希联接优化5. 储存引擎下的优化6. 索引条件下推优化7....
    99+
    2023-08-16
    mysql 数据库 原力计划
  • MySQL的select语句如何使用
    今天小编给大家分享一下MySQL的select语句如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。selec...
    99+
    2023-06-27
  • mysql select语句的执行顺序
    这篇文章主要讲解了“mysql select语句的执行顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql select语句的执行顺序”吧...
    99+
    2022-10-18
  • MYSQL select语句的单表查询
    这篇文章运用了实例代码展示select语句的单表查询的用法,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。SELECT语句的基本语法如下:select selection_lis...
    99+
    2022-10-18
  • MySQL的select语句怎么使用
    这篇“MySQL的select语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL的select语...
    99+
    2023-06-27
  • 【MySQL】——Select查询语句(其二)
    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客...
    99+
    2023-10-23
    mysql 数据库
  • php的基本语句
    ## PHP初识 ###  为什么学php      通过live serve 起的假的服务不能做逻辑处理   所以为了熟悉前后端交互 业务流程   学习php ###  什么是php      PHP 是一种创建动态交互性站点的强有力的...
    99+
    2023-09-18
    php 开发语言 后端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作