mysql
光影和弦 一抹春色
这个作者很懒,什么都没留下…
展开
-
mysql 内统计单表内查询重复记录
单表内查询重复记录(一对多)select id,count(*) as count from par_member_base_info group by idhaving count>1;原创 2020-11-30 10:57:32 · 308 阅读 · 0 评论 -
mysql 查询一个字段的最大长度
一 查询总记录数select count(*) from a.b(表名的意思);二 查询所有字段中最大长度的字段select max(length(name)) from a.b原创 2020-11-25 16:18:48 · 1104 阅读 · 0 评论 -
sql
1.有表A,结构如下:A: p_ID p_Num s_id1 10 011 12 022 8 013 11 013 8 03其中:p_ID为产品ID,p_Num为产品库存量,s_id为仓库ID。请用SQL语句实现将上表中的数据合并,合并后的数据为:p_ID s1_id s2_id s3_id1 10 12 02 8 0 03 11 0 8其中:s1_id为仓库1的库存量,s2_id为仓库2的库存量,s3_id为仓库3的库存量。如果该产品在某仓库中无库存量,那么就是0代替。OK,现在原创 2020-07-17 12:43:57 · 498 阅读 · 0 评论 -
Student 学生表 ,Course 课程表 ,SC成绩表 ,Teacher 教师表,sql操作运用 50
表架构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表建表语句复制代码CREATE TABLE student(s# INT,sname nvarchar(32),sage INT,ssex nvarchar(8))CREATE TABLE course(c# INT,cname nvarchar(32),t#原创 2020-07-16 22:49:22 · 10501 阅读 · 1 评论 -
Mysql
一一、MySQL架构和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。连接层:最上层是一些客户端和连接服务。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证原创 2020-07-16 10:47:44 · 465 阅读 · 0 评论 -
Mysql 复制表结构和表数据
一 复制表结构及数据到新表create table table_name_new select * from table_name_old二 复制表结构:create table table_name_new like table_name_old;三 复制旧表的数据到新表(假设两个表结构一样)insert into table_name_new select * from table_name_old;四 复制旧表的数据到新表(假设两个表结构不一样)insert into table_na原创 2020-07-15 11:50:23 · 511 阅读 · 0 评论 -
存储引擎(MyISAM 和 Innodb)
1.什么是存储引擎Mysql中的数据用各种不同的技术存储在内存中 每一种技术都使用不同的存储机制 索引技巧 锁定水平 并且最终提供不同的功能和能力通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。 M原创 2020-07-14 19:29:50 · 382 阅读 · 0 评论 -
mysql 学习指南
一 SQL介绍SQL是结构化语言 是一门ANSI的标准计算机语言 用来访问和操作数据库系统二 数据库介绍2.1 数据库我们已经知道了SQL是操作数据库的语言,那么数据库是什么?数据库(database)是 保存一个文件或者一组文件的容器;这样说你可能还不懂,可以比喻为数据是一个图书馆,图书馆里面收藏有好多书,我们可以认为数据库就是能够存储数据的容器;其实数据库很常见,你每天都在操作数据库,比如你看手机,上网,微信聊天,其实背后都在操作数据库,只是展现操作数据库的形式不一样而已;2.2 数据库管理原创 2020-07-08 15:06:43 · 555 阅读 · 1 评论 -
mysql 索引(二)
一 索引介绍索引就是一种数据结构,就是发挥这种数据结构来加快查询效率 例如:InnoDB存储引擎中使用的是就是B+tree这种数据结构来组织索引。mysql中索引的种类也不是很多,不同索引有不同的作用mysql索引主要分为以下几类:主键索引:一般是在创建表时指定 一个表只有一个主键索引 特点是唯一 非空唯一索引:唯一性 可以在建表时指定 也可以在建表后指定普通索引 就是加快查询全文索引 :针对一些大的文本字段 创建索引聚簇索引和非聚簇索引 :聚簇索引和非聚簇索引的概念比上面的概念要大,属于包原创 2020-07-07 11:02:10 · 402 阅读 · 0 评论 -
事务的四种特性
一 什么是事务数据库事务是指作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。为什么需要事务经典的银行转账行为,A账户转给B账户10元,数据库操作需要两步,第一步A账户减10元,第二步B账户加10元,如果没有事务并且在两步中间发生异常,就会导致A的账户少了10元,但B的账户没有变化,如果不能保证这两步操作统一,银行的转账业务也没法进行展开了。事务管理是每个数据库(oracle、mysql、db等)都必须实现的。二 事务的四大特性原子性 (atomicity原创 2020-06-30 21:43:43 · 138 阅读 · 0 评论 -
深入理解sql的四种连接-左外 右外连接 内连接 全连接
1.内连接 包括相等连接和自然连接内连接使用比较运算符 根据每个表共有的列的值匹配两个表的行2 外连接外连接可以是左向外连接 右向外连接 或完整的外部连接2.1 left join 或者left outer join左向外连接的结果集包括left outer 子句中指定的左表的所有行 而不仅仅是联结列所匹配的行左表右表中没有匹配的行 则右表的所有列表均为空值2.2 right join右外连接 左表如果没有匹配的行的话 则左表返回空值2.3 交叉连接交叉联接返回左表中的所有行,左表中的每原创 2020-06-27 12:24:50 · 2798 阅读 · 2 评论 -
数据库视图
一 视图简介视图是从一个或者几个表导出的表 它与基本表不同 是一个虚表 数据库只存放视图的定义 而不存放视图对应的数据这些数据仍存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。二 视图的优点视图能简化用户操作视图机制使用户可以将注意力集中在所关心地数据上。如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的的数据查询操作。例如,原创 2020-06-27 10:54:41 · 367 阅读 · 0 评论 -
SQL优化方案
一 简单的命令1 查看优化器状态show variable like ‘optimizer_trace’;2 会话级别临时开启set session optimizer_trace=“enable=on”,end_markers_in_json=on;3. 设置优化器追踪的内存大小set OPTIMIZER_TRACE_MAX_MEM_SIZE=1000000;4. 执行自己的SQLselect host,user,plugin from user;5. information_schem原创 2020-06-21 15:14:57 · 94 阅读 · 0 评论 -
MYSQL系列之悲观锁与乐观锁
一 锁锁是一种保证数据安全的机制和手段,而并不是特定于某项技术的。悲观锁和乐观锁亦是如此。本篇介绍的悲观锁和乐观锁是基于数据库层面的。二 悲观锁悲观锁认为被它保护的数据是极其不安全的,每时每刻都有可能变动,一个事务拿到悲观锁后(可以理解为一个用户),其他任何事务都不能对该数据进行修改,只能等待锁被释放才可以执行。数据库中的行锁,表锁,读锁,写锁,以及syncronized实现的锁均为悲观锁。我们经常使用的数据库是mysql,mysql中最常用的引擎是Innodb,Innodb默认使用的是行锁。而原创 2020-05-28 09:28:29 · 324 阅读 · 0 评论 -
Mysql系列之锁机制
一、Mysql为什么要加锁锁机制用于管理对共享资源的并发访问,是对数据库的一种保护机制,也是数据库在事务操作中保证事务数据一致性和完整性的一种机制。当有多个用户并发的去存取数据时,在数据库中就可能会产生多个事务同时去操作一行数据的情况,如果我们不对此类并发操作不加以控制的话,就可能会读取和存储不正确的数据,最终破坏了数据的一致性;下面请看一种典型的并发更新数据所产生的数据丢失更新问题:...原创 2020-04-24 12:39:51 · 159 阅读 · 0 评论 -
硬核!万字Mysql知识总结
一 mysql登录远程登录方式本地登陆方式mysql:mysql -h 主机名 -P 端口号 -u 用户名 -p密码mysql:mysql -uroot -p密码二 数据库操作命令创建数据库、删除数据库、展示所有数据库名。查看当前数据库名、查看所有表、查看其他数据库的表。查看数据库的版本、表结构、以及字符集、数据库引擎– 如果该数据库不存在,创建该数据库create datab...原创 2020-04-22 11:05:27 · 166 阅读 · 0 评论 -
mysql系列之InnoDB分区
一 InnoDB逻辑存储结构首先要先介绍一下InnoDB逻辑存储结构和区的概念,它的所有数据都被逻辑地存放在表空间,表空间又由段,区,页组成。段段就是上图的segment区域,常见的段有数据段、索引段、回滚段等,在InnoDB存储引擎中,对段的管理都是由引擎自身所完成的。区区就是上图的extent区域,区是由连续的页组成的空间,无论页的大小怎么变,区的大小默认总是为1MB。为了保证区...原创 2020-04-21 11:02:20 · 822 阅读 · 0 评论 -
Mysql系列之事务
一 什么是事务事务 由一个不可分割的数据库操作序列构成,也是数据库并发控制的单位1 原子性:事务是最小的执行单位 不允许分割 事务的原子性要么全部完成 要么全不起作用2 一致性 执行事务前后 数据保持一致 多个事务对同一个数据读取的结果是相同的3 隔离性:并发访问数据时 一个用户的事务不被其他事务干扰 各并发事务数据库是独立的4 持久性:一个事务被提交了之后 它对数据库的改变是持久的 ...原创 2020-04-05 22:55:56 · 274 阅读 · 0 评论 -
MySql系列之mysql查询执行过程(附Mysql架构图及实操解析)
一 MySql架构图1.2 执行步骤:1.客户端发送查询语句给服务器2 服务器首先检查缓存中 是否存在该查询,若存在,返回缓存中存在的结果不存在 执行下一步3服务器进行sql解析 语法检测 和预处理 再由优化器生成对应的执行计划4 mysql的执行根据优化器生成的执行计划执行 调用存储引擎的接口进行查询5 服务器将查询结果返回客户端1.3 执行流程二 Mysql实操2.1....原创 2020-04-01 11:23:54 · 393 阅读 · 0 评论 -
MYSQL索引(一)
一 前言Mysql有覆盖索引 辅助索引 唯一索引 hash索引 B-Tree索引二 底层数据结构分析首先 **索引是高效获取数据的数据结构.**就像书中的目录一样 我们可以通过它快速定位到数据所在的位置,从而提高数据查询的效率2,1 hash 索引需要注意的是 mysql没有显式支持的hash索引,而是作为一种内部优化,对于热点数据会自动生成hash索引 也叫做自适应hash索引ha...原创 2020-03-26 16:49:53 · 52 阅读 · 0 评论 -
sql语句分类(附mysql实操语句)
一 数据库定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等。1.1 DDL之数据库操作a, 创建数据库并指定编码create database 数据库名 charset set utf8mb4;b 查看数据库show databases;c 查看某个数据库定义信息show cr...原创 2020-03-24 02:25:59 · 132 阅读 · 0 评论 -
mysql 锁(三)
一 Mysql的锁对MySQL的锁了解吗当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需...原创 2020-03-24 00:04:05 · 162 阅读 · 0 评论 -
mysql之事务(三)
一 什么是数据库事务事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态转变到另一中一致状态二 事务的四大特性1.原子性 :事务是最小的执行单位 不允许分割 事务的原子性 确保动作要么全部完成 要么全不起作用2,一致性:执行事务前后 数据保持一致 多个事务对同一个数据读取的结果是相同的3 隔离性:并发访问数据库时 一个用户的事务不...原创 2020-03-24 00:00:28 · 69 阅读 · 0 评论 -
mysql索引(二)
一 什么是索引索引是一种特殊的文件(INNODB数据表上的索引是表空间的一个重要组成部分,他们包含对数据表里所有记录的引用指针。索引是一种数据结构 索引的实现通常是b树及其变种b+树,更通俗的说 索引相当于目录 为了方便书中内容的查找,通过对内容建立索引形成目录,索引是一个文件 它占据物理空间索引的数据结构(b树 hash)索引的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的...原创 2020-03-23 23:44:53 · 349 阅读 · 0 评论 -
MYSQL基础(一)
一 什么是SQL结构化查询语言(Structured )原创 2020-03-23 22:47:48 · 69 阅读 · 0 评论