
MySQL
文章平均质量分 54
代元培
听风看雨 见贤思齐 抚霜踏雪 青云直上
展开
-
MySQL库表结构和数据导出导入
mysql数据库表结构和数据导出导入原创 2022-11-04 11:15:00 · 950 阅读 · 0 评论 -
Linux安装MySQL服务8.0.11版本
linux安装mysql过程原创 2022-11-03 14:37:06 · 557 阅读 · 0 评论 -
MySQL常用操作命令
mysql常用命令,逐步补充更新中原创 2022-02-25 19:27:25 · 360 阅读 · 0 评论 -
Linux离线安装MySQL8.0.21教程
Linux离线安装MySQL8.0.21教程原创 2022-02-24 20:42:36 · 1457 阅读 · 0 评论 -
MySQL数据库设计建议
【强制】数据库的名称必须控制在32个字符以内,由英文字符和数字组成。禁止使用中文。【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者gbk。【强制】表名称必须控制在32个字符以内。不能使用系统保留字和特殊字符,只能使用字母、数字和下划线。【强制】列名称必须控制在32个字符以内。不能使用系统保留字和特殊字符,只能使用字母、数字和下划线。【强制】创建表时必须显式指定字符集,并且字符集必须与数据库字符集相同,utf8或者gbk。【强制】创建表时必须显式指定表存储引擎类型,默认原创 2021-10-08 19:29:51 · 369 阅读 · 0 评论 -
MySQL聚簇索引和非聚簇索引原理
一、‘页’和操作系统的关系 1、为什么要有内存管理? 我们知道,一个进程完成他的功能,需要访问磁盘加载数据到内存然后等待进入cpu运算,因为数据量大小远远大于内存大小。因此提出虚拟内存概念。虚拟内存就是将程序用到的数据进行划分,暂时用不到的放到磁盘里,用到的放到内存里,操作系统中总是运行着不止一个进程,各个进程有优先级顺序,所以存在进程调度问题,进程的每次调度都会导致内存和磁盘数据置换,段式内存管理页式内存管理都是基于虚拟内存概念的具体内存管理解决方案。 2、什么是页式内存管理?原创 2021-08-19 17:58:05 · 306 阅读 · 0 评论 -
MySQL外键约束
只有InnoDB的引擎才支持外键。 从表的外键必须是主表的唯一性索引,主键和外键的字段类型要相似,数值型类型要求一致,无符号也要要求一致,字符型长度可以不同,类型需要一致。 如果外键字段没有创建索引,MySQL会自动给外键创建普通索引。 外键可以在创建表的时候添加,也可以在创建表之后修改。 建表时指定外键。 动态创建外键 通过ALTER命令可以动态添加和删除外键,命令如下,需要注意的是,在动态添加外键前,从表中不能有脏值,否则不能添加成功。...原创 2021-06-16 14:41:11 · 512 阅读 · 0 评论 -
MySQL锁与PHP文件锁
模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本例如:cmd: apache安装路径/bin/ab.exe -c 10 -n 10 http://web.test.com/test.php【切入正题】MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 【锁表】UNLOCK TABLES原创 2021-06-15 14:09:45 · 164 阅读 · 0 评论 -
PHP利用MySQL锁解决高并发
先看没有利用事务的时候并发的后果-- 库存管理表CREATE TABLE `t_storage` ( `f_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `f_number` int(11) DEFAULT NULL, PRIMARY KEY (`f_id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;-- 订单管理表CREATE TABLE `t_order` (...原创 2021-06-06 17:28:09 · 170 阅读 · 2 评论 -
MySQL索引底层原理与数据结构
深入理解Mysql索引底层原理 一步一步推导出Mysql索引的底层数据结构。 Mysql作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是Mysql数据的存储形式以及索引的设计,决定了Mysql整体的数据检索性能。 我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下...原创 2021-06-03 20:03:43 · 193 阅读 · 0 评论 -
SQL行转列 列转行实现
前言 行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧。 行列转换就是如下图所示两种展示形式的互相转换。 行转列 PIVOT 后跟一个聚合函数来拿到结果,FOR 后面跟的科目是我们要转换的列,这样的话科目中的语文、数学、英语就就被转换为列。IN 后面跟的就是具体的科目值。 当然我们也可以用 CASE WHEN 得到同样的结果,就是写起来麻烦一点。使用 CASE WHEN 可以得到和 PIVOT 同样的结果,没有 PIVOT 简...原创 2021-04-21 10:42:17 · 318 阅读 · 0 评论 -
count(*)和count(1)和count(字段)的区别
执行效果上看: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略字段值为NULL的列; count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略字段值为NULL的列; count(列名)只包括列名那一列,在统计结果的时候,会忽略字段值为值为NULL的列(这里的空不是指空字符串""或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。 执行效率上看: 列名为主键,count(列名)会比count(...原创 2021-03-12 10:07:42 · 251 阅读 · 0 评论 -
对MySQL交换分区的实践
前言 在介绍交换分区之前,我们先了解一下mysql分区。 数据库的分区有两种:水平分区和垂直分区。而MySQL暂时不支持垂直分区,因此接下来说的都是水平分区。水平分区即:以行为单位对表进行分区。比如:按照时间分区,每一年一个分区等。 在MySQL中,分区是可以交换的,可以将一个分区表中的一个分区和一个普通表中的数据互换。 交换分区的实现 1、交换分区的语法alter table pt exchange partition p with table ...原创 2021-01-26 19:14:32 · 345 阅读 · 0 评论 -
MySQL的表锁 行锁 共享锁 排它锁 间隙锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL锁问题的一些方法或建议。 Mysql用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在...原创 2020-12-16 11:10:18 · 237 阅读 · 0 评论 -
mysql字段值拼接字符串
select concat(f_org_code_ext,'\t2') from t_reserve_bank_account_channel_details limit 1;原创 2020-09-15 20:52:42 · 476 阅读 · 0 评论 -
mysql字段类型varchar和char的主要区别
varchar是变长,节省存储空间,char是固定长度。查找效率要char型快,因为varchar是非定长,必须先查找长度,然后进行数据的提取,比char定长类型多了一个步骤,所以效率低一些。原创 2020-09-11 17:44:11 · 224 阅读 · 0 评论 -
mysqldump导出与导入
# 导出带where条件mysqldump --single-transaction --default-character-set=latin1 -h*.*.*.* -P6000 -udaiyuanpei_r -p****** bfb_db_14 t_trans_query_14_6 --where=" F_seller_user_id=1000000000019146 and F_seller_sub_account_type=1 and F_buyer_user_id like '%146'" &.原创 2020-08-04 14:15:05 · 132 阅读 · 0 评论 -
mysql查表大小
select concat(round(sum(DATA_LENGTH/1024/1024),2),'M')from information_schema.tableswhere table_schema='db_name' AND table_name='tb_name';原创 2020-06-01 15:25:12 · 185 阅读 · 0 评论 -
mysql按天汇总数据
# 按天统计数据select DATE_FORMAT(f_create_time,'%Y-%m-%d') as dt, count(*) as cntfrom t_trans_07_0where f_create_time>='2020-03-01'group by dt;原创 2020-04-16 17:37:05 · 664 阅读 · 0 评论 -
MySQL常用字符串函数
MySQL字符串函数是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用:1、LOWER(column|str):将字符串参数值转换为全小写字母后返回mysql> select lower('SQL Course');+---------------------+| lower('SQL Course') |+-----------------...原创 2019-03-04 13:16:00 · 242 阅读 · 0 评论