MySQL数据库——基本查询(Create)
CRUD:Create(创建)Retrieve(读取)Update(更新)Delete(删除)
1.Create
①单行数据+全列插入
insert [into] table_name [(colume[,colume]……)] values (value_list) [,(value_list)]……
value_list:value,[,value]……
mysql> create table stud(-> id int unsigned primary key auto_increment,-> sn int unsigned unique key,-> name varchar(20) not null,-> qq varchar(32) unique key-> );
Query OK, 0 rows affected (0.02 sec)mysql> desc stud;
+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| sn | int(10) unsigned | YES | UNI | NULL | |
| name | varchar(20) | NO | | NULL | |
| qq | varchar(32) | YES | UNI | NULL | |
+-------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)-- id自增,可以忽略不写
mysql> insert into stud (sn,name,qq) values (123,'张飞','1234');
Query OK, 1 row affected (0.00 sec)mysql> select* from stud;
+----+------+--------+------+
| id | sn | name | qq |
+----+------+--------+------+
| 1 | 123 | 张飞 | 1234 |
+----+------+--------+------+
1 row in set (0.00 sec)-- 也可以不指定列进行全列插入
mysql> insert into stud values (10,124,'关羽','1236');
Query OK, 1 row affected (0.00 sec)mysql> select* from stud;
+----+------+--------+------+
| id | sn | name | qq |
+----+------+--------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 124 | 关羽 | 1236 |
+----+------+--------+------+
2 rows in set (0.00 sec)-- 也可以省略into
mysql> insert stud values (11,125,'刘备','1238');
Query OK, 1 row affected (0.01 sec)mysql> select* from stud;
+----+------+--------+------+
| id | sn | name | qq |
+----+------+--------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 124 | 关羽 | 1236 |
| 11 | 125 | 刘备 | 1238 |
+----+------+--------+------+
3 rows in set (0.00 sec)
②多行数据+指定列插入
-- 多行插入
mysql> insert stud values (12,126,'曹操','1231'),(13,127,'许攸','1233');
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select* from stud;
+----+------+--------+------+
| id | sn | name | qq |
+----+------+--------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 124 | 关羽 | 1236 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
+----+------+--------+------+
5 rows in set (0.00 sec)-- 指定列进行多行插入
mysql> insert stud (sn,name,qq) values (128,'孙权','1235'),(129,'诸葛亮','1232');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select* from stud;
+----+------+-----------+------+
| id | sn | name | qq |
+----+------+-----------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 124 | 关羽 | 1236 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
| 14 | 128 | 孙权 | 1235 |
| 15 | 129 | 诸葛亮 | 1232 |
+----+------+-----------+------+
7 rows in set (0.00 sec)
③插入否则更新
如果由于主键或者唯一键对应的值已经存在而导致插入失败,可以选择进行同步更新操作,即将原数据不一样的值替换为自己要改的
mysql> insert [into] stud values (10,130,'lvbu','4321')
on duplicate key update sn=130,name='lvbu',qq='4321';
-- 主键冲突
mysql> insert stud values (10,130,'lvbu','4321');
ERROR 1062 (23000): Duplicate entry '10' for key 'PRIMARY'
-- 唯一键冲突
mysql> insert stud values (16,124,'lvbu','4321');
ERROR 1062 (23000): Duplicate entry '124' for key 'sn'
-- 更新
mysql> insert stud values (10,130,'lvbu','4321') on duplicate key update sn=130,name='lvbu',qq='4321';
Query OK, 2 rows affected (0.00 sec)mysql> select * from stud;
+----+------+-----------+------+
| id | sn | name | qq |
+----+------+-----------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 130 | lvbu | 4321 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
| 14 | 128 | 孙权 | 1235 |
| 15 | 129 | 诸葛亮 | 1232 |
+----+------+-----------+------+
7 rows in set (0.00 sec)
影响的数据行数
-- 此时表中没有数据,直接插入,qq=1111,影响一行数据
mysql> insert stud values (16,131,'貂蝉','1111') on duplicate key update sn=131,name='貂蝉',qq='1122';
Query OK, 1 row affected (0.00 sec)-- 此时表中已有id=16,数据冲突,所以更新,数据qq变为1122,影响两行数据
mysql> insert stud values (16,131,'貂蝉','1111') on duplicate key update sn=131,name='貂蝉',qq='1122';
Query OK, 2 rows affected (0.00 sec)-- 此时表中有冲突数据,但冲突数据的值和 update 的值相等,不影响数据
mysql> insert stud values (16,131,'貂蝉','1111') on duplicate key update sn=131,name='貂蝉',qq='1122';
Query OK, 0 rows affected (0.00 sec)mysql> select * from stud;
+----+------+-----------+------+
| id | sn | name | qq |
+----+------+-----------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 130 | lvbu | 4321 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
| 14 | 128 | 孙权 | 1235 |
| 15 | 129 | 诸葛亮 | 1232 |
| 16 | 131 | 貂蝉 | 1122 |
+----+------+-----------+------+
8 rows in set (0.00 sec)
④替换
把insert换成replace
-- 插入新数据
mysql> replace into stud (sn,name,qq) values (140,'许攸','4322');
Query OK, 1 row affected (0.00 sec)mysql> select * from stud;
+----+------+-----------+------+
| id | sn | name | qq |
+----+------+-----------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 130 | lvbu | 4321 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
| 14 | 128 | 孙权 | 1235 |
| 15 | 129 | 诸葛亮 | 1232 |
| 16 | 131 | 貂蝉 | 1122 |
| 17 | 140 | 许攸 | 4322 |
+----+------+-----------+------+
9 rows in set (0.00 sec)-- 插入不能重复的数据
mysql> replace into stud (sn,name,qq) values (140,'许攸1','4322');
Query OK, 2 rows affected (0.01 sec)-- id会继续增,这里其实相当于继续添加一行然后删除原来的数据
mysql> select * from stud;
+----+------+-----------+------+
| id | sn | name | qq |
+----+------+-----------+------+
| 1 | 123 | 张飞 | 1234 |
| 10 | 130 | lvbu | 4321 |
| 11 | 125 | 刘备 | 1238 |
| 12 | 126 | 曹操 | 1231 |
| 13 | 127 | 许攸 | 1233 |
| 14 | 128 | 孙权 | 1235 |
| 15 | 129 | 诸葛亮 | 1232 |
| 16 | 131 | 貂蝉 | 1122 |
| 18 | 140 | 许攸1 | 4322 |
+----+------+-----------+------+
9 rows in set (0.00 sec)-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,删除后重新插入
相关文章:
MySQL数据库——基本查询(Create)
CRUD:Create(创建)Retrieve(读取)Update(更新)Delete(删除) 1.Create ①单行数据全列插入 insert [into] table_name [(colume[,colume]……)] values (value_list) […...
spring-security-1-快速入门
1 功能 身份认证(authentication)授权(authorization)防御常见攻击 身份认证:常见账号密码登录,短信登录 授权:什么样的角色,能看见什么菜单,能访问哪些接口。 2 pom <dependency><groupId>org.springf…...
5 大场景上手通义灵码企业知识库 RAG
大家好,我是通义灵码,你的智能编程助手!最近我又升级啦,智能问答功能全面升级至 Qwen2,新版本在各个方面的性能和准确性都得到了显著提升。此外,行间代码补全效果也全面优化,多种编程语言生成性…...
免费远程控制电脑的软件有哪些?
什么是远程控制? 远程控制是一种通过网络从一台设备操作另一台设备的技术。连接后,用户可以直接远程操作那台电脑进行各种操作。随着科技的不断进步和用户需求的增加,远程控制市场日益蓬勃。远程控制不仅应用于远程办公和远程教学࿰…...
Linux软件包yum
目录 Linux软件包管理器 yum关于rzsz注意事项查看软件包如何安装软件卸载命令 Linux开发工具Linux编辑器-vim使用1. vim的基本概念2. vim的基本操作3. vim正常模式命令集4. vim末行模式命令集5. vim操作总结 小彩蛋 Linux软件包管理器 yum 软件包 在Linux下安装软件ÿ…...
网页的切换与嵌套
网页的切换与嵌套 网页的切换 在浏览器窗口中如果点击超链接标签会在当前的浏览器窗口中显示新的数据,但有些超链接标签点击后却会在一个新的窗口显示数据,这种情况下就无法对新的开的窗口页面进行操作了。 基于这种情况,我们就需要使用dri…...
基于飞桨框架的稀疏计算使用指南
本文作者-是 Yu 欸,华科在读博士生,定期记录并分享所学知识,博客关注者5w。本文将详细介绍如何在 PaddlePaddle 中利用稀疏计算应用稀疏 ResNet,涵盖稀疏数据格式的础知识、如何创建和操作稀疏张量,以及如何开发和训练…...
启明云端WT32C3-S6物联网模块,乐鑫ESP32-C3芯片技术应用
随着物联网技术的飞速发展,智能设备在我们生活中的应用越来越广泛。从智能电网到远程医疗,从楼宇自动化到智能家居,这些技术正在改变我们的生活方式。 在这样的背景下,启明云端推出的WT32C3-S6 WiFi模块以其低功耗、高性价比的特…...
超越流水线,企业研发规范落地新思路
作者:子丑 内容大纲: 1、研发规范≠流程约束 2、自动化工具→研发规范载体 3、研发规范在工具上的落地示例 4、研发规范的选型方法与常见实践 研发规范≠流程约束 这个故事特别适合研发规范的场景,我们要避免成为把猫绑在柱子上的信众…...
财务会计与管理会计(四)
文章目录 月度数据统计分析OFFSET函数在图表分析中的应用 多种费用组合分析图SUMPRODUCT函数 省公司全年数据分析模板INDIRECT、OFFSET函数 多公司分季度数据筛选VLOOKUP、IFERROR函数的应用 淘宝后台数据分析OFFSET函数在跨表取数中的应用 燃气消耗台账数据统计分析图SUMPRODU…...
回归分析系列1-多元线性回归
03 多元线性回归 3.1 简介 多元线性回归是简单线性回归的扩展,允许我们同时研究多个自变量对因变量的影响。多元回归模型可以表示为: 其中,x1,x2,…,xp是 p 个自变量,β0 是截距,β1,β2,…,βp是对应的回归系数&…...
web小游戏开发:拼图——蜂巢拼图
web小游戏开发:拼图——蜂巢拼图 蜂巢拼图游戏规则调整选项切图计算六边形的宽和高铺上背景画出蜂巢制作图块游戏方法打乱排列拖拽图块开始拖拽拖拽移动放置图块小结蜂巢拼图 之前我们已经完成了长方形的拼图代码,包括了三个游戏方式,并讨论了带咬合齿的游戏代码该如何制作…...
springCloud集成activiti5.22.0流程引擎(分支)
springCloud集成activiti5.22.0流程引擎 点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 springCloud集成activiti5.22.0流程引擎一.Sprin…...
ppt模板免费网站有哪些?自动美化工具推荐
新的8月,是时候以全新面貌迎接高效办公挑战了! 想要你的PPT演示脱颖而出,却苦于找不到精美又免费的模板? 别担心,今天我来告诉你们:哪个软件有精美免费ppt模板? 今天我为你们精心汇总了6款PPT…...
java实现解析pdf格式发票
为了减少用户工作量及误操作的可能性,需要实现用户上传PDF格式的发票,系统通过解析PDF文件获取发票内容,并直接将其写入表单。以下文章记录了功能实现的代码。 发票样式 发票内容解析 引用Maven 使用pdfbox <dependency><groupI…...
数据结构初阶——算法复杂度超详解
文章目录 1. 数据结构前言1. 1 数据结构1. 2 算法 2. 算法效率2. 1 复杂度的概念 3. 时间复杂度3. 1 大O的渐进表示法3. 2 时间复杂度计算示例3. 2. 1 示例13. 2. 2 示例23. 2. 3 示例33. 2. 4 示例43. 2. 5 示例53. 2. 6 示例63. 2. 7 示例7 4. 空间复杂度4. 1 空间复杂度计算…...
ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头
ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头 文章目录 ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头1 创建预定义的形状图形元素2 创建预定义的形状图形元素3 创建预定义的形状图形元素4 创建线箭头元素环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 1 …...
在 Ubuntu 14.04 服务器上安装 ISPConfig3 的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 虽然命令行是一个强大的工具,可以让您在许多情况下快速轻松地工作,但在某些情况下,可视化界面…...
ELK学习笔记
ElasticStack分布式日志系统概述 Elasticsearch: 一个分布式搜索引擎,能够快速存储、搜索和分析大量数据。核心概念包括索引(Index)、文档(Document)和分片(Shard)。使用 RESTful API 进行数据操…...
Python+Selenium+Pytest+POM自动化测试框架封装详解
1、测试框架简介 1)测试框架的优点 代码复用率高,如果不使用框架的话,代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件。使用更灵活的…...
半导体制冷片温控实战:H桥PWM驱动电路设计与单片机PID参数整定避坑指南
半导体制冷片温控实战:H桥PWM驱动电路设计与单片机PID参数整定避坑指南 在DIY恒温装置或小型冷热台时,半导体制冷片(帕尔贴)因其紧凑结构和快速温变特性成为理想选择。但真正实现0.5℃级别的精准温控,需要跨越硬件驱动…...
OpenCascade避坑指南:BRepMesh网格生成常见的5个问题与解决方法(含性能对比数据)
OpenCascade网格生成实战:5个高频问题深度解析与性能优化指南 当你在CAD开发中第一次调用BRepMesh_IncrementalMesh时,是否遇到过网格生成失败却找不到原因的情况?或是面对复杂模型时性能急剧下降的困境?这些问题往往让初学者束手…...
别再为HackBar许可证发愁了!手把手教你用Burp Suite社区版完成同类测试
从HackBar到Burp Suite:安全测试工具的高效迁移指南 在Web安全测试领域,工具的选择往往决定了工作效率的上限。许多初级安全研究人员习惯使用HackBar这类轻量级浏览器插件进行快速测试,但当遇到功能限制或商业授权问题时,往往会陷…...
嵌入式系统中void指针与函数指针的高级应用
void指针与函数指针在嵌入式系统中的高级应用1. void指针的工程应用1.1 void指针的本质特性void指针(void*)在C语言中表示一个"不知道类型"的指针变量,其核心特性在于:int nums[] {3, 5, 6, 7, 9}; void* ptr1 nums; int* ptr2 (int*)nums;…...
低成本AI助手方案:OpenClaw+Qwen3-32B私有镜像替代GPT-4
低成本AI助手方案:OpenClawQwen3-32B私有镜像替代GPT-4 1. 为什么选择本地化AI助手 去年冬天,当我第37次收到OpenAI API的账单时,手指悬在支付按钮上迟迟按不下去——单月$127的支出已经超出了个人项目的预算红线。作为一个独立开发者&…...
供应链需求预测系统:Granite TimeSeries FlowState R1助力库存优化
供应链需求预测系统:Granite TimeSeries FlowState R1助力库存优化 每次大促过后,仓库里总是一片狼藉。畅销品早早断货,客服电话被打爆;而另一堆商品却纹丝不动,占满了宝贵的库位,资金就这么被“冻”在了货…...
手把手教你用V4L2实现USB摄像头采集(附ioctl调用避坑指南)
V4L2 USB摄像头采集实战:从设备配置到帧捕获的完整指南 1. V4L2框架概述与开发环境搭建 Video4Linux2(简称V4L2)是Linux内核中针对视频设备的标准驱动框架,它为USB摄像头、采集卡等视频设备提供了一套统一的编程接口。作为嵌入式…...
浪潮 NF5270M4 装 ESXi 8.0 识别不到 RAID1?这样设置一次搞定
最近很多机友遇到了核心问题:RAID1 已创建,但 ESXi 8.0U3i 只看到两块独立 SATA 盘,没识别出 RAID 逻辑盘。这是浪潮 NF5270M4 ESXi 8.0 的典型兼容性 / 驱动 / 配置问题,按下面步骤排查即可解决。一、先确认核心前提(必做)1、你…...
数字电路设计小技巧:从HDLBits例题看SOP与POS的Verilog实现
数字电路设计实战:从真值表到Verilog的SOP与POS高效实现 在数字电路设计中,掌握逻辑表达式的最简化方法是一项基础但至关重要的技能。今天我们就以HDLBits平台上的经典例题ECE241 2013 Q2为例,手把手教你如何从真值表出发,通过卡…...
# 发散创新:基于 Rust的分布式数据库架构设计与实战演练在当前云原生和微服务架
发散创新:基于 Rust 的分布式数据库架构设计与实战演练 在当前云原生和微服务架构盛行的背景下,分布式数据库已成为高并发、高可用系统的核心基础设施。本文将深入探讨如何使用 Rust 编程语言构建一个轻量级但功能完整的分布式数据库原型,重点…...
