当前位置: 首页 > news >正文

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

# 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 = 72WHERE 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

相关文章:

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

# 1.选择语句 # 注意事项&#xff1a;MySQL不区分大小写&#xff0c;SELECT * 代表选择全部 // 测试一 USE sql_store; -- 使用 sql_store库 SELECT * FROM customers -- 查询customers表 WHERE customer_id 1 OR customer_id 4 -- 条件判断为customer_id 1或customer_id …...

四、浏览器渲染过程,DOM,CSSDOM,渲染,布局,绘制详细介绍

知识点&#xff1a; 1、为什么不能先执行 js文件&#xff1f;&#xff1f; 我们不能先执行JS文件&#xff0c;必须等到CSSOM构建完成了才能执行JS文件&#xff0c;因为前面已经说过渲染树是需要DOM和CSSOM构建完成了以后才能构建&#xff0c;而且JS是可以操控CSS样式的&#…...

2021-06-10 51单片机设计一个蜂鸣器报警电路每秒

缘由求助一下谢谢啦51单片机_嵌入式-CSDN问答设计一个蜂鸣器报警电路&#xff0c;按下K1&#xff0c;蜂鸣器响一声&#xff0c;按下K2&#xff0c;蜂鸣器响三声&#xff0c;按下K3,蜂鸣器长鸣。要求响声和间隔的时间均为1秒&#xff0c;长鸣不限时&#xff0c;但是此时应设置一…...

D‘Agostino-Pearson正态检验|偏度skewness和峰度kurtosis

DAgostino-Pearson检验&#xff08;也称为DAgostino和Pearson正态性检验&#xff09;是一种用于检验数据是否符合正态分布的统计检验方法。它基于数据的样本统计量&#xff0c;主要包括偏度&#xff08;skewness&#xff09;和峰度&#xff08;kurtosis&#xff09;&#xff0c…...

基于树莓派CM4制作img系统镜像批量制作TF卡

文章目录 前言1. 环境与工具2. 制作镜像3. 烧录镜像4. 总结 前言 树莓派烧录完系统做定制化配置比较费时间。在面对大批量的树莓派要配置&#xff0c;那时间成本是非常巨大的。第一次配置完可以说是摸着石头过河&#xff0c;但是会弄了以后再配置&#xff0c;都是一些重复性操…...

【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器

State装饰的变量&#xff0c;或称为状态变量&#xff0c;一旦变量拥有了状态属性&#xff0c;就和自定义组件的渲染绑定起来。当状态改变时&#xff0c;UI会发生对应的渲染改变。 在状态变量相关装饰器中&#xff0c;State是最基础的&#xff0c;使变量拥有状态属性的装饰器&am…...

【Java 进阶篇】MySQL多表关系详解

MySQL是一种常用的关系型数据库管理系统&#xff0c;它允许我们创建多个表格&#xff0c;并通过各种方式将这些表格联系在一起。在实际的数据库设计和应用中&#xff0c;多表关系是非常常见的&#xff0c;它能够更好地组织和管理数据&#xff0c;实现数据的复杂查询和分析。本文…...

【开发篇】十、Spring缓存:手机验证码的生成与校验

文章目录 1、缓存2、用HashMap模拟自定义缓存3、SpringBoot提供缓存的使用4、手机验证码案例完善 1、缓存 缓存是一种介于数据永久存储介质与数据应用之间的数据临时存储介质使用缓存可以有效的减少低速数据读取过程的次数&#xff08;例如磁盘IO&#xff09;&#xff0c;提高…...

【Aurora 8B/10B IP(1)--初步了解】

