【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 ...
随机推荐
- testArticle
Test Article This is a test article for ArticleSync. Test Edit...... test Edit
- UML建模工具Astah Pro 8破解教程2022最新最详细版
(2022最新最详细版)UML建模工具Astah Pro 8破解教程 本文作者严正声明:拒绝盗版行为,打击盗版,痛恨吃白食的家伙,我一直都是坚定思想,有钱了一定要支持正版,所以此文档贡献,只为学习交流 ...
- react组件通信 父组件与子组件互相通信
父组件将自己的状态传递给子组件,子组件当做属性来接收,当父组件更改自己状态的时候,子组件接收到的属性就会发生改变 父组件利用ref对子组件做标记,通过调用子组件的方法以更改子组件的状态,也可以调用子组 ...
- CF题解合集
CF 比赛题解合集 目录 CF 比赛题解合集 1952 A. Ntarsis' Set B. Imbalanced Arrays C. Ina of the Mountain D. Miriany a ...
- .net执行oracle查询语句报错“指定的转换无效”解决方案
问题: .net执行oracle查询语句报错"指定的转换无效",在PL/SQL中正常: SELECT A.ID,SUM(TO_NUMBER(A.MODIFYTIME-A.UPLOA ...
- kafka集群
对于运维需要掌握的kafka基础操作,读写管理掌握后,下一步就是集群部署搭建了. 1. kafka天然支持集群 2. kafka将集群状态写入zookeeper. 集群部署 1. 确保zk启动 [de ...
- xshell和xftp下载免费版本方法
下载地址 https://www.xshell.com/zh/free-for-home-school/ 填写邮箱和用户名,会发送下载邮件到邮箱,然后根据邮箱中的下载地址来下载安装.
- Oracle常用统计
测试, 这是测消息 1.按天 select to_char(t.STARTDATE+15/24, 'YYYY-MM-DD') as 天,sum(1) as 数量from HOLIDAY tgroup ...
- Fake权限验证小例子
前言 关于本地测试如何进行Fake权限验证 正文 在我们使用swagger调试本地接口的时候,我们常常因为每次需要填写token而耽误工作,不可能每次调试的时候都去本地测试环境请求一个token进行验 ...
- 3568F-视频开发案例