【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 ...
随机推荐
- (八十七)c#Winform自定义控件-朝上的瓶子
官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...
- vuex做购物车功能
先创建一个cart组件 <template> <div> <ListItem></ListItem> </div> </templat ...
- LeetCode 297. Serialize and Deserialize Binary Tree 二叉树的序列化与反序列化(C++/Java)
题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...
- Prometheus 聚合查询的两个方案
问题背景 多个 Prometheus 集群或者多个 VictoriaMetrics 集群,在 Grafana 和夜莺里通常需要创建多个不同的数据源,这也就意味着,数据没法聚合查询,比如统一做一下 su ...
- 升级babel7后,直接引用element-ui中没有暴露出来的组件image-viewer.vue导致的打包错误
问题 & 解决方案 升级babel7后,原先代码中像这样直接引用element-ui组件的地方,出现了报错 Module parse failed: Unexpected token (1:0 ...
- npm 发布自己的组件库
npm 发布组件库步骤 第一步:注册 npm 账号 第二步:编写自己的组件库 第三部:编写 package.json 可以通过命令生成 npm init { "name": &qu ...
- windows rabbitmq安装
windows rabbitmq安装1.环境变量,关键是rabbitmq_server需要与erlang版本对应,否则无法使用. rabbitmq下载页https://github.com/rabbi ...
- ansible v2.9.9离线安装脚本
链接:https://pan.baidu.com/s/18uxyWWyJ39i1mJJ1hb8zww?pwd=QWSC 提取码:QWSC
- 在Linux驱动中使用proc子系统
在Linux驱动中使用proc子系统 背景 proc文件系统是个简单有用的东东:驱动创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互. 本文适用于3.10以后的内核,v3.10以前 ...
- 基于Mock.js,使用C#生成模拟数据
获取某前端框架, 使用 Mock.js 生成模拟数据, 想要对api进行改造,并且保留原始数据,需要使用C# 重写后端api 的数据 模拟的内容: Random.guid() uuid: '@uuid ...