MySQL数据操作

【MySQL】数据操作 一、INSERT1、介绍2、语法3、语法介绍4、注意事项5、示例二、插入否则更新1、介绍2、语法3、语法介绍4、示例三、ROW_COUNT1、介绍2、示例四、REPLACE1、介绍2、语法3、示例五、UPDATE1、介绍2、语法3、示例六、DELETE1、介绍2、语法3、语法介绍七、TRUNCATE1、介绍2、语法3、注意事项4、与DELETE的比较 阅读详情

MySQL数据操作

添加记录

insert[ into] tb_name[(col_name1,col_name2···)] values
(row1_value1,row1_value2,···)[,
(row2_value1,row2_value2,···),
···
];
-- 使用set添加单条记录
insert tb_name set col_name1=value1,col_name2=value2,···;
-- 添加查询结果
insert tb_name[(col_name1,col_name2,···)]
select other_col_name1,other_col_name2,···
from other_tb_name
[ where conditions];

删除数据

delete from tb_name[ where conditions];
-- 重置数据表
truncate[ table] tb_name;

修改记录

update tb_name set col_name1=value1,clo_name2=value2,···
[ where conditions];

查询记录

select select_expr1,select_expr2,··· from tb_name
[where conditions]
[group by {col_name|position} having other_conditions]
[order by{col_name|position|expr} [asc|desc]]
[limit num];
-- 设置别名
select col_name1 [as] alias1,col_name2 [as] alias2,··· from tb_name [as] tb_alias;
-- 过滤重复数据
select distinct(col_name) from tb_name;

WHERE条件

条件名称详细信息
比较运算符>、<、=、>=、<=、<=>、!=、<>
指定范围[not] between ··· and ···
指定集合[not] in(value1,value2,···)
逻辑运算符and(与),or(或)
匹配字符[not] like ···(模糊查询)

聚合函数

聚合函数信息
count()统计记录数
sum()求和
max()求最大值
min()求最小值
avg()求平均值

GROUP BY 分组

-- 分组查询使用group_concat()显示详细信息
select group_concat(col_name1),group_concat(col_name2),··· from tb_name
group by a_col_name;
-- 统计分组中记录的总数
select col_name,count(*) from tb_name group by col_name;
-- 根据字段位置进行分组
select * from tb_name group by col_num;
-- 使用having子句对分组查询结果二次筛选
select col_name,count(*) [as] count from tb_name 
group by col_name having count_expr;

ORDER BY 排序

-- 将查询结果按照字段依次排序
select * from tb_name 
group by col_name1 asc,col_name2 desc,···;
-- 随机排序
select * from tb_name group by rand();

LIMIT 限制结果条数

-- 从offset开始显示row_count条数据
select * from tb_name limit offset row_count;

连接查询

-- 笛卡尔积查询
select * from tb1_name tb2_name; 
-- 内连接查询
select * from tb1_name 
[inner] join tb2_name on conditions1   
[[inner] join tb3_name on conditions2]
···;
-- 外连接查询
select * from tb1_name {left|right} [outer] join tb2_name
on conditions;

外键约束

-- 建表时创建外键
create table tb_name(
col_name col_type,
···
[constraint fk_name] foreign key (col_name) reference mian_tb_name(key_col_name) on {cascade|set null|restrict}
);
-- 删除外键
alter table tb_name drop foreign key fk_name;
-- 动态添加外键
alter table tb_name add [constraint fk_name] foreign key col_name reference mian_tb_name(key_col_name) on {cascade|set null|restrict};

外键约束参照

名称详情
cascade级联:当父表删除或更新时,子表也会删除和更新
set null当父表删除和更新时,子表的外键列置为null
no action|restrict(默认)当字表中有关联数据时,拒绝父表的更新和删除数据

子查询语句

