create table tab_b(
b_id int,
b_name varchar(20),
b_date date
)
create table tab_y(
y_id int,
y_xing varchar(20),
y_ming varchar(20),
y_date date,
y_phone varchar(20),
y_age int,
y_sex varchar(20),
b_id int
)
alter table tab_b add primary key(b_id);
alter table tab_b modify b_id int auto_increment;
insert into tab_b(b_name,b_date) values('股东部','1998-1-14');
select *from tab_b
alter table tab_y add primary key(y_id);
alter table tab_y modify y_id int auto_increment;
insert into tab_y(y_xing,y_ming,y_date,y_phone,y_age,y_sex,b_id) values('师','敏','1999-5-5','15896587452',20,'女',4);
select *from tab_y
---------------sql语句----------------
-- 添加一行
insert into tab_y(y_xing,y_ming,y_date,y_phone,y_age,y_sex,b_id) values('师','敏','1999-5-5','15896587452',20,'女',4);
-- 多行添加
insert into tab_y(y_xing,y_ming,y_date,y_phone,y_age,y_sex,b_id) values
('小','敏','1999-8-15','15896857452',20,'女',6),('刘','航','1999-8-5','15878587452',20,'女',5),
('刘','航','1999-8-5','15878587452',20,'女',5);
-- 删除整张表
delete from tab_y
-- 删除一条
delete from tab_y where y_id=12;
-- 删除多条
delete from tab_y where y_id in (13,14);
-- TRUNCATE语句删除
truncate table tab_y
-- 修改一条
update tab_y set y_ming='m敏' where y_id=10
-- 修改多行
update tab_y set y_ming='min敏' where y_id in(9,10);
-- 查询部门为1的员工:姓名 , 年龄 , 工作地点
select y_xing,y_ming,y_age,y_sex from tab_y where b_id=1
select y_xing as '姓',y_ming as '名',y_age as '年龄',y_sex as '性别' from tab_y
-- limit限定查询返回行
select concat(y_xing,y_ming) from tab_y limit 1,5
-- limit查询后三条数据
select *from tab_y order by y_id desc limit 3
-- 去除重复行
select distinct y_id from tab_y;
-- 查询年龄在20岁以上的学生信息并进行排序(asc,desc)
select *from tab_y where y_age>20 order by y_age desc
-- 查询出年龄为20岁的女生信息
select *from tab_y where y_age=20 and y_sex='女'
-- 查询不再2部门的员工或年龄不到22岁的学生信息
select *from tab_y where y_age>22 or b_id<>2
-- 查询出不是1部门的员工信息
select *from tab_y where b_id != 1
-- 按照员工的年龄以升序进行排列查询。(升序:asc,降序:desc)
select *from tab_y order by y_age asc
-- 查询所有员工的信息按照年龄以降序进行排列和出生日期的升序进行排列。
select *from tab_y order by y_age desc,y_date asc
-- 二表联合查询
select * from tab_b b,tab_y y where b.b_id=y.b_id
------------------函数-----------------
#1.字符串函数
concat()拼接字符串
select concat(y_xing,y_ming) as '姓名' from tab_y
select concat('a','b') from dual
-- length()返回字节数
select length('你好啊') from dual
select length(y_xing) from tab_y
-- char_length()返回字符个数
select char_length('asdf你') from dual
-- upper()转为大写
select upper('fghHHHjj') from dual
-- lower()转为小写
select lower('FGHfghFGH') from dual
-- ltrim()去除字符串左边的空格
select ltrim(' asd d') from dual
-- rtrim()去除字符串右边的空格
select rtrim(' as d ') from dual
-- replace()替换
select replace('aaabbbccc','a','f') from dual
-- locate()返回第一个字符串出现的位置(不存在返回0)
select locate('z','cvbxzsd') from dual
-- substring()截取字符串
select substring('asdfghjk',3,4) from dual
#日期函数
-- now()返回系统当前时间
select now() from dual
-- timestampdiff()返回日期之间的相差{second 秒, minute 分钟,hour 小时,day 天,week 周,month 月,quarter 季,year 年}
select timestampdiff(year,'1997-03-14','1998-03-14') from dual
- date_Add()加日期{second 秒, minute 分钟,hour 小时,day 天,week 周,month 月,quarter 季,year 年}
select date_Add('1997-03-14',interval 1 day) from dual
--dayofweek()返回日期是一周的多少天
select dayofweek('2019-09-5') from dual
-- yearweek()获取年份和第几周
select yearweek('2019-12-30') from dual
-- datediff()返回二个日期相减剩余天数
select datediff('1998-03-14','1997-03-14') from dual
-- date()****年**月**日
select date('1997-03-14 00:00:12') from dual
#查询出本周内点击率最多的前3条新闻信息
SELECT concat(substring(title,1,10) , '...') AS '新闻标题'
,Clicks as 点击率 FROM NewsInfo
WHERE yearweek(date_format(AddTime,'%Y-%m-%d')) = yearweek(now())
ORDER BY Clicks desc limit 3;
#数学函数
abs()求绝对值
select abs(-12) from dual
-- ceiling()向上取整
select ceiling(20.1) from dual
-- floor()向下取整
select floor(12.9) from dual
-- power(a,n)计算a的n次方
select power(2,3) from dual
-- round(a,n)舍去n位小数点后数字
select round(12455.1235,2) from dual
-- sign(a)若a>0返回1,=0返回0,<0返回-1
select sign(-4) from dual
-- sqrt()开平方
select sqrt(16) from dual
-- pi()返回圆周率
select pi() from dual
-- rand()随机函数
select rand() from dual
#系统函数及其他
convert()类型转换
select convert(452,char(3)) from dual
-- version()返回数据库版本号
select version() from dual
-- last_insert_id()返回最后生成的auto_increment的值
select last_insert_id() from dual
-- ifnull()
select y_age, IFNULL(y_age,y_id) y_phone from tab_y;
-- password(str)/md5(str)对数据加密
-- 返回当前用户登录的计算机名字
select user,host from mysql.user
----------------------mysql高级查询-------------------------
#模糊查询
#用“%”通配多个字符
-- 查询数据库表中姓"白"的学生
select *from tab_y where y_xing like '白%'
-- 查询包含字符"9"的学生信息,需要中间匹配
select *from tab_y where y_phone like '%9%'
-- 查询以字符"武"结尾的学生信息,需要结尾匹配
select *from tab_y where y_ming like '%武'
-- 用"_"通配单个字符
select *from tab_b
--查询"技__"的部门
select *from tab_b where b_name like '技__'
-- 查询所有以、"__部"显示的部门
select *from tab_b where b_name like '__部'
-- 查询所有的第二个字符为"传"的部门信息
select *from tab_b where b_name like '_传%'
-- 转义字符escape
insert into tab_b(b_name,b_date) values('财_武部','1998-03-17')
-- 查询"财_"的学生
select *from tab_b where b_name like '财/_%' escape '/'
select *from tab_y
-- 正则模式REGEXP操作符
-- 查询出所有的电话号以18开头第三位必须为1到7 的员工信息
select *from tab_y where y_phone regexp '^[1][8][1-7]'
-- Between运算符(根据某个字段值的区间范围来查询符合条件的记录,这个范围内有多少数据并不明确)
-- 查询出年龄在20~24之间的学生信息
select *from tab_y where y_age between 20 and 24
select *from tab_y where y_age between 20 and 24
-- IN运算符(用来匹配某个字段的值是几个可数的选项值之一)
-- 查询出学生家在郑州或洛阳的学生信息
select *from tab_b where b_name in ('销售部','技术部')
-- 聚合函数(sum:求和,avg:求平均,max:最大值,min:最小值,count:求总条数)
select AVG(y_age) from tab_y
#分组查询
create table tab_grade(
g_id int,
g_name varchar(20)
)
alter table tab_grade add primary key(g_id);
alter table tab_grade modify g_id int auto_increment;
insert into tab_grade(g_name) values('四年级')
select *from tab_grade
create table tab_class(
c_id int,
c_name varchar(20)
)
alter table tab_class add primary key(c_id)
alter table tab_class modify c_id int auto_increment
insert into tab_class(c_name) values('一班'),('二班'),('三班'),('四班')
select *from tab_class
create table tab_student(
s_id int,
s_name varchar(20),
s_sex varchar(20),
s_age int,
s_phone varchar(20),
s_idNumber varchar(18),
s_performance double(5,2),
s_date date,
g_id int,
c_id int
)
alter table tab_student add primary key(s_id)
alter table tab_student modify s_id int auto_increment
insert into tab_student(s_name,s_sex,s_age,s_phone,s_idNumber,s_performance,s_date,g_id,c_id)
values('貂蝉','女',21,'18597978965','411588144569874565',80.22,'1997-02-4',2,2),
('孙尚香','女',20,'18796488965','411527144569878542',89.49,'1997-07-12',2,2),
('大桥','女',20,'18796488965','411527144569878542',79.99,'1997-07-12',3,1),
('小乔','女',20,'18796488965','411527144569878542',89.49,'1997-07-12',4,1),
('虞夫人','女',20,'18796488965','411527144569878542',94.19,'1997-07-12',4,1)
-- 查询每个年级的平均分
SELECT g_id,AVG(s_performance) FROM tab_student GROUP BY g_id;
-- 查询出每个班级的学生人数
select c_id as '年级',count(c_id) from tab_student GROUP BY c_id
select g_id,count(g_id) from tab_student GROUP BY g_id
-- 每个班中学生最小年龄,并结果按照升序排列
select c_id,min(s_age) from tab_student GROUP BY c_id ORDER BY s_age
update from tab_student set s_name='bai' where s_id=18
select *from tab_student
#多列分组查询
-- 统计每个班级的男女生人数
select c_id,count(s_sex),s_sex from tab_student GROUP BY c_id,s_sex
#Having子句-分组查询的条件筛选
-- 查询年级超过超过2个学生,每个年级年龄最小的学生
select g_id,min(s_age),s_name,count(g_id) from tab_student GROUP BY g_id having count(g_id)>2 ORDER BY MIN(s_age)
-- 查询每个年级考试及格总人数和及格平均分,并显示及格平均分在95分以上的年级记录
select g_id,avg(s_performance),count(*) from tab_student
where s_performance>=60 GROUP BY g_id HAVING avg(s_performance)>95
--------------------多表查询----------------------------
select *from tab_student
#连接查询
-- 1.隐示内连接
-- 查询出每个学生的姓名,年龄,性别和所在班级名称
-- 语法:SELECT * FROM A,B WHERE 条件
select s.s_id,s.s_name,s.s_age,s.s_sex,c.c_name from tab_student s,tab_class c where s.c_id=c.c_id
-- 2.显示内连接
-- 语法:SELECT * FROM A INNER JOIN B ON 条件
select s.s_id,s.s_name,s.s_age,s.s_sex,c.c_name from tab_student s INNER JOIN tab_class c on s.c_id=c.c_id
#外连接
-- 1.左外连接
-- 查询出所有学生的姓名和考试成绩,包括没有参加考试的学生
-- 语法:SELECT * FROM A LEFT OUTER JOIN B ON 条件;
select * from tab_student s LEFT JOIN tab_class c on s.c_id=c.c_id
-- 2.右外连接
-- 语法:SELECT * FROM A RIGHT OUTER JOIN B ON 条件;
select * from tab_student s RIGHT JOIN tab_class c on s.c_id=c.c_id
#交叉连接(笛卡尔:得到的查询结果是两张表的笛卡尔积,也就是用A表中的每条数据都去匹配B表中的所有数据)
-- 语法:SELECT * FROM A,B;
select *from tab_student,tab_class;
#自连接(表与其自身进行连接,在自连接时必须要给表取别名)
--语法:
select s.id, s.productname, p.productname from product s join product p on s.parent_id = p.id;
相关推荐
Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现
本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。
Mysql高级:函数
mysql可以自定义函数,并使用自定义的函数进行数据处理,唯一比较麻烦的就是函数定义后不能修改,只能删了重新写。
大疆航线文件解析指南:5分钟搞懂KMZ里的template.kml和waylines.wpml区别
本文深入解析大疆无人机航线文件KMZ中template.kml与waylines.wpml的核心区别。template.kml是定义任务框架和全局参数的可编辑模板,而waylines.wpml是包含精确执行指令的最终文件。理解两者差异对于高效规划航线、批量生成任务及进行二次开发至关重要。
MySQL查询中常用的函数
MySQL常用函数
【科研学习】Demo3D2015安装包以及图文安装步骤
安装包 点击下图的.exe文件,安装 不需要解压,打开注册机 如下图: 点击上图的.exe文件,出现下图 先点击 patch 打开安装目录下的Demo3D.licensing.dll文件,然后点击Generate,生成dvt-license文件,保存即可 打开安装完成的Demo3D 2015(64-bit),一般破解没完成的,会出现一个request a license 的问题,点击find license 的那一行 点击后找到自己Generate,生成dvt
微信小程序订阅消息实战:如何绕过长期订阅限制实现多次发送(附PHP代码)
本文针对微信小程序开发者无法获取长期订阅消息权限的痛点,提供了一套完整的实战解决方案。通过深入剖析一次性订阅与长期订阅的规则差异,结合巧妙的交互设计、稳健的PHP服务端发送引擎(含高并发处理与失败重试机制)以及授权池管理等高级策略,帮助开发者在合规前提下,构建高可用的消息推送系统,有效提升通知触达率与用户体验。
MySQL常用函数大全(实例演示)
【代码】MySQL常用函数大全(实例演示)
微信开发 - 最新第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试
redirect_uri参数错误,微信第三方登录,没有服务器时的测试方法,微信开放平台的回调域名怎么设置为本地域名IP,微信登录微信支付每次调试都需要放到服务器上怎么办,微信登录支付业务在本地调试不了怎么办,在本地怎么测试微信支付和登录,微信第三方登陆本地测试,怎么在本地进行测试,微信回调域怎么设置为本地IP,微信扫码登录redirect_uri参数错误,微信开放平台,微信开放平台开发的第三方登录和支付,vue2,nuxt2,vue3,nuxt3,uniapp,微信开放平台,公众号,微信支付,微信登录授权,
MySQL 高级函数
MySQL高级函数IFNULL(v1,v2)用于判断一个表达式的值是否为NULL,如果MySQL高级函数IFNULL(v1,v2)用于判断一个表达式的值是否为NULL,如果为NULL则返回另一个表达式的值,否则返回第一个表达式的值。否则返回第一个表达式的值。这将返回一个结果集,其中包含每个员工的id、name和age,以及一个名为row_number的列,该列包含根据年龄排序后的唯一数字。这个示例中,我们使用IF()函数来判断1是否大于0,如果为真则返回’True’,否则返回’False’。
【测开求职】面试题:数据结构 吐血整理
本篇文章是笔者为准备研究生复试以及校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍数据结构的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他近30篇文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。
【Android面试八股文】Android Application为什么是单例?
这道题相对简单,就是考察大家是否了解application的创建流程。的实例,它用来存储和处理整个全局变量的一些事情,它同时还是一个。为空的时候,才会创建,从而保证了它是一个单例对象。一样有自己的生命周期,但是它并没有那么复杂,因为。对象的创建过程,找出它为什么是单例的原因。全局进行一些配置,比如配置插件。的时候才会创建,所以说可以在。凭什么是单例,我们查看下。启动的时候都会创建一个。是怎么一步步创建的。是一个单例,即每一个。
mysql: 常用函数总结以及高级函数用法
rand() 随机 select rand();
YOLOv11改进 | 主干/Backbone篇 | 利用目标检测轻量化网络MobileNetV2替换Backbone(yolov11系列全系轻量化)
本文给大家带来的改进机制是,其是专为移动和嵌入式视觉应用设计的轻量化网络结构。其在MobilNetV1的基础上采用反转残差结构和线性瓶颈层。这种结构通过轻量级的深度卷积和线性卷积过滤特征,同时去除狭窄层中的非线性,以维持表征能力。MobileNetV2在性能上和精度上都要比V1版本强很多,其在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中都展现了一定的有效性。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、MobileNetV2的框架原理。
MySQL常用查询语句(基础查询、函数使用、高级查询)
MySQL 的查询语句(通常称为 SQL 查询)是数据库操作中非常重要的一部分。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
MySQL8创建测试数据,日常练习07【MySQL8查询总结2】
掌握这些要点可应对90%的MySQL 8查询场景,建议结合。和性能测试工具实践优化。LIKE '%前缀'
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
MySQL 数据库 之 高级 SQL 语句(常用查询,正则表达式,运算符,库函数,存储过程)
在对 MySQL 数据库的增、删、改、查操作有一定了解之后,就可以学习一些 SQL 语句的高级使用方法,下面咱们一起来研究吧!
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
mysql怎么查有哪些函数_MySQL高级查询函数有哪些
MySQL高级查询函数:1、字符串函数;2、数字函数,【CEIL(x)】返回不小于X 的最小整数值;3、日期函数,【DATE_ADD/DATE_SUB】等等。MySQL高级查询函数:函数的分类:1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单...
一些关于 MySQL 的基本语法和常用功能的介绍
MySQL。如果是这样,这里有一些关于 MySQL 的基本语法和常用功能的介绍。
MySQL 入门笔记
包含几乎所有会用到的SQL语法以及实例
MySQL基础与高级查询:深入学习SQL语言的基本语法、常用查询命令、联接查询、子查询等技术
掌握MySQL的基础与高级查询技术,能够帮助你高效地从数据库中获取所需数据。在编写SQL查询时,除了要熟练使用基本语法,还要理解如何通过联接查询和子查询进行复杂的数据操作。同时,优化查询语句的性能是开发中不可忽视的一部分,通过索引、减少数据量、避免不必要的函数操作等措施,可以大幅提升查询效率。通过不断实践这些查询技巧,你将能在实际项目中编写出既高效又易维护的SQL查询,满足业务需求并提高开发效率。希望这篇文章对你深入学习MySQL查询有所帮助,欢迎在评论区分享你的SQL经验和问题,咱们一起讨论和进步!
mysql function 输出语句_mysql常用语句即函数
mysql数据库,常用查询语句大全下文记录了SQL常用DQL语句; 基础查询,条件查询,模糊查询,排序查询,聚合函数,去重,分页查询,限制输出,多表查询…基本语法:增:添加数据:inset into 表名 (列名1,列名2,...)values(值1,值2,...)添加列:alter table 表名 add 列名 数据类型(长度);删:delete from 表名删除列:alter table ...
MySQL函数大全(持续更新)
持续更新MySQL的常用和高阶函数。
MySQL查询select常用函数
MySQL查询select常用函数统计count计数sum求和条件判断if多条件表达式ifnull:转换null为0coalesce:转换null为0case when 多结果情况判断时间处理时间格式转换时间修改数据类型处理cast参数类型转换字符串substring/substr字符串片段截取 统计 count计数 count(字段名) --计算查询结果中该字段的总条目数 count(条件表达式) --计算查询结果中符合该条件的条目数 sum求和 sum(字段名) --计算查询结果中该字段
MySQL数据库基础——高级查询2、为表和字段取别名
MySQL数据库基础入门——day09 高级查询 一、使用LIMIT限制查询结果的数量: MySQL数据库中提供LIMIK关键字,可以指定查询结果从哪一条记录开始以及一共查询多少条信息。其语法格式如下: SELECT 字段名1,字段名2,... FROM 表名 LIMIK [OFFSET,] 记录数; 在上述语法格式中,LIMIK关键字有两个参数,第一个是“OFFSET”关键字表示偏移量,如果偏移量为0则表示从查询结果的第一条记录开始,偏移量为1则表示从查询结果的第二条记录开始,以此类推,不指定则为默认值
mysql高级用法常用函数
select *order by field(actors, '成龙', '靳东', '刘亦菲', '范冰冰');// 字段中存在null值select *(coalesce(actors,'null'),'成龙', '靳东', '刘亦菲', '范冰冰','null')
MySQL常用的时间函数
MySQL常用的时间函数常用时间函数其他常用的函数group查询最常用的SQLjoin查询case when 原文来自JAVA团长的公众号,觉得值得收藏,故在这里做了笔记。 常用时间函数 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 7天 SELECT * FROM 表名 where DATE_SU...
413



被折叠的 条评论
为什么被折叠?



