当前位置: 首页 > news >正文

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)防御常见攻击 身份认证&#xff1a;常见账号密码登录&#xff0c;短信登录 授权&#xff1a;什么样的角色&#xff0c;能看见什么菜单&#xff0c;能访问哪些接口。 2 pom <dependency><groupId>org.springf…...

5 大场景上手通义灵码企业知识库 RAG

大家好&#xff0c;我是通义灵码&#xff0c;你的智能编程助手&#xff01;最近我又升级啦&#xff0c;智能问答功能全面升级至 Qwen2&#xff0c;新版本在各个方面的性能和准确性都得到了显著提升。此外&#xff0c;行间代码补全效果也全面优化&#xff0c;多种编程语言生成性…...

免费远程控制电脑的软件有哪些?

什么是远程控制&#xff1f; 远程控制是一种通过网络从一台设备操作另一台设备的技术。连接后&#xff0c;用户可以直接远程操作那台电脑进行各种操作。随着科技的不断进步和用户需求的增加&#xff0c;远程控制市场日益蓬勃。远程控制不仅应用于远程办公和远程教学&#xff0…...

Linux软件包yum

目录 Linux软件包管理器 yum关于rzsz注意事项查看软件包如何安装软件卸载命令 Linux开发工具Linux编辑器-vim使用1. vim的基本概念2. vim的基本操作3. vim正常模式命令集4. vim末行模式命令集5. vim操作总结 小彩蛋 Linux软件包管理器 yum 软件包 在Linux下安装软件&#xff…...

网页的切换与嵌套

网页的切换与嵌套 网页的切换 在浏览器窗口中如果点击超链接标签会在当前的浏览器窗口中显示新的数据&#xff0c;但有些超链接标签点击后却会在一个新的窗口显示数据&#xff0c;这种情况下就无法对新的开的窗口页面进行操作了。 基于这种情况&#xff0c;我们就需要使用dri…...

基于飞桨框架的稀疏计算使用指南

本文作者-是 Yu 欸&#xff0c;华科在读博士生&#xff0c;定期记录并分享所学知识&#xff0c;博客关注者5w。本文将详细介绍如何在 PaddlePaddle 中利用稀疏计算应用稀疏 ResNet&#xff0c;涵盖稀疏数据格式的础知识、如何创建和操作稀疏张量&#xff0c;以及如何开发和训练…...

启明云端WT32C3-S6物联网模块,乐鑫ESP32-C3芯片技术应用

随着物联网技术的飞速发展&#xff0c;智能设备在我们生活中的应用越来越广泛。从智能电网到远程医疗&#xff0c;从楼宇自动化到智能家居&#xff0c;这些技术正在改变我们的生活方式。 在这样的背景下&#xff0c;启明云端推出的WT32C3-S6 WiFi模块以其低功耗、高性价比的特…...

超越流水线,企业研发规范落地新思路

作者&#xff1a;子丑 内容大纲&#xff1a; 1、研发规范≠流程约束 2、自动化工具→研发规范载体 3、研发规范在工具上的落地示例 4、研发规范的选型方法与常见实践 研发规范≠流程约束 这个故事特别适合研发规范的场景&#xff0c;我们要避免成为把猫绑在柱子上的信众…...

财务会计与管理会计(四)

文章目录 月度数据统计分析OFFSET函数在图表分析中的应用 多种费用组合分析图SUMPRODUCT函数 省公司全年数据分析模板INDIRECT、OFFSET函数 多公司分季度数据筛选VLOOKUP、IFERROR函数的应用 淘宝后台数据分析OFFSET函数在跨表取数中的应用 燃气消耗台账数据统计分析图SUMPRODU…...

回归分析系列1-多元线性回归

03 多元线性回归 3.1 简介 多元线性回归是简单线性回归的扩展&#xff0c;允许我们同时研究多个自变量对因变量的影响。多元回归模型可以表示为&#xff1a; 其中&#xff0c;x1,x2,…,xp是 p 个自变量&#xff0c;β0 是截距&#xff0c;β1,β2,…,βp是对应的回归系数&…...

web小游戏开发:拼图——蜂巢拼图

web小游戏开发:拼图——蜂巢拼图 蜂巢拼图游戏规则调整选项切图计算六边形的宽和高铺上背景画出蜂巢制作图块游戏方法打乱排列拖拽图块开始拖拽拖拽移动放置图块小结蜂巢拼图 之前我们已经完成了长方形的拼图代码,包括了三个游戏方式,并讨论了带咬合齿的游戏代码该如何制作…...

springCloud集成activiti5.22.0流程引擎(分支)

springCloud集成activiti5.22.0流程引擎 点关注不迷路&#xff0c;欢迎再访&#xff01; 精简博客内容&#xff0c;尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 springCloud集成activiti5.22.0流程引擎一.Sprin…...

ppt模板免费网站有哪些?自动美化工具推荐

新的8月&#xff0c;是时候以全新面貌迎接高效办公挑战了&#xff01; 想要你的PPT演示脱颖而出&#xff0c;却苦于找不到精美又免费的模板&#xff1f; 别担心&#xff0c;今天我来告诉你们&#xff1a;哪个软件有精美免费ppt模板&#xff1f; 今天我为你们精心汇总了6款PPT…...

java实现解析pdf格式发票

为了减少用户工作量及误操作的可能性&#xff0c;需要实现用户上传PDF格式的发票&#xff0c;系统通过解析PDF文件获取发票内容&#xff0c;并直接将其写入表单。以下文章记录了功能实现的代码。 发票样式 发票内容解析 引用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 的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 虽然命令行是一个强大的工具&#xff0c;可以让您在许多情况下快速轻松地工作&#xff0c;但在某些情况下&#xff0c;可视化界面…...

ELK学习笔记

ElasticStack分布式日志系统概述 Elasticsearch: 一个分布式搜索引擎&#xff0c;能够快速存储、搜索和分析大量数据。核心概念包括索引&#xff08;Index&#xff09;、文档&#xff08;Document&#xff09;和分片&#xff08;Shard&#xff09;。使用 RESTful API 进行数据操…...

Python+Selenium+Pytest+POM自动化测试框架封装详解

1、测试框架简介 1&#xff09;测试框架的优点 代码复用率高&#xff0c;如果不使用框架的话&#xff0c;代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性&#xff0c;元素发生变化时&#xff0c;只需要更新一下配置文件。使用更灵活的…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...