-- 由比较运算符引发的子查询
select * from tb1_name where col_name {>|>=|<|<=|=|<=>|!=|<>} {any|some|all} (select col_name from tb2_name where conditions);
-- 由in引发的子查询
select * from tb1_name where col_name [not] in(select col_name from tb2_name where conditions);
-- 由exists引发的子查询
select * from tb1_name where exists(select * from tb2_name where conditions);
-- 用查询结果创建表
create table tb_name(col_name col_type,···)select col_name,··· from other_tb_name;
-- 将查询结果插入其它表
insert tb_name(col_name,···) select col_name,··· from other_tb_name;

子查询中的ANY、SOME和ALL

 ANYSOMEALL
>、>=最小值最小值最大值
<、<=最大值最大值最小值
=任意值
<>、!=任意值

联合查询

select * from tb1_name {union|union all} select * from tb2_name ···

自身连接查询

select s.* from tb_name as s left join tb_name as p on s.col1_name=p.col2_name;

数学函数

名称信息
ceil()进一位取整
floor()舍掉小数部分
round()四舍五入
truncate()截取小数后几位
mod()取余数
abs()取绝对值
power()幂运算
pi()圆周率
rand(x)0~1之间随机数
sign(x)得到数字的符号
exp(x)计算e的x次方
-- ceil
select ceil(1.2);
-- floor
select floor(1.3);
-- round
select round(1.5);
-- truncate
select truncate(1.234,2);
-- mod
select mod(5,3);
select 5 mod 3;
-- abs
select abs(-3);
-- power
select pow(3,2);
select power(3,2);
-- pi
select pi();
-- rand
select rand(5);
-- sign
select sign(-2);
-- exp
select exp(3);

字符串函数

名称信息
char_length(s)得到字符串的字符数
lenght(s)得到字符串的长度
concat(s1,s2,s3,...)合并多个字符串
concat_ws(c,s1,s2,s3,...)以指定的分隔符c拼接字符串
upper(s)|ucase(s)将字符串转换为大写
lower(s)|lcase(s)将字符串转换为小写
reverse(s)字符串反转
left(s,n)|right(s,n)得到字符串前|后几个字符
lpad(s,n,c)|rpad(s,n,c)用字符c填充字符串s到指定长度n
trim(s)|ltrim(s)|rtrim(s)去掉字符串两|左|右端的空格
repeat(s,n)将字符串s重复n次
replace(s,s1,s2)将s中的s1替换成s2
substring(s,x,n)从x开始截取字符串s的n位
strcmp(s1,s2)比较两个字符串的大小(字典序)
-- char_length
select char_length('你好');
-- length
select length('你好');
-- concat
select concat('he','ll','o');
-- concat_ws
select concat_ws('-','who','are','we');
-- upper|ucase
select upper('hello'),ucase('world');
-- lower|lcase
select lower('HELLO'),lcase('WORLD');
-- reverse
select reverse('reverse');
-- left|right
select left('helloworld',5),right('helloworld',5);
-- lpad|rpad
select lpad('why',5,'!'),rpad('why',6,'?');
-- trim|ltrim|rtrim
select trim('  hello  '),ltrim('  hello  '),rtrim('  hello  ');
-- repeat
select repeat('ha',3);
-- replace
select replace('hello world !','world','china');
-- substring
select substring('iloveyou',2,4);
-- strcmp
select strcmp('love','peace');

日期时间函数

名称信息
curdate()|current_date()反回当前日期
curtime()|current_time()返回当前时间
now()|current_timestamp()|sysdate()返回当前的日期时间
month(date)|monthname(date)返回日期中的月份|月份名称
dayname(date)返回星期几
dayofweek(date)返回一周中的第几天
week(date)返回一年中的第几个星期
year(date)返回是哪一年
day(date)返回一个月中的第几天
hour(time)|minute(time)|second(time)返回时|分|秒
datediff(date1,date2)返回两个日期中相差的天数
-- curdate|current_date
select curdate(),current_date();
-- curtime|current_time
select curtime(),current_time();
-- now|current_timestamp|sysdate
select now(),current_timestamp(),sysdate();
-- month|monthname
select month('1997-02-07'),month(curdate()),monthname(current_date());
-- dayname
select dayname(now());
-- dayofweek
select dayofweek(now());
-- week
select week(now());
-- year
select year(now());
-- day
select day(now());
-- hour|minute|second
select hour(now()),minute(now()),second(now());
-- datediff
select datediff(now(),'1997-02-07');

