mysql 实用命令

embedded/2024/10/23 17:14:40/

注:以下以dept表名为例。

一、如果表不存在就建立这个表

① create table if not exists tablename 这样的指令来建立,不需要先去查询表是否存在

CREATE TABLE IF NOT EXISTS dept(
`pkId` INT(11) AUTO_INCREMENT  NOT NULL,
`name` VARCHAR(50) NULL
) DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci ;

②CREATE TABLE IF NOT EXISTS new_table_name LIKE old_table_name;根据模版建立,前提是old_table_name存在,new_table_name不存在创建,存在则不执行任何操作

③仅仅判断表是否存在,可以采用下面两个命令

SHOW TABLES LIKE '%表名%';

select  TABLE_NAME  from  INFORMATION_SCHEMA . TABLES  where TABLE_SCHEMA ='数据库名' and  TABLE_NAME ='表名' ;

二、表中记录判断是否存在记录

①不存在插入:MySQL 5.5以上版本引入了类似Oracle的虚拟表DUAL,使用场景:有主键,多列值,个别列值重复判断,避免插入前在select一遍

INSERT INTO dept(`name`)
SELECT '技术部'
FROM DUAL
WHERE NOT EXISTS(SELECT `pkId` FROM dept WHERE `name`='技术部')

②不存在插入,存在更新(下面语句功能类似业务层的数据存在修改不存在创建,根据情况使用,具体详细研究)

INSERT INTO dept (`pkId`,`name`) VALUES (1,'技术部'),(2,'设计部')  

ON DUPLICATE KEY UPDATE `pkId`=LAST_INSERT_ID(pkId), name=VALUES(name);  

INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令的
前提条件是这个表必须有一个唯一索引或主键。
1、REPLACE发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空。
2、INSERT发现重复的是更新操作。在原有记录基础上,更新指定字段内容,其它字段内容保留。


http://www.ppmy.cn/embedded/129862.html

相关文章

「C/C++」C++ STL容器库 之 std::multiset 键的集合容器

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

TinyMCE 富文本编辑器

中文文档 TinyMce在4.0以后就不支持Vue2.0了 1. 安装依赖 yarn add tinymce || npm install tinymce -Syarn add tinymce/tinymce-vue || npm install tinymce/tinymce-vue -S2. 创建组件 在 components 下创建 Tinymce.vue 组件 <template><div class"a…

大数据开发电脑千元配置清单

大数据开发电脑配置清单 电脑型号HUANANZHI 台式电脑操作系统Windows 11 专业版 64位&#xff08;Version 23H2 / DirectX 12&#xff09;处理器英特尔 Xeon(至强) E5-2673 v3 2.40GHz主板HUANANZHI X99-P4T&#xff08;P55 芯片组&#xff09;显卡NVIDIA GeForce GT 610 ( 2…

汽车结构设计外覆盖件抗凹分析的意义和分类

1、车身覆盖件指什么&#xff1f; 车身覆盖件一般是指在车辆表面上能够看到的饭金件&#xff0c;如门外板、顶盖等。覆盖件的尺寸相对较大&#xff0c;往往是依照造型要求&#xff0c;设计出不同的区域曲率。所有的覆盖件都需要经过冲压&#xff0c;塑造出特定的造型&#xff…

【计算机网络 - 基础问题】每日 3 题(四十一)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

k8s-pod控制器

Pod控制器介绍 Pod是kubernetes的最小管理单元&#xff0c;在kubernetes中&#xff0c;按照pod的创建方式可以将其分为两类&#xff1a; 自主式pod&#xff1a;kubernetes直接创建出来的Pod&#xff0c;这种pod删除后就没有了&#xff0c;也不会重建控制器创建的pod&#xff1a…

038_基于php校园Flea Market售货平台

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

如何将两个视频连接成一个?共有6个方法

如何将两个视频连接成一个&#xff1f;在数字媒体日益丰富的今天&#xff0c;视频内容已成为我们生活中不可或缺的一部分。无论是制作个人回忆录、教学演示&#xff0c;还是企业宣传&#xff0c;常常需要将多个视频片段整合成一个完整的作品&#xff0c;以便于播放和分享。特别…