速通MySql

一、简介

1、什么是数据库

        数据仓库,用来存储数据。访问必须用SQL语句来访问

2、数据库的类型

        1、关系型数据库:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询;事务支持良好,使得对于安全性能很高的数据访问要求得以实现

        2、非关系型数据库:redis,MongoDb等 性能高,不需要经过SQL层的解析

3、常见的数据库类型

        Oracle 大型数据库,收费

        Mysql 小型数据库,开源,

        SQL Server 微软数据库

        DB2 IBM公司产品,大型数据库,收费

二、数据库增删改查的操作

        前置:安装mysql,教程点击此处

1、增

语法

含义

模板

CREATE DATABASE

创建新数据库

CREATE DATABASE dbname;

CREATE TABLE

创建新表

CREATE TABLE table_name

(

column_name1 data_type(size),

column_name2 data_type(size),

column_name3 data_type(size),

....

);

INSERT INTO

向数据库中插入新数据

两种编写形式

1、第一种形式无需指定要插入数据的列名,只需提供被插入的值即可

INSERT INTO table_name VALUES (value1,value2,value3,...

2、第二种形式需要指定列名及被插入的值

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

2、删

语法

含义

模板

实例

备注

DELETE

从数据库中删除数据

DELETE FROM table_name

WHERE some_column=some_value;

DELETE FROM Websites

WHERE name='Facebook' AND country='USA';

WHERE 子句规定哪条记录或者哪些记录需要删除。如果省略了 WHERE 子句,所有的记录都将被删除

drop

从数据库中删除数据

drop table 表名;

把表和表中数据直接删除

truncate

从数据库中删除数据

truncate table 表名;

truncate 直接把表删除 会按照之前的表在创建一个新的

        删除速度 drop>truncate>delete

3、改

语法

含义

模板

备注

UPDATE

更新数据库中的数据

UPDATE table_name

SET column1=value1,column2=value2,...

WHERE some_column=some_value;

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

set sql_safe_updates=1; 表示开启该参数

4、查

1、select语句

语法

含义

模板

备注

DISTINCT

用于返回唯一不同的值

SELECT DISTINCT column_name,column_name

FROM table_name;

WHERE

(②、③)

用于提取那些满足指定条件的记录

SELECT column_name,column_name

FROM table_name

WHERE column_name operator value;

1、文字用单引号,数字不用引号;

2、后面不能跟聚合函数

AND & OR

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录

1、SELECT * FROM Websites

WHERE country='CN'

AND alexa > 50;

2、SELECT * FROM Websites

WHERE country='USA'

OR country='CN';

ORDER BY

(④、⑤)

关键字用于对结果集按照一个列或者多个列进行排序

SELECT column_name,column_name

FROM table_name

ORDER BY column_name,column_name ASC|DESC;

关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,可以使用 DESC 关键字

like&not like

(⑥)

用于在 WHERE 子句中搜索列中的指定模式

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern;

in

在 WHERE 子句中规定多个值

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,...);

转换

1、select * from Websites where name in ('Google','菜鸟教程');

2、select * from Websites where name='Google' or name='菜鸟教程';

between&

not between

选取介于两个值之间的数据范围内的值

SELECT column_name(s)

FROM table_name

WHERE column_name BETWEEN value1 AND value2;

带有 IN 的 BETWEEN 操作符实例

SELECT * FROM Websites

WHERE (alexa BETWEEN 1 AND 20)

AND country NOT IN ('USA', 'IND');

5、多表连接

语法

含义

模板

备注

INNER JOIN&JOIN

关键字在表中存在至少一个匹配时返回行

1、SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name=table2.column_name;

2、SELECT column_name(s)

FROM table1

JOIN table2

ON table1.column_name=table2.column_name;

LEFT JOIN

关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL

左为主 把左边的表中的不符合规则的数据显示出来

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name=table2.column_name;

RIGHT JOIN

关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL

右连接 右为主 把右边的表中的不符合规则的数据显示出来

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name=table2.column_name;

6、函数

语法

含义

模板

备注

AVG()

返回平均值

SELECT AVG(column_name) FROM table_name

聚合函数

COUNT()

COUNT(column_name)

