前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL基础查询语句

MYSQL基础查询语句

原创
作者头像
一个风轻云淡
发布2024-05-10 09:00:49
1660
发布2024-05-10 09:00:49

SQL 语言的规则与规范

  • SQL 可以写在一行或多行。为了提高可读性,各子句分行写,必要时使用缩进,每条命令以 ;\g\G 结束。
  • 关键字不能被缩写也不能分行。
  • 标点符号必须保证所有的 ()、单引号、双引号是成对结束的,必须使用英文状态下的半角输入方式。
  • 字符串型和日期时间类型的数据可以使用单引号(' ')表示。列的别名建议使用双引号(" "),而且不建议省略 AS

SELECT 语句基础

选择全部列

代码语言:javascript
复制
SELECT *
FROM departments; -- 表名

选择特定的列

代码语言:javascript
复制
SELECT department_id, location_id -- 列名,属性
FROM departments; -- 表名

列的别名

代码语言:javascript
复制
SELECT last_name AS "Name", salary * 12 AS "Annual Salary"
FROM employees;

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

你可能会问为什么我们还要对常数进行查询呢?SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。比如说,我们想对 employees 数据表中的员工姓名进行查询,同时增加一列字段corporation,这个字段固定值为“腾讯云”,

去除重复行

默认情况下,查询会返回全部行,包括重复行。使用 DISTINCT 关键字去除重复行。

代码语言:javascript
复制
SELECT DISTINCT department_id
FROM employees;

注意事项:

  1. DISTINCT 需要放到所有列名的前面。
  2. DISTINCT 对后面所有列名的组合进行去重。

空值参与运算

所有运算符或列值遇到 NULL 值,运算的结果都为 NULL

代码语言:javascript
复制
SELECT NULL + 1, NULL - 1, NULL * 1, NULL > 1, NULL < 1, NULL = 1
FROM DUAL;

在 MySQL 中,空值不等于空字符串。空字符串的长度是 0,而空值的长度是空。在 MySQL 中,空值是占用空间的。

表结构查询

使用 DESCRIBEDESC 命令表示表结构。

代码语言:javascript
复制
DESCRIBE employees; -- 表名

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

  • Field:字段名称。
  • Type:字段类型。
  • Null:是否可以存储 NULL 值。
  • Key:编制索引情况,PRI 表示主键,UNI 表示唯一索引,MUL 表示允许多次出现。
  • Default:默认值。
  • Extra:附加信息,如 AUTO_INCREMENT

条件查询

使用 WHERE 子句过滤不满足条件的行。

代码语言:javascript
复制
SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL 语言的规则与规范
  • SELECT 语句基础
  • 去除重复行
  • 空值参与运算
  • 表结构查询
  • 条件查询
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档