【DataBase】MySQL 05 基础查询
MySQL数据库 05 基础查询
视频参考自:P18 - P27
https://www.bilibili.com/video/BV1xW411u7ax
配套的SQL脚本:https://shimo.im/docs/XxPk6wg8CqqrdhTv/read
基础查询介绍:
-- 基础查询
/*
语法:
SELECT 查询列表 FROM 表名; 查询列表可以是:表中的字段、常量值、表达式、函数。
查询的结果是一个虚拟的表格
*/ # 查询表的单个字段:员工表的姓名字段
SELECT last_name FROM employees; # 查询表的多个字段:员工的全名和邮箱
SELECT first_name,last_name,email FROM employees;
# 可以随意编写查询的字段顺序
SELECT first_name,email,last_name FROM employees; # 查询employees表的所有字段
# 如果手残总是打错字,可以直接双击字段或者表、库,
# SQLyog会直接在光标位置生成对应的字段名称
SELECT `employee_id`,`first_name`,`last_name`,`email`,`phone_number`,`job_id`,`salary`,`commission_pct`,`manager_id`,`department_id`,`hiredate` FROM employees; # 太长了一行看不见,可以先用鼠标框选SQL语句,按【F12】调整格式
SELECT
`employee_id`,
`first_name`,
`last_name`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM
employees; # 点着也费劲,直接上通配符 * 处理,* 表示所有的字段
SELECT * FROM `employees`; -- 查询的注意事项:
# SQLyog会自动切换库的位置
# 所以在执行查询语句之前,最好先执行 USE 语句选定要查询的库【好习惯】 # [`]不是单引号,是叫【着重号】,用于修饰字段名称,区分SQL的关键字,消除歧义 # 不要写完直接点执行,框选确定的SQL语句点执行
SELECT 与 常量、表达式、函数
-- 常量值的查询 # 数值型常量
SELECT 100;
# 字符型常量【MySQL 不区分字符和字符串】,要注意的是字符串或字符必须以''修饰
SELECT '阿伟输了'; -- 表达式的查询
SELECT 150 * 23;
SELECT 150 % 23; -- 函数的查询
SELECT version(); # MySQL版本查询
别名的用法 Alias
-- 别名设置 Alias
# 1、提高字段的可读性
# 2、如果字段过长可以使用别名来进行缩写
# 3、字段同名可采取别名来区分 # 第一种别名方式 使用AS关键字
SELECT VERSION() AS MySQL版本; SELECT `last_name` AS 姓,`first_name` AS 名 FROM `employees`; # 第二种别名方式 AS关键字省略掉
SELECT VERSION() MySQL版本; SELECT `last_name` 姓,`first_name` 名 FROM `employees`; # 特殊情况 out put 具有特殊含义 此SQL语句报错无法执行
SELECT `salary` AS OUT put FROM `employees`; # 解决方式: 加上引号[单双皆可]修饰为一个字段,防止SQL歧义
SELECT `salary` AS "out put" FROM `employees`;
去重的简单使用
-- 去除重复 DISTINCT
# 案例:查询员工表的所有部门编号
SELECT DISTINCT `department_id` FROM `employees`; # DISTINCT 关键字: 用来对查询的字段进行重复去除,放在字段的前面,类似形容词
MySQL 加号的正确用法:
-- +号的作用 # 拼接员工的姓 和 员工的名
SELECT `last_name` + `first_name` AS '员工姓名' FROM `employees`; # 查询结果都是0... # MySQL的+ 功能:只做运算符,不能像Java一样去拼接字符串
/*
SELECT 100 + 90; 两个操作数,都是数值,做加法运算
SELECT '123' + 90; 一个字符串,一个数值,MySQL会先把字符串转换数字,如果转换成功,继续加法运算
SELECT 'john' + 90; 像这样的转换失败,字符型数值转换为0 继续做加法运算
SELECT null + 10; 只要其中一个操作数为null,这个结果就是null
*/
CONCAT函数 拼接字符串的简单使用
-- 使用CONCAT();函数处理字符串拼接
SELECT CONCAT("我","爱 学","Java"); # 别名优化下字段
SELECT CONCAT("我","爱 学","Java") AS title; # 解决上面的案例问题
SELECT `last_name`,`first_name`,CONCAT(`last_name`,'.',`first_name`) AS '员工姓名' FROM `employees`;
案例练习:
# 下列语句是否执行成功? 可以√
SELECT `last_name`,`job_id`,`salary` AS sal
FROM `employees`; SELECT * FROM `employees`; # 找出SQL语句的错误 【引号修饰问题】
SELECT `employee_id`,`last_name`,`salary` * 12 AS ”annual salary“
FROM `employees`; # 显示表departments的结构,并查询所有数据
DESC `departments`;
SELECT * FROM `departments`; # 显示员工表的全部job_id 不可重复
SELECT DISTINCT `job_id` FROM`employees`; # 显示员工表的全部列,各个列之间逗号分割,列头显示out_put
SELECT CONCAT(
`employee_id` ,
', ',
`first_name`,
', ',
`last_name`,
', ',
`email`,
', ',
`phone_number`,
', ',
`job_id`,
', ',
`salary`,
', ',
IFNULL(`commission_pct`,0), # 设置该字段如果是null值,使用0替换
', ',
`manager_id`,
', ',
`department_id`,
', ',
`hiredate`
)
AS 'out put'
FROM `employees`;
快速检索的神SQL:
select * from `information_schema`.`TABLES` where LOWER(TABLE_NAME) = 'tm_labour_set_part'
用于查询某个表所在库的位置
【DataBase】MySQL 05 基础查询的更多相关文章
- mysql基础查询语法
一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count( ...
- sql 基础练习 计算7天各个时间点的总和 group by order mysql一次查询多个表
SQL 基础练习 -- 创建数据库 CREATE DATABASE school CHARACTER SET UTF8; -- 使用数据库 USE school; -- id: 学生的id -- na ...
- mysql基础查询
#进阶1:基础查询/*语法:select:查询列表 from 表名; 类似于:System.out.println(打印的东西); 特点:1.查询列表可以是:表中的字段.常量值.表达式.函数2.查询的 ...
- SEC5 - MySQL 查询语句--------------进阶1:基础查询
# 进阶1:基础查询 /* 语法: select 查询列表 from 表名: 特点: 1.查询列表可以是:表中的字段.常量值.表达式.表达式.函数 2.查询的结果是一个虚拟的表格 如何执行:执行谁,请 ...
- Mysql学习笔记(002)-基础查询
基础查询 # 进阶1:基础查询 /* 语法: select 查询列表 from 表名: 类似于:system.out.println(打印东西); 特点: 1.查询列表可以是:表中的字段,常量值,表达 ...
- mysql基础--查询
1.mysql查询的五种子句: where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count ...
- mysql中的基础查询 练习
#进阶1:基础查询 /* 语法: select 查询列表 from 表名; 类似于:System.out.println(打印东西); 特点: 1.查询列表可以是:表中的字段.常量值.表达式.函数 2 ...
- MySQL——基础查询与条件查询
基础查询 /* 语法: select 查询列表 from 表名; 类似于:System.out.println(打印东西); 1.查询列表可以是:表中的字段.常量值.表达式.函数 2.查询的结果是一个 ...
- Mysql数据库基础第二章:(十)联合查询
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- Mysql数据库基础第二章:(九)分页查询
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
随机推荐
- bash: _get_comp_words_by_ref: command not found 报错
没有安装补全的包 错误信息 bash: _get_comp_words_by_ref: command not found 表明你的 shell 中可能存在补全功能的问题. 通常,这种错误发生在你的系 ...
- 鸿蒙HarmonyOS实战-ArkTS语言基础类库(并发)
一.并发 并发是指在一个时间段内,多个事件.任务或操作同时进行或者交替进行的方式.在计算机科学中,特指多个任务或程序同时执行的能力.并发可以提升系统的吞吐量.响应速度和资源利用率,并能更好地处理多用户 ...
- 关于前三次pta的总结
前言 这三次pta难度在不断上升的同时,要求我们线上慕课+自主学习来了解更多的java中的各种方法,如:正则表达式 List Map等.与此同时要求我们展开尝试并熟练类的构造,类的引用,链表的基本运用 ...
- P6259
problem 考虑使用 dfs 模拟. 由于一个程序可能在不进入无限循环的情况下运行很多步,这将会非常缓慢.因此,接下来要加速模拟,可以用记忆化搜索. 在网格中,机器人的可能状态(位置和朝向)只有 ...
- 私密信息管理工具 Vault 快速入门
什么是 Vault Vault 是一个基于身份的秘密和加密管理系统.秘密是您想要严格控制访问的任何内容,例如 API 加密密钥.密码和证书. Vault 提供由身份验证和授权方法控制的加密服务.使用 ...
- 加入域 " " 时出现了以下错误
加入域 " " 时出现了以下错误: 因为文件共享不安全,所以你不能连接到文件共享.此共享需要过时的 SMB1 协议,而此协议是不安全的,可能会使你的系统遭受攻击. 你的系统需要 S ...
- 别想宰我,怎么查看云厂商是否超卖?详解 cpu steal time
据说有些云厂商会超卖,宿主有 96 个核心,结果卖出去 100 多个 vCPU,如果这些虚机负载都不高,大家相安无事,如果这些虚机同时运行一些高负载的任务,相互之间就会抢占 CPU,对应用程序有较大影 ...
- 嵌入式 Arduino 期末复习
1 基础知识 1.1 概述 对嵌入式的定义 国内定义:以应用为中心,以计算机技术为基础,软件硬件可裁剪,且适应系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统. IEEE定义:用于控制,监 ...
- 蚁群算法及 TSP 问题上的应用
群智能(Swarm intelligence) 自然界动物群,称之为群. 群的特征: 相互作用的相邻个体的集合 个体的行为简单,既有竞争又有协作 智能化的集体行为(1+1>2): 个体间不仅能够 ...
- 张高兴的 MicroPython 入门指南:(一)环境配置、Blink、部署
目录 什么是 MicroPython 环境配置 硬件部分 软件部分 Hello World! Blink Pico 的引脚 常见电子元件 面包板 跳线 开关 发光二极管 电阻 使你的 Pico 闪烁 ...