MySQL——DQL union合并、limit限制与DDL建表和删表
一、Union 合并
union:是实现两个查询结果的合并。
例如:当我们查询员工名字为manager 和 salesman的员工名字和 工作?
select e.ename,e.job from emp e where e.job='manager' or e.job = 'salesman';
select e.ename,e.job from emp e where e.job in('manager','salesman');
以上两条cmd 命令查询结果是一样的:

但什么的来两条查询的效率并不是很高,这个时候我们就可以用union 来提高效率:

union的效率更高,在我们doc命令当中,我们每一次表的连接,那么根据笛卡尔积就知道次数会是乘积,当再连接一个表的时候,就又一个乘积,所以我们用union 就然乘法变成加法,减少了次数,提高了效率!
注意:mysql使用union 的时候,要注意拼接的列要相等,否则会报错!当select后面字段的内容不一样的时候,在mysql语句当中可以运行,但是在Oracle当中会报错!

二、Limit
limit: 将查询结果当中的数据取出一部分,而不全部取出。
使用方法:limit 从第几条开始,一共取多少条;(默认从0开始,如果不写从第几条开始也是默认从0开始)
注意:mysql当中limit 是放在order by 后面的!
例如,取出第4条数据开始,一共取5条。

分页公式:limit (pageno-1)*pagesize ,pagesize
三、建表(DDL)
创建一个表格:create table 表名(字段名1:数据类型,字段名2:数据类型,字段名3,数据类型.......);其中表名建议以t_ 或tbl_开头是效率最高的。

快速创建表:相当于将emp表的查询结果当中一张临时表,让emp2拷贝下来。
例如:create table emp2 as select * from emp;

mysql 的数据类型:
varchar(最长255):可变长度字符串,会根据实际的长度而动态分配长度,节省空间。
char(最长255):不可变长度字符串,起始规定多长实际就多长。使用不恰当的时候,会造成空间的浪费。
varchar 和 char 对比:varchar 是节省了空间,同时效率会相对来说低,而char 不节省空间 但运行效率会高一些。
int(最长为11): 整数类型,等同于Java当中的int
bigint: 长整型,等同于Java当中的long
double:双精度浮点型
float:单精度浮点型
date:短日期(包括年月日)
datetime:长日期(包括年月日时分秒)
clob:字符大对象,最多可以储存4G的数据。例如储存一篇文章等等。当数据长度大于255的时候,就要采用clob类型了!
blob:二进制大对象,储存一些视频,音频,图片等等,但需要IO流。
注意:在mysql 数据库当中的varchar (5) 当中的5 代表是长度5,而不是字节,例如:5个汉子和5个英文字符都是长度为5.
删除表:
drop table 表名,但是当表不存在的时候,这样写会报错。
drop table if exists 表名,当表存在的时候删除,不会报错。
insert(增)
命令:insert into 表名(字段名1,字段名2,字段名3.......) values (值1,值2,值3......)
当字段名省略的时候,意为字段名区别存在,就不能只单独写一个值了。
例如:insert into 表名 values (值1,值2,值3.......);
例如:insert into t_person(no,name,sex,age,email) values (100001,'张三','男',42,'329125@qq.com')

当我们写成:insert into t_person(no) values(100003);

同时也可以插入多条数据:
例如:insert into t_user values (1,'zangsan',12,now()),(2,'wangwu',23,now()),(3,'lishi',44,now());

当查看字段的默认值的时候,会发现default 都是 默认null.

如果我们想自己指定默认值(default )的时候:
create table t_person1(
no int(10),
name varchar(32),
sex char(10) default '男',
age int(3)
);