函数返回指定列的值的数目(NULL 不计入)

COUNT(*)

返回表中的记录数

COUNT(DISTINCT column_name)

返回指定列的不同值的数目

同左

聚合函数

MAX()

返回最大值

SELECT MAX(column_name) FROM table_name;

聚合函数

MIN()

返回最小值

SELECT MIN(column_name) FROM table_name;

聚合函数

SUM()

返回总和

SELECT SUM(column_name) FROM table_name;

聚合函数

GROUP BY

用于结合聚合函数,根据一个或多个列对结果集进行分组。

SELECT column_name, aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name;

HAVING

(⑦)

筛选分组后的各组数据,解决WHERE 关键字无法与聚合函数一起使用

SELECT column_name, aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name

HAVING aggregate_function(column_name) operator value;

②、WHERE 子句中的运算符

运算符

描述

示例

=

等于

<>

不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=

>

大于

<

小于

>=

大于等于

<=

小于等于

③、WHERE 子句并不一定带比较运算符,当不带运算符时,会执行一个隐式转换。当 0 时转化为 false,1 转化为 true。

        例如:

                SELECT studentNO FROM student WHERE 0

        则会返回一个空集,因为每一行记录 WHERE 都返回 false。

                SELECT studentNO FROM student WHERE 1

        返回 student 表所有行中 studentNO 列的值。因为每一行记录 WHERE 都返回 true。

④、ORDER BY 多列的顺序

        先按照第一个column name排序,在按照第二个column name排序

        1)、先将country值这一列排序,同为CN的排前面,同属USA的排后面;

        2)、然后在同属CN的这些多行数据中,再根据alexa值的大小排列。

        3)、ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。

⑤、ORDER BY 多列的升降序

        order by A,B 这个时候都是默认按升序排列

        order by A desc,B 这个时候 A 降序,B 升序排列

        order by A ,B desc 这个时候 A 升序,B 降序排列

        即 desc 或者 asc 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

⑥、

%a

以a结尾的数据

a%

以a开头的数据

%a%

含有a的数据

_a_

三位且中间字母是a的

_a

两位且结尾字母是a的

a_

两位且开头字母是a的

⑦、分组查询的筛选条件

数据源

位置

关键字

分组前筛选

原始表

group by子句的前面

where

分组后筛选

分组后的结果集

group by子句的后面

having

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

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

相关文章

模糊C均值(Fuzzy C-means,FCM)聚类的python程序代码的逐行解释,看完你也会写!!

文章目录 前言一、本文的原始代码二、代码的逐行详细解释总结 前言 接上一篇博客&#xff0c;详细解释FCM聚类的程序代码&#xff01;&#xff01; 一、本文的原始代码 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets import skfuzzy as…

