一:概念 - 这里,我们还是针对 MySQL 中应用最广泛的 InnoDB 引擎展开讨论. - 一个 InnoDB 表包含两部分,即:表结构定义和数据. - 在 MySQL 8.0 版本以前,表结构是存在以.frm 为后缀的文件里. - 而 MySQL 8.0 版本,则已经允许把表结构定义放在系统数据表中了. - 因为表结构定义占用的空间很小,所以我们今天主要讨论的是表数据. 二:表数据既可以存在共享表空间里,也可以是单独的文件.由参数 innodb_file_per_table 控制. - 概…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 13) --为什么数据表删掉一半,表文件大小不变? 我们还是以MySQL中应用最广泛的InnoDB引擎为基础来展开讨论.一个表中包含两部分:表结构定义和数据.在MySQL8.0版本以前,表结构是以.frm为后缀的文件存储的.而在MySQL8.0版本,已经允许把表结构定义放在系统数据表中了.因为表结构定义占用的空间很小,索引我们今天主要讨论的是表数据. 参数innodb_file_…
 表A=================== AID, AName 1 jack 2 mary 3 lily 表B================== BID, AID, BName 1 1 aaa 2 1 bbb 3 1 ccc 4 2 ddd 5 2 eee 一.sql语句============== --A 表数据 select  * from A_TB --B 表数据 select  * from B_TB --结果:取A表数据,关联B表任意一条数据 select  * from A_T…
1.MySQL存储引擎的配置 查看服务支持的存储引擎 查看默认存储类型 更改表的存储引擎 设置数据库服务默认使用的存储引擎 1.1 查看存储引擎信息 mysql> SHOW ENGINES\G   1.2 查看默认存储类型 mysql> SHOW VARIABLES LIKE 'default_storage_engine'; +------------------------+--------+ | Variable_name          | Value  | +-----------…
merge into dbo.ak_SloteCardTimes a using(select RecordID,CardNO,SloteCardTime from dbo.Tb_CardDate b ) c on(a.RecordID=c.RecordID) when matched then update set a.CardNO=c.CardNO ,a.SloteCardTime=c.SloteCardTime when not matched then insert(RecordID,C…
--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go select * from 商品信息表 select 商品编号,商品名称,产地 from 商品信息表 selelct * from 商品信息表 where 产地='辽宁沈阳' 理解例子 --关键字辅助查询-- --1)distinct关键字 (用来消除查询结果中的重复行,使用时紧跟在select命…
原题如下: 解题代码如下: table1类: @Data @NoArgsConstructor @AllArgsConstructor public class table1{ private String num; private String name; private String fatherNum; } table2类: @Data @NoArgsConstructor @AllArgsConstructor public class table2{ private String nu…
目的及由来,因为数据库表都采取逻辑删除isDeleted=true/flase,但是之前有些报表或者其他的sql并没有在sql中指明此条件.为了不影响之前代码,所以: 1.数据库中创建一张相同的表,把删除的记录保存到备份表bak_table,bak_table的所有字段均与原表一致(包括isDeleted).然后原表做物理删除. (以下可能只适用于oracle) 一.利用oracle的语法 createt table … as ; insert into… 1.复制表结构以及数据 create…
SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; SQL Server中,,如果目标表不存在: select * into 目标表 from 原表; Oracle中,如果目标表存在: insert into 目标表 select * from 原表; commit; Oracle中,如果目标表不存在: create table 目标表 as select * from 原表;…
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:      INSERT INTO 目标表 SELECT * FROM 来源表;     insert into insertTest select * from insertTest2;…