其他常用函数

名称信息
version()版本信息
connection_id()当前连接id
database()\|schema()当前数据库名
user()|current_user()|system_user()|session_user()当前用户名
last_insert_id()最后一次插入操作产生的auto_increment的值
md5()返回32位的md5码
password()默认密码加密算法

注意事项

当插入数据不指定字段名时按照表中字段的顺序依次插入
更新数据表时如果不添加条件,整个表中的数据都会被更新
delete删除数据表如不添加条件,表中所有数据都会被删除
delete删除数据不会改变auto_increment,可以用alter table tb_name auto_increment=num;将其设置为num的值
truncate会清除表中所有信息,并重置auto_increment
可以使用db_name.tb_name的形式查询指定数据库下的数据表,而不用先打开数据表
可以使用tb_name.col_name查询特定表下的字段
等号<=>可以检测null而=则不可以
可以使用is [not] null检测是否为空或非空
between后面的值应当小于and的值,且between ··· and ···包含边界值
like匹配的字符有两种:%代表任意长度字符串,_代表任意单个字符
group by把值相同的放到一个组中,最终查询结果指挥显示组中的一条记录
count(col_name)不统计null,count(*)会统计null
可以在查询语句的最后加上with rollup,会在记录末尾添加一条记录,是上面所有记录的总和
排序有两种asc(升序)和desc(降序),默认asc
使用limit时,offset从0开始,当未设置offset时,默认为0
内连接查询两表中共同存在的数据
左外连接查询以左表为主,查询右表中对应的数据,不存在则为null,右外连接则相反
只有innodb支持外键,外键必须关联主表的主键
子表的外键字段,和主表的主键字段为数值型,要求类型一致,有无符号也要一致,字符型,要求类型相同,长度可以不同
外键字段没有索引,会自动创建
动态添加外键前表中的数据必须合法
外键必须关联主表的主键
union会自动删除两个表中重复的数据,union all则不会
rand(x)中的x为标识,相同的标识产生相同的随机数,也可不设标识,每次产生不同的随机数
使用length()时utf-8下一个中文字符的长度为3
concat()和concat_ws()拼接的字符串中如果含有null则拼接的结果为null
strcmp(s1,s2)当s1>s2返回1,s1<s2返回-1,s1=s2返回0
星期天是一周的第1天,依次类推,星期六是第7天
datediff是第一个日期减去第二个日期

MySQL视图数据操作 1.添加数据 使用insert语句实现通过视图向基本表添加数据: #创建视图 Create View view_category As Select id,name From sh_goods_category; #添加数据 Insert Into view_category Values(17,"图书"); #查询添加后的数据 Select id,name From sh_goods_category Where id=17; 2.修改数据 使用update语句通过视图修改基本表中的数据: #修改数 阅读详情

相关推荐

MySQL-数据操作

数据操作

Xiaowu2048的博客 140

MySQL — 数据操作CURD

MySQL数据操作的核心CURD包含增删改查四大功能。INSERT语句用于新增数据,通过指定表名和字段值插入单条记录,支持批量插入和多值语法提升效率,自动递增主键可简化操作。SELECT实现数据查询,通过字段筛选、WHERE条件过滤、ORDER BY排序和LIMIT分页控制结果集,JOIN关联多表查询,聚合函数配合GROUP BY完成统计计算。UPDATE通过SET子句修改指定字段值,WHERE条件精确锁定待更新行,避免全表误改,结合事务可保证数据一致性。

2403_89893216的博客 3172

使用MySQL进行数据操作

本文将介绍如何使用MySQL进行数据操作,包括创建数据库、创建表格、插入数据、查询数据和更新数据。上述示例创建了一个名为"customers"的表格,该表格包含了id、name和email三个列。从创建数据库和表格,到插入、查询和更新数据,这些操作可以帮助您有效地管理和操作MySQL数据库。上述示例将返回"customers"表格中的所有数据。上述示例向"customers"表格中插入了一条数据,包括name和email两列的值。上述示例将更新id为1的记录的email列的值。

