MySQL超入门(1)__迅速上手掌握MySQL

news2024/11/24 6:35:05
# 1.选择语句
# 注意事项:MySQL不区分大小写,SELECT * 代表选择全部

// 测试一

USE sql_store; -- 使用 sql_store库
SELECT * FROM customers -- 查询customers表
WHERE customer_id = 1 OR customer_id = 4 -- 条件判断为customer_id = 1或customer_id = 4
ORDER BY first_name -- 升序排序

// 结果一

 // 测试二

SELECT
last_name,
first_name,
points,
points + 10 AS discount_factor,  -- 将points + 10后的值用discount_factor列名表示
(points + 10) * 100 AS 'discount factor'  -- ''中可加空格
FROM customers
ORDER BY points  -- 根据points进行升序排序

// 结果二

 // 小练习,预测结果

SELECT 
name,
unit_price,
unit_price * 1.1 AS new_price
FROM products
ORDER BY new_price

# 小扩展:SELECT DISTINCT ……(去重语句),可去掉重复的查询结果

# 2.WHERE子句

# 注意事项:条件判定<>、!=表不等于

// 测试一

SELECT *
FROM customers  -- 查询customers表
WHERE birth_date > '1991-01-01'  -- 查询条件:birth_date大于1991-01-01

// 结果一

// 测试二

SELECT *
FROM orders
WHERE order_date >= '2019_01_01'

 // 结果二

 # 3. AND(和,两者都为真 —> 真),OR(或,两者有一个为真 —> 真),NOT 运算符(取反,真假互换)

// 测试一

SELECT * FROM customers
WHERE NOT(birth_date > '1990-01-01' OR points > 1000) -- 查询条件:birth_date <= '1990-01-01' 或 points <= 1000

// 结果一

 // 小练习:查询order_items表,获取order_id等于6,且unit_price 乘以 quantity 大于 30的订单

结果如下:

# 4. IN运算符

// 测试一

SELECT * FROM customers
WHERE state = 'VA' OR state = 'GA' OR state = 'FL'

// 测试二

SELECT * FROM customers
-- WHERE state = 'VA' OR state = 'GA' OR state = 'FL'
WHERE state IN ('VA', 'GA', 'FL')

 // 两者输出结果相同

-- 小练习:查询products表中的quantity_in_stock的价格为49,38,72的商品 

 SELECT * 
 FROM products
 -- WHERE quantity_in_stock = 49 OR quantity_in_stock = 38 OR quantity_in_stock = 72
 WHERE quantity_in_stock IN (49, 38, 72)

//  由于quantity_in_stock中没有72的选项,所以查询不到72

 

# 5. BETWEEN运算符

 // 测试一

SELECT * 
FROM customers
WHERE points BETWEEN 800 AND 2800
-- 等价于 WHERE points >= 800 AND points <= 2800

 // 结果一

-- 小练习:在customers表中查询birth_date在1990-01-01和2000-01-01之间的顾客 

SELECT * 
FROM customers
WHERE birth_date BETWEEN '1990-01-01' AND '2000-01-01'

-- 注意:WHERE birth_date BETWEEN 1990-01-01 AND 2000-01-01 

-- 未用' ',却没有报错,返回结果为空 

# 6. LIKE运算符(用的不多,有更高级的选择 REGEXP)

 // 测试一

SELECT * 
FROM customers
WHERE last_name LIKE '%c%' -- %代表0或多个字符,该条语句表示查询last_name中包含c的所有选项
-- WHERE last_name LIKE '%c%' -- %代表0或多个字符,该条语句表示查询last_name中包含c的所有选项
-- WHERE last_name LIKE '%y' -- 以y结尾的所有选项
-- WHERE last_name LIKE 'm%' -- 以m开头的所有选项
-- WHERE last_name LIKE 'b______y' -- _表示任意1个字符

// 结果一

 -- 小练习:查询customers中phone中包含9的号码,且地址为中包含trail或field的顾客

SELECT * 
FROM customers
WHERE phone LIKE '%9%' AND (address LIKE '%trail%' OR address LIKE '%field%')

 

 # 7. REFGEXP运算符(正则表达式)

//  测试一

SELECT * 
FROM customers
WHERE last_name REGEXP 'rush'
-- 等价于WHERE last_name LIKE '%rush%'

// 结果一

// 测试二

SELECT * 
FROM customers
WHERE last_name REGEXP 'caff|field$|^dow|[abc]g|g[a-h]'
-- 包含caff字符的所有last_name
-- |代表 或
-- field$代表 以field结尾
-- ^dow代表 以dow开头
-- [abc]代表 在a,b,c中的任意一个字符
-- [a-h]代表 从a到h的任意一个字符

// 注意事项:空格在字符串中小心使用

 // 结果二

-- 小练习:获取customers中
-- first_name是ELKA或AMBUR的客人
-- last_name以EY或ON结尾的客人
-- last_name以MY开头或含有SE的客人
-- last_name中包含B后面连接着R或U的客人

