【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 ...
随机推荐
- 绘图与可视化--pandas中的绘图函数
matplotlib API函数都位于matplotlib.pyplot模块中. 本节代码中引入的约定为:import matplotlib.pyplot as plt numpy库也会用到,约定:i ...
- echarts做折线图
先给大家看图 父组件 <el-container v-show="abscissa"> <lineEchart :C ...
- 关于error: failed to push some refs to如何解决
Smiling & Weeping ---- 在你的门前,我堆起一个雪人,代表笨拙的我,把你久等 常见的错误报错内容基本都是error: failed to push some refsto' ...
- Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的空值率?语法是怎么样的?
目录 Elasticsearch聚合查询说明 空值率查询DSL Elasticsearch聚合基础知识扩展 Elasticsearch聚合概念 Script 用法 Elasticsearch聚合查询语 ...
- 12-CSS浮动
01 介绍 02 浮动规则 03 案例练习 3.1 缝隙的解决方案 <!DOCTYPE html> <html lang="en"> <head> ...
- libevent之bufferevents
目录 Bufferevents:概念和基础知识 Bufferevents 和 evbuffers 回调和水印 延迟回调 缓冲区事件的选项标志 使用基于套接字的缓冲区事件 创建基于套接字的缓冲区事件 在 ...
- Linux 内核:RCU机制与使用
Linux 内核:RCU机制与使用 背景 学习Linux源码的时候,发现很多熟悉的数据结构多了__rcu后缀,因此了解了一下这些内容. 介绍 RCU(Read-Copy Update)是数据同步的一种 ...
- ACPI Table 与 Device Tree
背景 在分析Linux内核驱动的时候,有时候会看到一些acpi字样的接口. 之前一直没搞明白ACPI是什么,现在知道了. Reference : https://www.cnblogs.com/jun ...
- Oracle常用统计
测试, 这是测消息 1.按天 select to_char(t.STARTDATE+15/24, 'YYYY-MM-DD') as 天,sum(1) as 数量from HOLIDAY tgroup ...
- 什么是RDD
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集RDD,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模 ...