ZaxfSass的博客 57

MySQL高级数据操作

MySQL是一个广泛使用的关系数据库管理系统。在这篇博客中,我们将探讨MySQL的高级数据操作功能。我们将讨论视图的创建和使用,存储过程和函数,触发器的设计和应用,事件调度器的使用,以及用户定义变量和临时表。每个主题都将包括代码示例,以帮助读者更好地理解和应用这些高级功能。MySQL支持用户定义变量,这些变量存储在用户会话中,并在会话结束时销毁。用户定义变量可以存储一个值,这个值可以在SQL语句中使用。临时表是一种特殊类型的表,只在当前会话中存在,当会话结束时,临时表将被自动删除。

Hhzzy99的博客 3195

FoundationPose 4090部署 真实场景迁移

复现并应用foundationpose

m0_52835296的博客 613

【Android】条形码/二维码扫描——ZXing源码分析

正在更新中 针对3.2.1版本源码 与其他版本代码可能会有出入,但核心思想基本不变。 首先从com.google.zxing.client.android包中的目录结构分析:Book:这个文件夹中有5个类: BrowseBookListener 实现了adapter的点击事项响应,通过获取ISBN,然后跳转到Google books中查询响应的详细信息。 SearchBookContents

年轻的学徒 2453

mysql数据操作_mysql之数据操作

一 介绍MySQL数据操作: DML在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入UPDATE实现数据的更新使用DELETE实现数据的删除使用SELECT查询数据以及。本节内容包括:插入数据更新数据删除数据查询数据二 插入数据INSERT1. 插入完整数据(顺序插入)语法一:INSERT INTO 表名(字段1,字段2,字段3…字段n)...

weixin_36341500的博客 89

Windows11 升级到24H2后,原本的protel99se软件的DDB图纸文件打不开解决办法

Windows11更新后无法打开DDB文件

xingchen2837的博客 414

mysql数据操作_MySQL-数据操作

阅读目录一 介绍MySQL数据操作: DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入UPDATE实现数据的更新使用DELETE实现数据的删除使用SELECT查询数据以及。=========================...

weixin_29230649的博客 190

YOLOv8+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程

双向特征金字塔网络(BiFPN)是一种强化多尺度特征融合支持“自顶向下+自底向上”的双向特征流动,同时保留不同尺度的细节信息;引入加权融合机制,自动学习不同特征的重要性权重;裁剪冗余节点,在轻量化的同时提升融合效率。

m0_64661770的博客 492

【100%通过率】华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】

2023华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位

MISAYAONE的博客 586

六、MySQL数据操作及常用函数

目录 1.MySQL数据操作 1.1添加记录 1.2修改记录 1.3删除记录 1.4查询记录 1.5多表查询 1.6外键约束 1.7特殊形式的查询 2.MYSQL常用函数 1.MySQL数据操作 1.1添加记录 格式:INSERT [INTO] tbl_name[(col_name,...)] {VALUE|VALUES}(VALUES...); 不指定字段名称 INS...

每天多努力一点 275

倍福EL6002实现RS232自由口通信,以称重模块RS232数据接收为例

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。最早的台式电脑都会保留9针的232接口,用于串口通信,目前基本被USB接口取代。CTS是对请求发送RTS信号的响应,当DCE已经准备好接收数据时,该信号有效(ON),通知DTE可用使用TXD发送数据了。弄完了,再将CTS设置为1,让A发数据。

weixin_41883890的博客 1724

MySQL 基本数据操作

在 MySQL 中,数据操作是数据库管理和应用开发的核心部分。通过掌握插入、更新、删除和查询数据的基本操作,您可以有效地管理数据库中的信息。本文将详细介绍 MySQL 的基本数据操作,包括插入数据(INSERT)、更新数据(UPDATE)、删除数据(DELETE)和查询数据(SELECT)。无论您是数据库管理员还是开发人员,这些操作都是您日常工作中必须掌握的技能。