str_to_date:就是将字符串类型转换为日期类型。
date_format:将日期类型转换为字符串类型。
mysql 日期格式:
%Y 年(必须大写) %m 月
%d 日 %h 时
%i 分 %s 秒
str_to_date('日期','格式');
例如:
create table t_user(no int(10),name varchar(10),age int(3),brith date);//创建t_user 表格
insert into t_user(no,name,age,brith) values (100001,'张三',45,str_to_date('1994-4-9','%Y-%m-%d');

当我们输入日期的格式为%Y-%m-%d这样的标准格式那么就不用谢str_to_date这个函数将字符串转换为日期了,默认就自动转换了!
insert into t_user(no,name,age,brith) values (100002,'李四',45,'1993-4-9');

date_format: 将日期转换为特定格式的字符串
例如:select no,name,age,date_format(brith,'%d/%m/%Y') as brith from t_user;

datetime在mysql 当中的默认日期格式:%y-%m-%d %h:%i:%s (有空格在%d 和 %h之间)
例如:insert into t_user(id,name,age,brith) values (100003,'wangwu',46,'1999-11-6 13:24:5');

四、now()函数
now函数:获取当前时间
例如:insert into t_user(id,name,age,brith) values(100004,'zhaoliu',55,now());

update(DML修改表格)
格式:update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3 where 条件
例如:update t_user set name='lishi',age=20 where id=100004;


delete(删除)
格式:delete from 表名 where 条件;
注意:当没有where条件判断的时候,删除的是整张表格内部的数据,但这张表格并没有删除!
例如:delete from t_user where id = 100003;

在表中插入查询后的表格(查询子句),(注意:必须插入前的表格和查询后的表格的字段必须是一致的! )
例如:insert into test2 select * from dept ;

一次插入多条记录:
insert into test2(deptno,dname,loc) values (20,‘APQI','NEW YORK'),(30,'TENXUN','BOSTON'),(10,'STTP','CCTV');

delete: 这种删除数据的方式效率比较低,而且数据在硬盘当中的储存空间还存在,删除后的数据可以恢复(rollback)!
truncate: 表被一次截断,这个表当中的数据是不可恢复的。
格式:truncate table 表名;

相关文章:
MySQL——DQL union合并、limit限制与DDL建表和删表
一、Union 合并 union:是实现两个查询结果的合并。 例如:当我们查询员工名字为manager 和 salesman的员工名字和 工作? select e.ename,e.job from emp e where e.jobmanager or e.job salesman; select e.ename,e.job from emp e where e.job in(man…...
Java“牵手”唯品会商品列表数据,关键词搜索唯品会商品数据接口,唯品会API申请指南
唯品会商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取唯品会商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问唯品会商城的网页来获取商品详情信息。以下是两种常用方法的介…...
Springboot整合JWT完成验证登录
目录 一、引入依赖二、JwtUtil 代码解读三、LoginController 代码解读四、整体代码五、结果展示 一、引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></depende…...
centos7 下使用docker安装常见的软件:Redis
关于docker的基础知识,请见《别在说自己不知道docker了,全文通俗易懂的给你说明白docker的基础与底层原理》 在自己学习的过程中经常会需要动手安装一下常见的工具,本篇就手把手带你用docker安装一遍。 jdk安装 如果先要更换之前的jdk从第…...
sql:SQL优化知识点记录(十五)
(1)MySQL主从复制 我们这里配置一Windows上的MySql做主机,Linux上的MySql做从机,搭建一主一从 测试以下是否能够拼通:从Linux上:167,连接Windows的165 从Windows的165 连接Linux上:…...
vue3+ts 分享海报
安装依赖1. npm install html2canvas --save<div class"flex-box"><div><div v-for"(item,index ) in from.list" :key"index" click"actvieFuntion(index)"><div>{{item}}</div><div :class"…...
Ubuntu23.10将推出全磁盘加密功能,提高系统安全性
Canonical 宣布其即将推出的 Ubuntu 23.10(Mantic Minotaur)将引入基于 TPM 的全磁盘加密的初步支持。这个特性将利用系统可信平台模块(TPM),在系统级别上进行全磁盘加密,从而提高系统的安全性。 但需要注…...
防火墙的设置主要是为了防范什么
防火墙的设置主要是为了防范网络攻击和数据泄露。随着互联网的普及和信息化的加速,网络安全问题越来越受到人们的关注。其中,防火墙是一种常见的网络安全设备,其设置的重要性也日益凸显。 防火墙的设置主要是为了防范什么 防火墙的设置主要目…...
Vim9和其他软件的文本复制、粘贴
大家都知道:在Vim9中使用y和p命令来进行文本的复制和粘贴,今天我来说一说Vim和其他软件之间的文本复制、粘贴操作。 Vim9和其他软件进行复制、粘贴,其原理就是通过系统剪贴板作为中介来执行操作。 一、从Vim9复制文本内容 按住鼠标左键滑出…...
MySQL学习5:事务、存储引擎
事务 简介 事务是一组数据库操作的执行单元,它要么完全执行,要么完全不执行。事务是确保数据库中的数据一致性和完整性的重要机制之一。 事务具有以下四个特性(称为ACID特性): 原子性(Atomicity…...
redis如何保证接口的幂等性
背景 如何防止接口中同样的数据提交,以及如何保证消息不被重复消费,这些都是shigen在学习的过程中遇到的问题。今天,趁着在学习redis的间隙,我写了一篇文章进行简单的实现。 注意:仅使用于单机的场景,对于…...
避坑之路 —— 前后端 json 的注意问题
当我们在进行开发项目的时候,在前后端需要进行数据之间的传输,那么就会需要到json。而json算是字符串中的一种 1.先说一下前端的, 其实这两种都是表示前端希望能收到后端json这样的数据格式,那么我们在后端就需要注意将数据进行转换为json进…...
[构建 Vue 组件库] 小尾巴 UI 组件库 —— 横向商品卡片(仿淘宝)
文章归档于:https://www.yuque.com/u27599042/row3c6 组件库地址 npm:https://www.npmjs.com/package/xwb-ui?activeTabreadmegitee:https://gitee.com/tongchaowei/xwb-ui 下载 npm i xwb-ui配置 按需导入 import {组件名 } from xwb-…...
【Python】Python实现五子棋游戏(带可视化界面)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…...
用Maloja创建音乐收听统计数据
什么是 Maloja ? Maloja 是简单的自托管音乐记录数据库,用于创建个人收听统计数据。没有推荐,没有社交网络,没有废话。Maloja 是一个跟踪您一段时间内的收听习惯的工具。 官方演示站点:https://maloja.krateng.ch/ 导出…...
GRU门控循环单元
GRU 视频链接 https://www.bilibili.com/video/BV1Pk4y177Xg?p23&spm_id_frompageDriver&vd_source3b42b36e44d271f58e90f86679d77db7Zt—更新门 Rt—重置门 控制保存之前一层信息多,还是保留当前神经元得到的隐藏层的信息多。 Bi-GRU GRU比LSTM参数少 …...
使用Puppeteer构建博客内容的自动标签生成器
导语 标签是一种用于描述和分类博客内容的元数据,它可以帮助读者快速找到感兴趣的主题,也可以提高博客的搜索引擎优化(SEO)。然而,手动为每篇博客文章添加合适的标签是一件费时费力的工作,有时候也容易遗漏…...
大数据分析案例-基于随机森林算法构建二手房价格预测模型
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
SLAM从入门到精通(ROS安装)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 ROS科研上面用的多,实际生产其实用的也不少。它本身还是很好的应用框架。当然,它对于很多初学的同学来说还是很友好的。学完…...
Linux 下spi设备驱动
参考: Linux kernel 有关 spi 设备树参数解析 Linux kernel 有关 spi 设备树参数解析 - 走看看 Linux SPI驱动框架(1)——核心层 Linux SPI驱动框架(1)——核心层_linux spi驱动模型_绍兴小贵宁的博客-CSDN博客 Linux SPI驱动框架(2)——控制器驱动层 Linux SPI驱…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
