MySQL(3):基本的 SELECT 语句

news2024/12/27 10:22:09

SQL 语言

SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 。
SQL 有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的 SQL 标准,我们今天使用的 SQL 语言依然遵循这些标准。

不同的数据库生产厂商都支持SQL语句,但都有特有内容。

SQL 分类

DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。SELECT是SQL语言的基础,最为重要。
DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别
主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、 SAVEPOINT 等。

因为查询语句使用的非常的频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)。还有单独将 COMMIT 、 ROLLBACK 取出来称为TCL (Transaction Control Language,事务控制语言)。

规则与规范

每条命令以 ;\g\G 结束;
关键字不能被缩写也不能分行;
关于标点符号:
必须保证所有的()、单引号、双引号是成对结束的;
必须使用英文状态下的半角输入方式;
字符串型和日期时间类型的数据可以使用单引号(' ')表示;
列的别名,尽量使用双引号(" "),而且不建议省略as;

大小写

MySQL 在 Windows 环境下是大小写不敏感的
MySQL 在 Linux 环境下是大小写敏感的
数据库名、表名、表的别名、变量名是严格区分大小写的
关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。

尽量采用统一的书写规范:
数据库名、表名、表别名、字段名、字段别名等都小写
SQL 关键字、函数名、绑定变量等都大写

注释

单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(–后面必须包含一个空格。)
多行注释:/* 注释文字 */

命名规则

数据库、表名不得超过30个字符,变量名限制为29个;
必须只能包含 A–Z, a–z, 0–9, _共63个字符;
数据库名、表名、字段名等对象名中间不要包含空格
同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名;
必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,在SQL语句中使用(着重号)引起来
保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。

数据导入指令

1.在命令行客户端登录mysql,使用source指令导入:

source 文件的全部路径名

mysql> source d:\mysqldb.sql

在这里插入图片描述
2.使用图形化界面的工具导入数据
SQLyog 中选择“工具” --“执行sql脚本”–选中xxx.sql即可。
在这里插入图片描述

基本的SELECT语句

SELECT

标识选择哪些列: SELECT
标识从哪个表中选择: FROM
选择全部列:

SELECT * 
FROM  departments;

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

选择特定的列:

SELECT department_id, location_id
FROM  departments;

SELECTselect的作用是相同的。

列的别名

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

SELECT employee_id AS emp_id,last_name AS lname,department_id AS "id"
FROM employees;

SELECT employee_id emp_id,last_name lname,department_id id
FROM employees;

在这里插入图片描述

去除重复行

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

SELECT DISTINCT department_id
FROM employees;

针对于:

SELECT DISTINCT department_id,salary
FROM employees;

DISTINCT 其实是对后面所有列名的组合进行去重,通常只需要写一列就可以了,两列没有实际意义。

空值参与运算

所有运算符或列值遇到null值,运算的结果都为null
null 不等于 0
在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长度是空。而且,在 MySQL 里面,空值是占用空间的。

非要参与运算,可以使用 IFNULL 函数。

着重号

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

# 错误的
mysql> SELECT * FROM ORDER; 

# 正确的
mysql> SELECT * FROM `ORDER`;

查询常数

SELECT 'FDS' AS corporation, last_name FROM employees;

在这里插入图片描述

显示表结构

使用DESCRIBEDESC 命令,表示表结构

DESCRIBE employees;DESC employees;

在这里插入图片描述

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

过滤数据

使用WHERE 子句,将不满足条件的行过滤掉
WHERE子句紧随 FROM子句

SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件
SELECT *
FROM employees
WHERE department_id = 90;

在这里插入图片描述

数据库学习视频:
【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7 款用于解锁iPhone密码的苹果解锁软件

无法访问您的 iPhone 一定是最烦人的情况之一。 即使您以前从未遇到过这种情况,做好准备总是一个好主意,而不是在它发生时感到无助。事实上,这种情况经常发生并且可能有很多实例,例如忘记密码或购买锁定的二手 iPhone。 牢记 Ap…

行业追踪,2023-10-30

自动复盘 2023-10-30 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

java毕业设计基于springboot+vue航空公司电子售票系统-机票预订系统

项目介绍 通篇文章的撰写基础是实际的应用需要,然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程,以远程教育系统的实际应用需要出发,架构系统来改善现远程教育系统工作流程繁琐等问题。不仅如此以操作者的角度来…

网络安全中常见的问题和隐患

网络安全是当今数字化世界中的一个重要问题,各种隐患和威胁不断涌现。其中,IP地址与网络安全之间有着密切的联系。本文将讨论网络安全中常见的问题和隐患,以及如何通过查询IP地址来解决一些与之相关的问题。 常见网络安全问题和隐患 1. 黑客…

测开(性能测试---LoadRunner)

目录 一、LoadRunner的安装 二、Loadrunner的基本概念 三、开发测试脚本——VUG 3.1 脚本录制 3.2 脚本加强 四、设计场景——Controller LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的…