SELECT *
FROM customers
WHERE first_name REGEXP 'elka|ambur'
OR last_name REGEXP 'ey$|on$'
OR last_name REGEXP '^my|^se'
OR last_name REGEXP 'b[ru]'

# 8. IS NULL运算符

// 测试一

SELECT *
FROM customers
WHERE phone IS NULL -- 查询phone中的null(空号)
-- WHERE phone IS NOT NULL -- 查询phone中的非null(非空号)

// 结果一

-- 小练习:获取orders中未发货的货物(参数二选一:shipped_date OR shipper_id)

SELECT *
FROM orders
WHERE shipped_date IS NULL

 

# 9. ORDER BY子句

 //  测试一

SELECT *
FROM customers
ORDER BY first_name  -- 默认按first_name首字符进行升序排序(自顶而下,由小到大)
-- ORDER BY first_name DESC -- 按first_name首字符进行降序排序(自顶而下,由大到小)

// 结果一 

-- MySQL中,可以使用任何列进行排序,即使不是SELECT查询的列。(与其他关系型数据库的区别)
-- 例:

SELECT first_name, last_name
FROM customers
ORDER BY birth_date DESC

 -- MySQL中可以使用如下语句进行排列(但应尽量避免这种使用)

SELECT *,first_name, last_name
FROM customers
ORDER BY 2, 3  
-- 2,3 分别对应着first_name, last_name
-- 使用这种排序方法,改变选择的参数,可能会导致查询结果出现变化

 -- 练习:查询order_items表中的quantity和unit_price相乘的结果,条件为order_id = 2,按相乘结果倒序排序

SELECT *, quantity * unit_price AS order_items -- 为quantity * unit_price设置别名,便于管理该列数据
FROM order_items
WHERE order_id = 2
ORDER BY order_items DESC

# 10.LIMIT语句(该语句放在最后)
// 测试一
SELECT *
FROM customers
LIMIT 3 -- 此行表示只显示前三行数据

 // 结果一

// 测试一 

SELECT *
FROM customers
LIMIT 5,3 -- 此行表示只显示第五行后的前三行数据

 // 结果二

-- 练习:获取customers中points最高的前三名

SELECT * 
FROM customers
ORDER BY points DESC
LIMIT 3 

# 11.小结

 分析下列代码各行的作用,并运行验证结果

USE sql_store;
SELECT *, 
address, 
city, 
points * 10 AS 'all points'
FROM customers
WHERE first_name REGEXP 'y$|^b|[a-n]c' 
OR last_name LIKE '_y%' 
OR state IN ('VA') 
OR ((points BETWEEN 800 AND 3000) AND phone IS NOT NULL)
ORDER BY points DESC
LIMIT 3,5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 非父子通信 拓展 -- provide inject 跨层级共享数据

vue 非父子通信 拓展 – provide inject provide inject 作用&#xff1a; 跨层级共享数据 例子是啥样的&#xff1f; 创建 工程&#xff1a; H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门…

Linux(CentOS/Ubuntu)——安装nginx

如果确定你的系统是基于CentOS或RHEL&#xff0c;可以使用以下命令&#xff1a; ①、安装库文件 #安装gcc yum install gcc-c#安装PCRE pcre-devel yum install -y pcre pcre-devel#安装zlib yum install -y zlib zlib-devel#安装Open SSL yum install -y openssl openssl-de…

CTF_BUUCTF_Reverse解题_02reverse1

题目地址&#xff1a;BUUCTF在线评测 下载文件解压后打开exe&#xff1a; 输入任何东西之后都是闪退的 直接PE 64位C没加壳 再来IDA 64 找到地方F5直接看&#xff1a; strncmp比较 Str1和 Str2前v2的值&#xff0c;如果Str1Str2&#xff0c;返回0&#xff1b;大于返回正数&a…

ITSM有哪些好用的软件?

ITSM知名软件有很多&#xff0c;但好用且性价比高的仅有一些&#xff0c;比如&#xff1a; 1.Atlassian Jira 最初&#xff0c;开发人员创建Jira来跟踪软件创建&#xff0c;但随后Atlassian的管理层注意到一些团队正在调整Jira来处理服务台请求 2.Spiceworks Spiceworks是一款免…

Linux系统-Ubuntu的下载和安装

第一章 Linux系统-Ubuntu的下载和安装 1.下载Ubuntu ​ 进入https://cn.ubuntu.com/download中文官网下载iso映像文件&#xff1a; 2.安装Ubuntu 1.打开虚拟机&#xff0c;点击创建新的虚拟机&#xff1a; 2.选择“典型”&#xff0c;然后点击“下一步”&#xff1a; 3.选择…

150347-59-4;可穿透细胞膜的荧光染料CFDA, SE

产品简介&#xff1a;CFSE (5,6-carboxyfluorescein diacetate succinimidy ester)即羟基荧光素二醋酸盐琥珀酰亚胺脂&#xff0c;是一种可穿透细胞膜的荧光染料&#xff0c;具有与细胞特异性结合的琥珀酰亚胺脂基团和具有非酶促水解作用的羟基荧光素二醋酸盐基团&#xff0c;这…

