MySQL——DQL union合并、limit限制与DDL建表和删表

news2025/1/10 11:23:31

一、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 表名;

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

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

相关文章

pandas笔记:显示中间的省略号

比如我们有这样一个数据(Geolife中的数据) 如何把中间的省略号完整地输出呢? pd.set_option(display.max_rows, None) data

【图解RabbitMQ-4】Docker安装RabbitMQ详细图文过程

🧑‍💻作者名称:DaenCode 🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开…

「网页开发|前端开发|Vue」06 公共组件与嵌套路由:让每一个页面都平等地拥有导航栏

本文主要介绍在多个页面存在相同部分时,如何提取公共组件然后在多个页面中导入组件重复使用来减少重复代码。在这基础上介绍了通过嵌套路由的方式来避免页面较多或公共部分较多的情况下,避免不断手动导入公共组件的麻烦,并且加快页面跳转的速…

烟感报警器单片机方案开发,解决方案

烟感报警器也叫做烟雾报警器。烟感报警器适用于火灾发生时有大量烟雾,而正常情况下无烟的场所。例如写字楼、医院、学校、博物馆等场所。烟感报警器一般安装于所需要保护或探测区域的天花板上,因火灾中烟雾比空气轻,更容易向上飘散&#xff0…

快速教程:如何更新AirPods固件!

让我们弄清楚一件事——你通常不需要学习如何更新AirPods固件。当苹果发布更新时,无论你使用的是标准的第三代AirPods还是AirPods Pro 2,固件都会自动安装在你的AirPods上。但是,这是一个很大的问题,但事情并不总是按计划进行。有…

【进阶篇】Redis缓存击穿, 穿透, 雪崩, 污染详解

【进阶篇】Redis缓存穿击, 穿透, 雪崩, 污染详解 文章目录 【进阶篇】Redis缓存穿击, 穿透, 雪崩, 污染详解0. 前言大纲缓存穿击缓存穿透缓存雪崩缓存污染 1. 什么是缓存穿透?1.1. 发生原因1.2. 导致问题1.3. 解决方案 2. 什么是缓存击穿3.1. 发生原因3.1. 解决方案…

PHP自己的框架留言板功能实现

目录 1、实现留言板功能效果 2、创建留言板数据表 3、控制器提交和显示方法 4、提交留言板html 5、留言板列表html 1、实现留言板功能效果 2、创建留言板数据表 CREATE TABLE msg (id int(11) NOT NULL AUTO_INCREMENT,name varchar(30) DEFAULT NULL COMMENT 留言板姓…

FullGC 40 次/天优化为 10 天 1 次

问题 前一段时间,线上服务器的 FullGC 非常频繁,平均一天 40 多次,而且隔几天就有服务器自动重启了,这表明服务器的状态已经非常不正常了,得到这么好的机会,当然要主动请求进行调优了。 未调优前的服务器 GC 数据,FullGC 非常频繁。 首先服务器的配置非常一般(2 核 4…

公园气象站:用科技力量,感知气象变化

在城市的喧嚣中,公园成为人们休闲娱乐的宁静之地。而在这些公园中的公园气象站静静地矗立着,不仅为公园的日常运营提供着重要数据,还在为游客的安全保驾护航。 用科技力量,感知气象变化 科技的创新为气象监测提供了更为精准的手…

iOS 16.4更新指南:问题解答与新功能一览

我应该更新到iOS 16.4吗?这是许多iPhone用户在新更新可用时问自己的一个常见问题。最新的iOS版本提供了各种功能和改进,因此更新的诱惑力很大。 但是,在更新之前,你应该考虑几个因素,以确保安装过程顺利成功。这些因素…

Android 九宫格布局

效果图 实现思路: 1.使用GridView来实现九宫格布局,设置numColumns3。 2.图标使用的是Font Awesome矢量图标,详情可以参考Android 在APP中使用 Font Awesome 图标_.fa-headphones_清山博客的博客-CSDN博客 实现步骤: 1.布局文…

关于vscode的GitLens插件里的FILE HISTORY理解

最近在用vscode的GitLens插件开发项目遇到这个疑问,先看图: 每当我点击FILE HISTORY 一个commit时,正常来说显示器会自动将点击的提交版本和它上一个提交版本进行比较,如果单纯这么理解的话就错了,因为GitLens的File …

基于循环队列和信号量的生产和消费者模型

这一节为什么要基于信号量来实现同一个模型,原因: void push(const T& in){pthread_mutex_lock(&_lock);while(is_Full()){//这里说明阻塞队列是满的,需要让生产者等待pthread_cond_wait(&_pcond,&_lock);}//这里说明阻塞队列…

jupyter 格式化与快捷键

1、标题: # 一级标题 ## 二级标题 ### 三级标题 2、 加粗文本: **加粗文本** 3、斜体文本: _斜体_ 4、删除线 ~删除线~ 5、高亮文本 高亮文本 6、区块引用 > 我是引用文字 >> 我是第二层 >&g…

提高广播新闻自动语音识别模型的准确性

语音识别技术的存在让机器能够听懂人类的语言,让机器理解人类的语言。语音识别技术发展至今,已经应运而上了各种各样的语音智能助手,可能有一天我们身边的物体都能和我们说话,万物相连的时代也如期而至。 数据从何而来&#xff1…

FPN模型

【简介】 2017年,T.-Y.Lin等人在Faster RCNN的基础上进一步提出了特征金字塔网络FPN(Feature Pyramid Networks)技术。在FPN技术出现之前,大多数检测算法的检测头都位于网络的最顶层(最深层),虽说最深层的特征具备更丰富的语义信息&#xff0…

Mybatis 动态SQL - 使用foreach标签查询数据、批量新增、批量修改、删除数据

前面我们介绍了使用Mybatis完成数据的增删改查,并且也了解了如何在Mybatis中使用JDK的日志系统打印日志;本篇我们介绍使用Mybatis的动态SQL完成查询数据、批量新增、批量修改、删除数据。 如果您对数据的增删改查操作和Mybatis集成JDK日志系统不太了解&…

基于FPGA的RGB图像转化为灰度图实现,通过MATLAB进行辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 202…

js中添加屏蔽F12 审查元素、屏蔽开发者工具、屏蔽右键菜单、屏蔽剪切、屏蔽选中操作

在看某个网站时,看到一段话想复制一下,结果复制不了。想打开F12看看元素进行复制,也不行,没有反应。最后通过打开开发者工具看看,结果一打开就跳到about:blank。 看到这操作一脸懵逼,小样的,还有…

iPhone15就要到来,iPhone14可能会铺天盖地地降价

智能手机并没有变得更便宜,这就是为什么如果你在购买新设备,值得记住去年的型号。苹果即将推出的iPhone 15系列预计将于本月发布,有传言称9月12日将举行苹果活动。当他们真的宣布时,我们很可能也会看到iPhone 14的价格在iPhone 15…