SQL常见命令语句
1.连接数据库
mysql (-h IP) -u root -p 密码
2.查看数据库
show databases
3.使用数据库
use db_name
4.查看表
show tables [from db_name]
5.查看表结构
desc tb_name
6.创建、删除、选择数据库
create database db_namedrop database db_nameuse db_name
7.数据类型
参考链接:https://www.runoob.com/mysql/mysql-data-types.html
● 数值类型
● 日期和时间类型
● 字符串类型
8.创建、删除数据表
create table [if not exsits] tb_name (`id` INT UNSIGNED AUTO_INCREMENT,`title` VARCHAR(100) NOT NULL,`author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `id` )
) default charset=utf8;drop table tb_name
9.插入、查询、修改、删除数据
insert into tb_name (field1, field2,...,fieldN) values (value1, value2,...valueN)select * from tb_name
select field1, field2,... from tb_name [where ...] [limit n] [offset m] -- n是限制查询返回的结果,m是开始查询的数据偏移量,默认0
select field1,field2,... from tb_name1, tb_name2,... [where condition1 and/or condition2 ...]
-- condition 中可以用如下操作符 =,<>或者!= (不等于),>,<,>=,<=update tb_name set field1=xxx, fieldn=xxx [where caluse]delete from tb_name [where clause]
10.like子句
-- SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *
-- 要获取 author 字段含有 "COM" 字符的所有记录
SELECT * from tb_name WHERE author LIKE '%COM'
11.注释
-- 采用 "--"(双减号)进行单行注释,注意:"--"与注释内容要用空格隔开才会生效-- 采用 /*…*/进行多行注释
12.union
-- UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据select expression1, expression2, ... expression_n from tb_name1 [where conditions]
UNION [ALL | DISTINCT] -- all 所有结果 distinct 删除重复数据
select expression1, expression2, ... expression_n from tb_name2 [where conditions];
13.排序
-- order byselect field1, ...,fieldn from tb_name [where clause] [order by field1 [asc], field2 desc]-- order by 默认是asc升序排列
14.分组
-- group by 语句根据一个或多个列对结果集进行分组。
-- 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。select column_name, function(column_name) from tb_name [where clause] group by column_name-- WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)
select column_name1, function(column_name2) from tb_name [where clause] group by column_name [with rollup]-- 我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法:select coalesce(a,b,c);
-- 参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
SELECT coalesce(name, '总数'), SUM(signin) as signin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
15.连接
-- 可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。-- INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
select field1 from tb_name1 a inner join tb_name1 b on a.field2 = b.field3 -- LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
select field1 from tb_name1 a left join tb_name1 b on a.field2 = b.field3-- RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
select field1 from tb_name1 a right join tb_name1 b on a.field2 = b.field3
16.NULL的处理
不能使用 = NULL 或 != NULL 在列中查找 NULL 值
在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,即 NULL = NULL 返回 NULL 。
MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。
-- IS NULL: 当列的值是 NULL,此运算符返回 true。
-- IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
-- <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。select * from tb_name where field1 is null
select * from tb_name where field1 is not null
17.正则表达式
-- MySQL中使用 REGEXP 操作符来进行正则表达式匹配SELECT * FROM tb_name WHERE field REGEXP '^xxx';
18.事务
事务控制语句
● BEGIN 或 START TRANSACTION 显式地开启一个事务;
● COMMIT 也可以使用 COMMIT WORK,不过二者是等价的。COMMIT 会提交事务,并使已对数据库进行的所有修改成为永久性的;
● ROLLBACK 也可以使用 ROLLBACK WORK,不过二者是等价的。回滚会结束用户的事务,并撤销正在进行的所有未提交的修改;
● SAVEPOINT identifier,SAVEPOINT 允许在事务中创建一个保存点,一个事务中可以有多个 SAVEPOINT;
● RELEASE SAVEPOINT identifier 删除一个事务的保存点,当没有指定的保存点时,执行该语句会抛出一个异常;
● ROLLBACK TO identifier 把事务回滚到标记点;
● SET TRANSACTION 用来设置事务的隔离级别。InnoDB 存储引擎提供事务的隔离级别有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ 和 SERIALIZABLE。
MYSQL 事务处理主要有两种方法:
1.用 BEGIN, ROLLBACK, COMMIT来实现
● BEGIN 开始一个事务
● ROLLBACK 事务回滚
● COMMIT 事务确认
2.直接用 SET 来改变 MySQL 的自动提交模式:
● SET AUTOCOMMIT=0 禁止自动提交
● SET AUTOCOMMIT=1 开启自动提交
begin --开始事务... --一些sql语句commit (rollback) --结束、回滚事务
19.ALTER命令
-- 需要修改数据表名或者修改数据表字段时,就需要使用到 MySQL ALTER 命令。-- 添加列
alter table tb_name add new_field_name data_type-- 修改列
alter table tb_name modify field_name new_data_type --类型
alter table tb_name change old_field_name new_field_name data_type --名字,类型--删除列
alter table tb_name drop field_name-- 添加约束
alter table tb_name add primary key (field_name) -- 添加主键
alter table tb_name add foreign key (field_name) references referenced_tb (reference_field_name) -- 添加外键
alter table tb_name add constraint constraint_name unique (field_name) --添加唯一约束-- 创建索引
alter table tb_name add index index_name(field_name1 [asc|desc],field_name2 [asc|desc] ,...) --普通索引
alter table tb_name add unique index index_name(field_name1 [asc|desc],field_name2 [asc|desc] ,...) -- 唯一索引
alter table tb_name drop index index_name --删除索引-- 表重命名
alter table tb_name rename to new_tb_name-- 修改表存储引擎
alter table tb_name engine=new_storage_engine
20.索引
-- 索引名在表中必须唯一
-- 创建索引
create [unique] index index_name on tb_name (ield_name1 [asc|desc],field_name2 [asc|desc] ,...) -- 修改表为其添加索引
alter table tb_name add [unique] index index_name(field_name1 [asc|desc],field_name2 [asc|desc] ,...) --普通索引-- 创建表时指定索引
create table tb_name (...index index_name [unique] (field_name1 [asc|desc],field_name2 [asc|desc] ,...)
)-- 删除索引
drop index index_name on tb_name
alter table tb_name drop index index_name-- 显示索引信息
show index from tb_name
21.临时表
-- MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。
create temporary table tb_name (...)
22.复制表
-- 1、先获取表的完整结构
show create table tb_name-- 2、复制上述结果,修改sql语句中的表面并执行sql语句-- 3、拷贝数据
insert into clone_tb (...) select (...) from origin_tb
23.元数据
24.序列使用
AUTO_INCREMENT
25.处理重复数据
primary keyunique-- 统计重复数据
/* 确定哪一列包含的值可能会重复。
在列选择列表使用COUNT(*)列出的那些列。
在GROUP BY子句中列出的列。
HAVING子句设置重复数大于1。 */
select count(*) as xx, filed1, field2 from tb_name group by field1,field2 having xx > 1-- 过滤重复数据
select distinct field from tb_name-- 删除重复数据
26.导出、导入数据
-- 使用 SELECT ... INTO OUTFILE 语句导出数据
select * into outfile '地址' [fields terminated by ',' optionally enclosed by '"'
lines terminated BY '\n']
from tb_name-- 导入数据
source '地址' --sql文件
load data local infile '地址' into table tb_name
27.函数、运算符
函数:https://www.runoob.com/mysql/mysql-functions.html
运算符:https://www.runoob.com/mysql/mysql-operator.html
相关文章:

SQL常见命令语句
1.连接数据库 mysql (-h IP) -u root -p 密码2.查看数据库 show databases3.使用数据库 use db_name4.查看表 show tables [from db_name]5.查看表结构 desc tb_name6.创建、删除、选择数据库 create database db_namedrop database db_nameuse db_name7.数据类型 参考链…...

Android Framework解析——WMS原理
作者:bobby_developer 1. WMS原理:WMS角色与实例化过程 window:它是一个抽象类,具体实现类为 PhoneWindow ,它对 View 进行管理。Window是View的容器,View是Window的具体表现内容; windowManager:是一个接…...

python编辑器安装与配置,python用哪个编辑器好用
大家好,给大家分享一下python编辑器pycharm安装教程,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 哪些python的编程软件值得推荐? 编写python源代码的软件.首推的Pycharm。 PyCharm用于bai一般IDE具备的功能&…...
如何使用ElasticSearch存储和查询数据
1. 引言 在大多数的场景里,存储数据都是用MySQL这类关系型数据库,这类数据库的特点是数据存储安全性和一致性高,可以用于事务操作,但是随着数据量的增加,查询的速度也会随之降低,并且其扩展能力有限&#x…...

谈谈对Spring MVC的理解
问题分析: SpringMVC 是一种基于 Java 语言开发,实现了 Web MVC 设计模式,请求驱动类型 的轻量级 Web 框架。 SpringMVC采用了 MVC 架构模式的思想,通过把 Model,View,Controller 分离,将 Web 层…...

Shopify平台Fulfillment业务模块升级
上图是销售订单、发货单与配送之间的关系图,销售订单可以创建多个发货单,多个发货单(不同销售订单)可以合并在一个配送订单进行发货 接口请求错误记录: 1. The api_client does not have the required permission(s). 2. Required parameter missing or…...

使用 PyTorch 逐步检测单个对象
一、说明 在对象检测任务中,我们希望找到图像中对象的位置。我们可以搜索一种类型的对象(单对象检测,如本教程所示)或多个对象(多对象检测)。通常,我们使用边界框定义对象的位置。有几种方法可以…...

Node.js |(二)Node.js API:fs模块 | 尚硅谷2023版Node.js零基础视频教程
学习视频:尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 文章目录 📚文件写入🐇writeFile 异步写入🐇writeFileSync 同步写入🐇appendFile / appendFileSync 追加写入🐇createWriteStrea…...
Android 13 Hotseat定制化修改——002 hotseat图标数量修改
目录 一.背景 二.实践方案 一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小࿰…...

Flask实现接口mock,安装及使用教程(一)
1、什么是接口mock 主要是针对单元测试的应用,它可以很方便的解除单元测试中各种依赖,大大的降低了编写单元测试的难度 2、什么是mock server 正常情况下:测试客户端——测试——> 被测系统 ——依赖——>外部服务依赖 在被测系统和…...

分立式BUCK电路原理与制作持续更新
目录 一、分立式BUCK电路总体原理图 二、BUCK电路与LDO的区别 三、BUCK电路为什么要加电感 四、BUCK电路要加续流二极管 五、BUCK电路导通与断开的回路 六、电源公式的中的几个表示方式 1、输入功率用Pin表示 2、输出功率用Po表示 3、电源的效率公式:电源的…...

2023年大数据与计算国际会议 (WBDC 2023)| EI、Scoups检索
会议简介 Brief Introduction 2023年大数据与计算国际会议(WBDC 2023) 会议时间:2023年11月17 -19日 召开地点:中国西安 大会官网:www.iwbdc.org 2023年大数据与计算国际会议(WBDC 2023)将围绕“…...

Grafana V10 告警推送 邮件
最近项目建设完成,一个城域网项目,相关zabbix和grafana展示已经完,想了想,不想天天看平台去盯网络监控平台,索性对告警进行分类调整,增加告警的推送,和相关部门的提醒,其他部门看不懂…...
【OpenCV常用函数:视频捕获函数】cv2.VideoCapture
文章目录 1、cv2.VideoCapture() 1、cv2.VideoCapture() 输入视频路径,创建VideoCapture的对象 cv2.VideoCapture(filename) filename: 视频文件的路径视频名扩展名该类的函数有: 1)video.isOpened: 检查视频捕获是否成功 2)vid…...

OptaPlanner笔记2
1.5.3 使用maven 修改pom.xml 导入optaplanner-bom以避免为每一个依赖项重复添加版本号 <project>...<dependencyManagement><dependencies><dependency><groupId>org.optaplanner</groupId><artifactId>optaplanner-bom</art…...

c++文件流详细笔记
c++流 IO :向设备输入数据和输出数据 C++的IO流 设备: 文件控制台特定的数据类型(stringstream)c++中,必须通过特定的已经定义好的类, 来处理IO(输入输出) 文件流 文件流: 对文件进行读写操作 头文件: 类库: ifstream 对文件输入(读文件) ofstream 对文件输出(写…...

CNN经典网络模型之GoogleNet论文解读
目录 1. GoogleNet 1.1 Inception模块 1.1.1 1x1卷积 1.2 辅助分类器结构 1.3 GoogleNet网络结构图 1. GoogleNet GoogleNet,也被称为Inception-v1,是由Google团队在2014年提出的一种深度卷积神经网络架构,专门用于图像分类和特征提取任…...

【C++】开源:CGAL计算几何库配置使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…...
Redis分布式锁相关
Redis分布式锁实现Redisson 15问 分布式锁:Redisson源码解析-MultiLock、RedLock 看懂Redisson分布式锁源码,其实并不难...

Nginx环境搭建以及Docker环境部署
目录 Nginx环境搭建 1.首先创建Nginx的目录并进入 2.下载Nginx的安装包 可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包 没有wget命令的可通过yum命令安装 3.解压Nginx的压缩包 4.下载并安装Nginx所需的依赖库和包 安装方式一 安装方式二 --- 也…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...