yimeixiaolangzai的博客 760

python中使用squarify包可视化treemap图:为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小、添加数值数值标签、自定义设置边框的色彩

python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形自定义设置每一个数据格的颜色、添加数值数值标签、自定义设置边框的色彩、自定义设置边框线条的粗细、为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小

data+scenario+science+insight 1061

Windows下Anaconda和PyTorch深度学习环境完整安装配置教程

本文详细介绍了在Windows系统下安装配置PyTorch深度学习环境的完整流程。主要内容包括:硬件环境检查(确认GPU支持)、Anaconda环境管理系统的安装与配置、虚拟环境的创建与管理方法、以及PyTorch及其相关组件的安装指南。特别强调了版本兼容性选择策略(如CUDA版本的确定)、显卡驱动更新、使用Anaconda创建隔离的PyTorch专用环境等关键步骤。无论是使用CPU还是GPU版本,读者都能按照教程快速搭建稳定的PyTorch开发环境,为深度学习项目打下坚实基础。

FJN110的博客 973

mysql数据操作语句

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。mysql数据操作语句在我操作数据库里的数据时我们有三种数据操作语句,分别是INSERT,DELETE,UPDATE。INSERT语句如下:INSERT INTO 表名(列,列) VALUES(值,值);加入多行值可以写成:INSERT INTO 表名(列,列)

l4432321的博客 298

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL之json数据操作

当然了,5.7的版本只是最基础的版本,对于海量数据的效率是远远不够的,不过这些都在mysql8.0解决了。写到这里大家都发现了,我们查询的json都是整条json数据,这样看起来不是很方便,那么如果我们只想看json中的某个字段怎么办?事例:比如我们想针对id=2的数据新增一组:newData:新增的数据,修改deptName为新增的部门1。如果我们再执行以下刚才的那个sql,只是换了value,我们会看到里面的key值不会发生变化。如果我们要更新id=2数据中newData2的值为:更新的数据2。

LiZhen314的博客 3302

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

MySQL入门:数据操作CURD

本文主要介绍的是在MySQL中关于数据操作CURD有关的知识点内容

2501_90297049的博客 1215

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Mysql 之 数据操作

阅读目录 一:介绍 二:插入数据 insert 三:更新操作 update 四:删除操作 delete 五:查询操作 select 一:介绍 ...

weixin_30699465的博客 86

MySql数据操作

MySql数据操作 插入记录 INSERT [INTO] tb_name(col_name,...) {VALUE|VALUES}(VALUES...); VALUE和VALUES的执行效率是一样的 不指定字段名称 INSERT tb_name VALUE(value); 按照建表时的顺序给每一条记录赋值 列出指定字段...

测试 284

MySQL 数据操作

MySQL 数据操作 增,删,改 在实际操作之前,我们可以先创建一个数据库,在创建一个表,便于查看操作的结果 创建数据库:students create database students; 创建表student create table student( id int primary key auto_increment, name varchar(10) not null, sex char(...

weixin_43353748的博客 278

【数据库】数据操作语言DML MySQL函数介绍

窗口函数用于在查询结果中计算基于某个窗口的值,而不会对结果集进行分组。”可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致。这些函数用于对一组值执行计算,并返回一个单一的值。这些函数用于对单个值进行计算,并返回一个单一的值。( 数据操作语言 ) 用于操作数据库对象中所包含的数据。:都能删除数据、不删除表结构,但 TRUNCATE 速度更快。这些函数用于处理日期和时间数据。这些函数用于获取数据库系统信息。这些函数用于处理字符串数据。这些函数用于执行数学计算。子句用于从表中筛选出满足特定条件的记录。

m0_66584716的博客 1214

SpringBoot+Hibernate+MySQL实现数据操作

待定

一杯清泉 1689
上一篇: MySQL基础之数据类型与表的管理
下一篇: JDBC简单增、删、改、查案例(基于MySQL8.0)
ZX9727
博客等级 码龄9年 0粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值