【剑指Offer】55.二叉树的深度

题目 输入一棵二叉树&#xff0c;求该树的深度。从根结点到叶结点依次经过的结点&#xff08;含根、叶结点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度&#xff0c;根节点的深度视为 1 。 数据范围&#xff1a;节点的数量满足 0≤n≤100 &#xff0c;…

jenkins联动显示或隐藏参数

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时,sharding_info和copy_info不显示 shard…

易点易动固定资产管理系统:精准管理与科学采购,降本增效的利器

在现代企业管理中&#xff0c;固定资产的精准管理和科学采购已成为提升企业效率和降低成本的重要环节。为了满足企业管理的需求&#xff0c;我们自豪地介绍易点易动固定资产管理系统&#xff0c;这是一款功能强大的软件解决方案&#xff0c;旨在帮助企业实现固定资产的精准管理…

AI数字人导览,为各行各业带来全新VR云上服务体验

纵观历届大型运动会的开幕式&#xff0c;开头点火的环节总是备受期待的&#xff0c;那么你见过亚运会的点火环节了吗&#xff1f;一个巨大的数字人手持火炬&#xff0c;穿越了钱塘江的江面&#xff0c;一路奔向主会场&#xff0c;同现场火炬手一同点燃主火炬&#xff0c;这一刻…

详解SPI

引言 串行外设接口&#xff08;Serial Peripheral Interface&#xff0c;简称SPI&#xff09;是一种常见且广泛应用于电子系统中的通信协议。作为一种高效可靠的串行通信技术&#xff0c;SPI总线在电气工程和计算机系统领域扮演着至关重要的角色。它不仅在微控制器和外设之间实…

【EI会议征稿】第三届电子信息工程与计算机通信国际学术会议(EIECC 2023)

第三届电子信息工程与计算机通信国际学术会议&#xff08;EIECC 2023&#xff09; 2023 3rd International Conference on Electronic Information Engineering and Computer Communication 第三届电子信息工程与计算机通信国际学术会议&#xff08;EIECC 2023&#xff09;将…

Hangfire IIS持续运行配置

官方指导文档&#xff1a; https://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html 附录&#xff1a; 应用程序池 配置 &#xff1a; 应用程序池 高级设置&#xff1a; 网站高级设置 配置编辑器

oracle TNS Listener 远程投毒漏洞修复

有个客户在等保测评过程&#xff0c;测评公司扫出一个关于oracle的漏洞如下&#xff1a; 客户是RAC环境11.2.0.4&#xff0c;在生产修复漏洞前我做了如下测试验证&#xff1a; 测试环境准备&#xff1a; RAC一套11.2.0.4 实例名dbserver [oraclehisdb1 ~]$ cat /etc/hosts …

【深度分析】智慧燃气及其发展方向

关键词&#xff1a;智慧燃气、智能管网、智慧燃气系统、智能燃气、智慧燃气建设、智慧燃气平台 随着最近几年燃气产业的不断扩大和管理理念的持续更新&#xff0c;如何能够提升管理水平和管理效率&#xff0c;就成为燃气企业需要重点解决的问题。智慧燃气的提出&#xff0c;使…

【JVM】类加载

类加载 一. 加载 Loading二. 连接 Linking1. 验证 Verification2. 准备 Preparation3. 解析 Resolution 三. 初始化 Initialization 类加载是运行时环境的一个重要核心功能。 类加载的主要功能&#xff1a;把 .class 文件加载到内存中构建成为类对象。 什么时候会进行类加载呢…

9月第4周榜单丨哔哩哔哩飞瓜数据B站UP主排行榜发布!

飞瓜轻数发布2023年9月18日-9月24日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能…

docker openjdk:8-jdk-alpine 修改时区、添加字体

新建Dockerfile文件&#xff0c;制作新镜像 FROM openjdk:8-jdk-alpine 1、解决字体问题 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 2、解决时差问题 # 解决时差8小时问题ENV TZAsia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /et…

Mybatisplus条件构造器

一、Wrapper介绍 Wrapper &#xff1a; 条件构造抽象类&#xff0c;最顶端父类 AbstractWrapper &#xff1a; 用于查询条件封装&#xff0c;生成 sql 的 where 条件 QueryWrapper &#xff1a; 查询条件封装UpdateWrapper &#xff1a; Update 条件封装AbstractLambdaWrapper…

推动教育行业数字化转型,开利网络为AI熊教育提供落地服务

随着新兴技术的飞速发展&#xff0c;新产品、新服务和新商业模式正不断涌现&#xff0c;推动市场格局逐渐改变。对于传统企业来说&#xff0c;企业发展不仅面临行业内部的竞争&#xff0c;还面临跨界竞争者和颠覆性竞争者的挑战&#xff0c;充满着不确定性。开利网络服务客户AI…