随笔分类 - mysql
摘要:用的地方不一样 where可以用于select、update、delete和insert into values(select * from table where ..)语句中。 having只能用于select语句中 执行的顺序不一样 where的搜索条件是在执行语句进行分组之前应用 havin
阅读全文
摘要:mysql查询今天、昨天、7天、近30天、本月、上一月数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名)
阅读全文
摘要:一.关系型数据库 定义:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织; 优点: 1.易于维护:都是使用表结构,格式一致; 2.使用方便:SQL语言通用,可用于复杂查询; 3.复杂操作:支持SQL,可用于一个表及多个表之间非常复杂的查询; 缺点: 1.读写性能比较差,尤
阅读全文
摘要:一、前言 本文主要介绍MySQL主要存储引擎MyISAM和InnoDB的区别,特性,优缺点,应用等内容。同时举例介绍了MyISAM和InnoDB引擎的修改切换方法 二、MySQL存储引擎种类 MySQL存储引擎有MyISAM、InnoDB、MERGE、MEMORY、FEDERATED、ARCHIVE
阅读全文
摘要:一、MySQL逻辑架构图 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分 Server 层 包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过
阅读全文
摘要:一、事务定义 Transaction 事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成 事务只和DML语句有关,或者说DML语句才有事务
阅读全文
摘要:一、用户连接、创建、权限、删除 1、 连接MySQL操作 mysql -h 主机地址 -u 用户名 -P端口号 -p 使用 SSL 连接 mysql --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem -h主机地址
阅读全文
摘要:一、前言 一般来说mysql有三种删除数据方式: 1. delete(常用) 2. truncate(慎用) 3. drop 以上三种方式都可以删除数据,但是使用场景是不同的 二、执行速度 drop > truncate >> delete 三、深层原理 1、delete DELETE from T
阅读全文
摘要:一、前言 MySQL Innodb 对于索引长度的限制为 767 字节,并且UTF8mb4字符集是4字节字符集,则 767字节 / 4字节每字符 = 191字符(默认索引最大长度),所以在varchar(255)或char(255) 类型字段上创建索引会失败,提示最大索引长度为767字节。 二、环境
阅读全文
摘要:一、复合索引的概念 在单个列上创建的索引我们称为单列索引,在2个以上的列上创建的索引称为复合索引。在单个列上创建索引相对简单,通常只需要考虑列的选择率即可,选择性越好,代表数据越分散,创建出来的索引性能也就更好。通常,某列选择率的计算公式为:selectivity = 施加谓词条件后返回的记录数 /
阅读全文
摘要:一、分类 1、主键索引 设定为主键后数据库会自动建立索引,innodb为聚簇索引 特点: 不能重复, id 不能是null 语法: #随表一起建索引: #使用AUTO_INCREMENT关键字的列必须有索引(只要有索引就行) CREATE TABLE customer (id INT(10) UNS
阅读全文
摘要:一、环境准备 sql脚本 CREATE TABLE `user` ( `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, `id` int(11) NOT
阅读全文
摘要:一、数据准备 sql脚本如下: Create table If Not Exists Scores (Id int, Score DECIMAL(3,2)); Truncate table Scores; insert into Scores (Id, Score) values ('1', '3.
阅读全文
摘要:一、环境准备 sql脚本如下: create table Student(sid varchar(10),sname varchar(10),sage datetime,ssex nvarchar(10)); insert into Student values('01' , '赵雷' , '199
阅读全文
摘要:一、环境准备 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR(50) not null COMMENT '部门名称' )ENGINE=INNODB D
阅读全文
摘要:一.SQL语句定义顺序 ?12345678910SELECT DISTINCT <select_list>FROM <left_table><join_type> JOIN <right_table>ON <join_condition>WHERE <where_condition>GROUP BY
阅读全文