B-5:网络安全事件响应

B-5:网络安全事件响应 任务环境说明: 服务器场景:Server2216(开放链接) 用户名:root密码:123456 1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交; 通过nmap扫描我们发现开启了22端口,…

Camtasia Studio2024中文版下载安装图文教程

Camtasia Studio2024是TechSmith旗下的一套专业屏幕录像软件,同时包含Camtasia 录像器、Camtasia Studio2024(编辑器)、Camtasia 菜单制作器、Camtasia 剧场、Camtasia 播放器和Screencast的内置功能。在这里我亲测安装了Camtasia2024版本&am…

砷化镓(GaAs)纳米线 砷化镓纳米线 GaAs纳米线 瑞禧

砷化镓(GaAs)纳米线 名称:砷化镓(GaAs)纳米线 直径:50-400 nm 长度:10-80μm 纳米线是一种新型的材料结构,具有较小的直径和高的长度比,因此在纳米电子学、光电器件等领域有着广泛的应用前景…

react路由懒加载lazy直接使用组件标签引发的问题?

文章 前言错误场景解决方案问题分析后言 前言 ✨他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 ✨ 这里是前端的一些bug 感兴趣的可以看看前端bug 错误场景 在react18t…

K8S删除资源后一直处于Terminating状态无法删除解决方法

原因 使用kubectl delete 删除某命名空间是一直处于Terminating状态无法删除,首先排查了该命名空间下是否还存在deployment pod等资源发现没有后,等了很久还是无法删除后发现是因为该名称空间的“finalizers”字段有值导致 Finalizer(终结器…

从单模态到多模态,自主AI离我们还有多远?

一、从AI的诞生和发展说起 人工智能的发展,从思想诞生上,可以追逐到十七世纪的帕斯卡和莱布尼茨,1666年,德国博学家戈特弗里德威廉莱布尼茨发表了一篇题为《论组合的艺术》的神秘论文。当时的莱布尼茨只有20岁,他概述了…

HarmonyOS开发:开源一个刷新加载组件

前言 系统Api中提供了下拉刷新组件Refresh,使用起来也是非常的好用,但是风格和日常的开发,有着巨大的出入,效果如下: 显然上面的效果是很难满足我们实际的需求的,奈何也没有提供的属性可以更改,…

Qt实现的自定义登录框连接MySQL(完整的实现过程)

一.开始创建项目 1.创建Qt窗口应用项目: 2.输入文件名、选择项目将要保存的地址 3.构造系统选择qmake 4.类名使用默认的就好,点击继续完成项目的创建 5.创建好的项目如下 二.创建一个资源管理文件 三.创建一个登录对话框窗口 1.选择一个ui界面类 2.选择Dialog without Butt…

【字符指针等_例题详解】

文章目录 前言例题一 :下面关于“指针”的描述不正确的是例题二:下面代码描述正确的是例题三:关于数组指针描述正确的是例题四:下面哪个是数组指针例题五: 下面哪个是函数指针例题六: 定义一个函数指针&…

python实现Excel自动化办公

准备工作 安装相关模块 pip install openpyxl lxml pillow 基本定义 工作簿:一个电子表文件为一个工作簿 活动表:用户当前查看的表活关闭Excel最后查看的表 sheet表 单元格 Excel数据读取操作 打开工作簿并创建一个对象: wb openpyxl.loa…

【2021ICPC沈阳】EFBJHL

不知道为什么感觉以前的场要比现在的简单一点,虽然这场VP虽然题数到了但是还是差点罚时.... 现在的有些场感觉连签到都要签半天,比如前几天的ICPC西安和CCPC桂林,看了下题都不简单 这场甚至银牌题都没什么思维,只需要算法的板子…

mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘

最近安装Co-DETR项目环境时遇到如下的问题 主要是因为最新版的yapf(0.40.2)中删除了verify的验证功能 将其降级为旧版即可: pip install yapf0.40.0

照片去文字水印怎么弄?这三个方法快学起来

照片去文字水印怎么弄?你有没有遇到过这样的烦恼呢?我经常在网上找一些好看的照片来做头像或者壁纸,但是总是遇到一些带水印或者不想要的文字的照片,影响了整体的美观度让人很头疼,每次重新找又得花费不少时间和精力&a…

真心话坦白局系统源码

它具有匿名信息的神秘感 但又会给你一点小提示 能让你有无限挖掘下去的好奇感 也能让你说出那些不敢说出口的话 敢来一场坦白局吗! 坦白局这个功能类似于悄悄话,只不过是匿名的悄悄话。 有时候我们有些话是开不了口的,坦白局给了我们一个…

每日汇评:黄金多头重回2000美元,接下来会发生什么?

受地缘政治因素影响,金价守住了上周五2000美元上方的强劲涨幅; 美元持稳,因为美国债券市场的行动是美联储本周的关键; 由于可能出现牛十字,黄金价格有望进一步上涨,牛旗仍在图表中延续; 继上周五…