随笔分类 - SQL
摘要:mysql 查看表的大小方法: 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(trunc
阅读全文
摘要:mysql 去重返回记录的所有列值 工作中遇到需要将一张大表(数据大概在100万条数据的表),根据其中某个id去重,返回所有列数据,尝试了用很多种方式都很耗时,最后网上看到这篇文章 https://blog.csdn.net/guocuifang655/article/details/3993612
阅读全文
摘要:ans time_to_sec(timediff(endTime, startTime)) timestampdiff(second, startTime, endTime) unix_timestamp(endTime) -unix_timestamp(startTime) tips mysql的
阅读全文
摘要:MySql--触发器与事件 触发器 MySQL触发器的使用和优缺点介绍:https://www.jb51.net/article/230845.htm ## 触发器创建 DELIMITER $$ CREATE -- `furn_ssm`.`hasys_session_log_effective_in
阅读全文
摘要:建表 表1 CREATE TABLE Student(SId VARCHAR(10),Sname VARCHAR(10),Sage DATETIME,Ssex VARCHAR(10)); 插入测试数据 INSERT INTO Student VALUES('01' , '赵雷' , '1990-01
阅读全文
摘要:MySql--存储过程 创建 DELIMITER $$ -- 代表执行分隔符(原来是;这里重新定义为$$) USE `furn_ssm`$$ -- 存储过程建立在数据库下,这里指使用数据库furn_ssm DROP PROCEDURE IF EXISTS `p1`$$ -- 这里保证删去同名存储过程
阅读全文
摘要:Java框架--MyBatis 简化数据库操作的持久层框架 中文手册: https://mybatis.org/mybatis-3/zh/index.html https://mybatis.net.cn/ Maven仓库: https://mvnrepository.com/ 工作示意图 快速入门
阅读全文
摘要:mysql基础--数据库管理 mysql中的用户,都存储在系统数据库mysql中的user表中 重要字段: host:运行登入的“位置”,localhost表示该用户只允许本地登入,也可以指定IP地址:192.168.1.100 user:用户名 authentication_string:密码,是
阅读全文
摘要:mysql基础--视图 基本概念 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含列,其数据来自对应的真实表(基表,可以是多个) 通过视图可以修改基表的数据 基表的数据变换会影响到视图的数据 使用 创建视图:create view 视图名 as select语句 修改视图:alter v
阅读全文
摘要:mysql基础--引擎 基本概念 mysql的表类型由存储引擎觉得,主要支持六种类型:MyISAM、innoDB、Memory、CSV、ARCHIVE、MRG_MyISAM等 分两类,事务安全型innoDB,其他都是非事务安全型 代码示例 -- 查看所有的存储引擎 show engines -- 修
阅读全文
摘要:mysql基础--事务 用于保持数据的一致性,它由一组相关的dml语句组成,该组成的dml语句要么全部成功,要么全部失败,如转账就要用事务来处理,用以保证数据的一致性 事务和锁 当执行事务操作时,mysql会在表上加锁,防止其他用户改表的数据,这对用户非常重要 ACID 原子性(Atomicity)
阅读全文
摘要:mysql基础--索引 索引是最物美价廉的提升数据库性能的方法,不用修改程序,不用调sql,查询速度就可以提高千百倍 -- 创建索引示例(在emp表的empno列上创建索引empno_index,注意索引本身占用额外空间) create index empno_index on emp (empno
阅读全文
摘要:mysql基础--自增长 表中存在整数类型字段,我们希望添加记录的时候该列从1开始,自动增长 示例:字段名 整型 primary key auto_increment (定义表时) -- 添加自增长的字段方式 insert into table_name (字段名1-自增长字段,字段名2,...)
阅读全文
摘要:mysql基础--约束 用于确保数据库的数据满足特定的商户规则,mysql中的约束有(not null 、 unique、 primary key、foreign key、check) primary key:主键 用于唯一的标示表行的数据,定义主键约束后,该列不能重复 不能重复而且不能为null
阅读全文
摘要:mysql基础--外链接 多表查询中,利用where子句对两张表或者多表形成的笛卡尔积进行筛选,根据关联条件,显示所有匹配的记录,匹配不上的,不显示;但是这样的话,如果要显示那些匹配不上但合理存在的数据也会无法显示**(列出部门名称和这些部门的员工名称,同时要求显示出那些没有员工的部门)** --
阅读全文
摘要:mysql基础--合并查询 实际应用中需要合并多个select语句的结果,可以使用集合操作符号 union, union all union all 该操作符用于取得两个结果集的并集,当使用该操作时,不会取消重复行 select ename,sal,job from emp where sal >
阅读全文
摘要:mysql基础--表复制与去重 -- 演示自我复制 -- 创建目标表 CREATE TABLE my_copy (id INT, `name` VARCHAR(32), sal DOUBLE, job VARCHAR(32), deptno INT); DESC my_copy SELECT * F
阅读全文
摘要:Select语句-子查询 子查询 指嵌入在其他sql语句中的select语句,也叫嵌套查询 单行子查询:使用正常的关系表达符号 < > = != 多行子查询:使用关键字 in 用在where条件中:用来辅助筛选条件 用在from条件中:用来作为临时表一起组合返回结果数据,解决复杂问题非常有效 使用a
阅读全文
摘要:Select语句-多表查询 多表笛卡尔集 select * from emp,dept 默认情况下,两表查询时规则如下 从第一张表中,取出一行和第二张表的每一行进行组合,返回结果(含有两张表的所有列所有组合情况记录) 一共返回 (第一张表行数*第二张表行数) 行 这样的默认处理方式称为笛卡尔集 解决
阅读全文
摘要:Select语句-单表 基本 语法 SELECT [DISTINCT] *|{column1, column2,column3..} FROM tablename; 注意事项 Select指定查询哪些列的数据 column指定列名 *代表查询所有列 FROM指定查询哪张表 DISTINCT可选,显示
阅读全文