Aurora 8B/10B IP(1)–初步了解 1 Aurora 8b/10b IP的基本状态: •通用数据通道吞吐量范围从480 Mb/s到84.48 Gb/s •支持多达16个连续粘合7GTX/GTH系列、UltraScale™ GTH或UltraScale+™ GTH收发器和4绑定GTP收发器 •Aurora 8B/10B协议规范v2.3顺从的 •资源成本低(请参…...

C++ vector容器的介绍与使用

一、vector简介 std::vector 是 C 标准模板库 (STL) 中的一个动态数组容器。允许存储元素&#xff08;可以使用任何数据类型作为其元素类型&#xff09;集合&#xff0c;并能够动态调整其大小。 特点&#xff1a; 动态大小&#xff1a;与常规数组不同&#xff0c;vector 可以…...

openstack的组成

OpenStack 是一个开源的云计算平台&#xff0c;由一系列组件构成&#xff0c;各组件之间相互协作&#xff0c;提供了完整的基础设施即服务&#xff08;IaaS&#xff09;解决方案。下面详细解释了 OpenStack 的主要组件及其相互关系&#xff1a; Nova&#xff08;计算服务&…...

[React] React高阶组件(HOC)

文章目录 1.Hoc介绍2.几种包装强化组件的方式2.1 mixin模式2.2 extends继承模式2.3 HOC模式2.4 自定义hooks模式 3.高阶组件产生初衷4.高阶组件使用和编写结构4.1 装饰器模式和函数包裹模式4.2 嵌套HOC 5.两种不同的高阶组件5.1 正向的属性代理5.2 反向的继承 6.如何编写高阶组…...

【逐步剖C++】-第二章-C++类和对象(中)

前言&#xff1a;本章继【逐步剖C】-第二章-C类和对象&#xff08;上&#xff09;介绍有关类和对象更深层次的知识点&#xff0c;这里是文章导图&#xff1a; 本文较长&#xff0c;内容较多&#xff0c;大家可以根据需求跳转到自己感兴趣的部分&#xff0c;希望能对读者有一些帮…...

PL/SQL动态SQL

目录 1. 动态 sql 2. 带参数的动态 sql -- 不使用 USING 传参 1. 动态 sql -- 在 PL/SQL 程序开发中,可以使用 DML 语句,但是很多语句(如 DDL),不能直接在 PL/SQL中执行,这些语句可以使用动态 sql 来实现. 语法格式: EXECUTE IMMEDIATE --动态语句的字符串 [into 变量…...

Python绘图系统24:添加辅助坐标轴

文章目录 辅助坐标增减坐标轴时间轴**代码优化源代码 Python绘图系统&#xff1a; 前置源码&#xff1a; Python打造动态绘图系统&#x1f4c8;一 三维绘图系统 &#x1f4c8;二 多图绘制系统&#x1f4c8;三 坐 标 轴 定 制&#x1f4c8;四 定制绘图风格 &#x1f4c8;五 数据…...

Java自学网站--十几个网站的分析与评测

原文网址&#xff1a;Java自学网站--十几个网站的分析与评测_IT利刃出鞘的博客-CSDN博客 简介 很多想学Java的人不知道怎样选教程&#xff0c;本文对Java自学网站进行评测。 本文不带主观倾向&#xff0c;只客观分析各个网站的区别。 第1类&#xff1a;大型培训机构(黑马等…...

java接口怎么写

Java接口是一种定义规范的抽象类型&#xff0c;可以包含常量和方法的声明。接口在Java编程中具有重要的作用&#xff0c;可以实现代码的重用和灵活性。本文将详细介绍Java接口的编写方式和使用方法。 一、什么是Java接口 在Java中&#xff0c;接口&#xff08;Interface&…...

第8章 Spring(二)

8.11 Spring 中哪些情况下,不能解决循环依赖问题 难度:★★ 重点:★★ 白话解析 有一下几种情况,循环依赖是不能解决的: 1、原型模式下的循环依赖没办法解决; 假设Girl中依赖了Boy,Boy中依赖了Girl;在实例化Girl的时候要注入Boy,此时没有Boy,因为是原型模式,每次都…...

从0开始python学习-24.selenium 浏览器常见的操作

1. 浏览器的最大化/最小化&#xff1a;maximize_window () / minimize_window() 2. 设置浏览器的宽高&#xff1a;set_window_size() 3. 设置浏览器的位置&#xff1a;set_window_position(0,0) —》左上角为原点 4. 刷新&#xff1a;refresh() 5. 前进&#xff1a;forward() 6…...

Canal实现数据同步

1、Canal实现数据同步 canal可以用来监控数据库数据的变化&#xff0c;从而获得新增数据&#xff0c;或者修改的数据。 1.1 Canal工作原理 原理相对比较简单&#xff1a; 1、canal模拟mysql slave的交互协议&#xff0c;伪装自己为mysql slave&#xff0c;向mysql master发送…...

数据库学习笔记——DDL

数据库学习笔记——DDL 建立EMPLOYEE数据库&#xff1a; CREATE TABLE employee(employee_ID int not null,employee_name varchar(20) not null,street varchar(20) not null,city varchar(20) not null,PRIMARY KEY(employee_ID) );CREATE TABLE company(company_name varc…...

MATLAB算法实战应用案例精讲-【人工智能】边缘计算(附python代码实现)

目录 前言 几个高频面试题目 边缘计算和云计算的关系 云计算(cloud computing) 边缘计算...

精彩回顾 | 迪捷软件亮相2023世界智能网联汽车大会

2023年9月24日&#xff0c;2023世界智能网联汽车大会&#xff08;以下简称大会&#xff09;在北京市圆满落幕。迪捷软件北京参展之行圆满收官。 本次大会由工业和信息化部、公安部、交通运输部、中国科学技术协会、北京市人民政府联合主办&#xff0c;是我国首个经国务院批准的…...

【ShaderLab PBR 嗜血边缘角色_美式朋克风格_“Niohoggr“_角色渲染(第一篇)】

嗜血边缘角色Cyberpunk style Unity 渲染 《嗜血边缘》截取其中的片段如下:资源分析其中Guitar贴图4张模型:人物细节图:人物模型 Inspector面板这里做一个区域区分:Body贴图1_BC贴图1_BC属性:Body贴图2_NBody贴图3_CMBody贴图4_SRMBody贴图4_RGBReflection Probe第一版Sha…...

python经典百题之围圈报数

题目:有n个人围成一圈&#xff0c;顺序排号。从第一个人开始报数&#xff08;从1到3报数&#xff09;&#xff0c;凡报到3的人退出圈子&#xff0c;问最后留下的是原来第几号的那位。 程序分析 思路1&#xff1a;模拟游戏过程 使用一个循环队列模拟游戏过程&#xff0c;每次循…...

Google Earth Engine(GEE)案例——如何去除和过滤Landsat和sentinel等系列影像集合中的空影像(三种方法)

简介 本文的主要解决的问题是如何去除和过滤Landsat和sentinel等系列影像集合中的空影像?这个主要源于一下的问题: “从图像集中删除空图像”是什么意思?您的脚本将图像集合过滤到没有图像的日期,这会产生包含 0 个图像的图像集合:https: https://code.earthengine.goog…...

Leetcode 69.x的平方根

给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1&#xff1…...

Node18.x基础使用总结(二)

Node18.x基础使用总结 1、Node.js模块化1.1、模块暴露数据1.2、引入模块 2、包管理工具2.1、npm2.2、npm的安装2.3、npm基本使用2.4、搜索包2.5、下载安装包2.6、生产环境与开发环境2.7、生产依赖与开发依赖2.8、全局安装2.9、修改windows执行策略2.10、安装包依赖2.11、安装指…...

LCD 的RGB接口(SYNC Mode/ SYNC-DE Mode/ DE Mode)

1、 SYNC Mode Timing Diagram 2、 SYNC-DE Mode Timing Diagram 3、 DE Mode Timing Diagram RGB接口&#xff08;SYNC Mode/ SYNC-DE Mode/ DE Mode&#xff09;-CSDN博客...

flink生成水位线记录方式--周期性水位线生成器

背景 在flink基于事件的时间处理中&#xff0c;水位线记录的生成是一个很重要的环节&#xff0c;本文就来记录下几种水位线记录的生成方式的其中一种&#xff1a;周期性水位线生成器 周期性水位线生成器 1.1 BoundedOutOfOrdernessTimeStampExtractor 他会接收一个表示最大延…...

优秀网页界面设计/西安分类信息seo公司

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文章来自腾讯云 作者&#xff1a;Python知识大全 想要学习Python&#xff1f;有问题得不到第一时间解决&#xff1f;来看看这里“1039649593”满足你的…...

做游戏还是做网站好/哪里有网页设计公司

一、认识CyclicBarrier 对于CyclicBarrier大多数人感到陌生&#xff0c;其实CyclicBarrier是一种多线程并发控制使用工具&#xff0c;和CountDownLatch非常类似&#xff0c;实现线程之间的计数等待&#xff0c;也就是说一个线程或者多个线程等待其他线程完成任务&#xff0c;不…...

推荐广州微信网站建设/页面设计漂亮的网站

1.选择唯一性索引 唯一性索引的值是唯一的&#xff0c;可以更快速的通过该索引来确定某条记录。例如&#xff0c;学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话&#xff0c;可能存在同名现象&#xff0c;从而降低查…...

品牌建设网站公司/文案写作软件app

[ERR] Node 192.168.1.77:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 解决方法&#xff1a; 1)、将需要新增的节点下aof、rdb、nodes.conf等本地备份文件删除&#xff1b; 2)、同时将新No…...

网页制作与设计中string对象ppt/东莞营销网站建设优化

在银行、销售、仓库管理等的数据查询系统中&#xff0c;我们经常会用到精确查询来准确获取想要的数据&#xff0c;但是很多时候我们并不记得确切的检索条件是什么&#xff0c;这样的话&#xff0c;必然会对我们获取数据造成一定的影响&#xff0c;而此时模糊查询的出现很好的解…...

嘉兴网站制作维护/百度电话人工服务

以前在网上看到这个门那个门的&#xff0c;没想到这次偶自己也遭遇了一把。。。 年前的某一天&#xff0c;像平常一样开机时&#xff0c;突然系统检测不到硬盘。立即上网查找一看&#xff0c;希捷硬盘存在“固件门”事件。这东东咱自己也不会修&#xff0c;只好返修经销商&…...