Open3D 最小二乘拟合二维直线(直接求解法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。 一、算法原理 平面直线的表达式为: y = k x + b

【软件推荐】卸载360软件geek;护眼软件flux;

卸载360软件geek f.lux: software to make your life better (justgetflux.com) 卸载完扫描残留 护眼软件 hf.lux: software to make your life better (justgetflux.com)https://justgetflux.com/https://justgetflux.com/

【Java8系列06】Java8数据计算

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

应用于智慧工地的AI边缘计算盒子+AI算法软硬一体化方案

智慧工地解决方案&#xff0c;围绕施工工地最常见的工人工服识别、安全帽佩戴识别、人脸识别、安全周界检测、打电话/吸烟、摔倒检测、明火检测、渣土车、土堆裸露识别等一系列子场景专门推出的通用解决方案&#xff0c;着眼工地安全施工、规范人员进出、保护设备安全等刚性需求…

vscode插件问题

1 Vscode code颜色变化 最外层标签颜色变成白色 其他标签有颜色&#xff0c;css代码颜色有些变成白色 是安装的另一个插件vue影响的&#xff0c;卸载就能恢复正常的颜色 2 配置Vue项目的代码片段 css 样式代码片段 配置css.json上后偶尔能用偶尔不能用&#xff0c;Vscode 右下…

Windows核心编程 远程线程注入

目录 线程安全 C线程 C STL线程 远程线程注入概述 相关API CreateRemoteThread LoadLibrary VirtualAllocEx FreeLibrary GetProcAddress 远程线程注入 DLL卸载 调试DLL 线程安全 变量在单线程和在多线程都不会出问题 - 线程安全 变量在多线程出问题&#xff0c…

CCC数字车钥匙(八)——BLE配对相关字段

2.1 配对连接协议 2.1.3 所有者配对广播 对于所有者配对&#xff0c;仅支持Legacy LE 1M PHY。ADV_IND需要按照Section 2.3.1.1 Volume 6 Part B。 事件类型&#xff1a;无指向可连接和可扫描。 ADV_IND中包含广播地址和广播数据&#xff0c;如下所示&#xff0c;其中广播地址…

TZOJ 1402 Bitset

答案&#xff1a; #include <stdio.h> int main() {int n 0, j 0; while (scanf("%d", &n) ! EOF && (n>0 && n<1000)) //多组输入{int arr[32], i 0;while (n > 0) {arr[i] n % 2; //除2取余法n / 2;}for (j i -…

力扣题:字符的统计-12.1

力扣题-12.1 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;451. 根据字符出现频率排序 解题思想&#xff1a;统计字符出现的个数&#xff0c;进行排序即可 class Solution(object):def frequencySort(self, s):""":type s: str:…

【数据结构】哈夫曼树(Huffman Tree)和哈夫曼编码(Huffman Coding)

哈夫曼树&#xff08;Huffman Tree&#xff09;和哈夫曼编码&#xff08;Huffman Coding&#xff09;是数据压缩领域常用的技术。哈夫曼树是一种特殊的二叉树&#xff0c;用于构造哈夫曼编码&#xff0c;而哈夫曼编码则是一种变长编码&#xff0c;用于压缩数据。 在解释哈夫曼…

文心一言 VS 讯飞星火 VS chatgpt (147)-- 算法导论12.2 2题

二、用go语言&#xff0c;写出 TREE-MINIMUM 和 TREE-MAXIMUM 的递归版本。 灵捷3.5 。 文心一言&#xff1a; 以下是用 Go 语言编写的树的最大值和最小值的递归版本代码&#xff1a; package main import ( "fmt" ) type TreeNode struct { Val int Le…

【tower-boot 系列】MybatisPlus 集成

Mybatis、MybatisPlus 简单介绍 MybatisPlus 集成 一、pom 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><exclusions><exclusion><groupId>com.zaxxer…

python简单进阶之web框架:fastapi使用教程

原文&#xff1a;python简单进阶之web框架&#xff1a;fastapi使用教程 - 知乎 这是简单进阶教程系列第四篇&#xff0c;本系列文章主要介绍那些可以很快上手的进阶库。 我其实学过一段时间Django框架&#xff0c;但是半途而废了&#xff0c;我觉得可能还是简单一点的框架比较适…

智能优化算法应用:基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.象群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

网络类型解析(基础):探索通信世界的多样面貌

在当今数字化时代&#xff0c;网络已经成为人们生活和工作中不可或缺的一部分。从个人设备之间的直接通信到全球范围的数据传输&#xff0c;不同类型的网络为我们提供了多种连接方式和通信选择。透过对这些网络类型的解析&#xff0c;我们将更好地理解它们的特点、优势和适用场…

JMX的使用

1. 定义和意义 JMX是Java Management Extention的缩写&#xff0c;出发点是让外部通过属性/方法来读取或设置程序状态。对于提供对外服务的程序来说&#xff0c;天生就有这样的能力&#xff0c;Web程序通过HTTP接口对外暴露&#xff0c;RPC应用通过RPC接口暴露。不过带来的问…

ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息

ESP32-Web-Server编程- 使用表格&#xff08;Table&#xff09;实时显示设备信息 概述 上节讲述了通过 Server-Sent Events&#xff08;以下简称 SSE&#xff09; 实现在网页实时更新 ESP32 Web 服务器的传感器数据。 本节书接上会&#xff0c;继续使用 SSE 机制在网页实时显…

深度学习手势识别 - yolo python opencv cnn 机器视觉 计算机竞赛

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值&#xff0c;针对不同类型&#xff0c;我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…