首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MYSQL库,记录基本操作

数据库操作 1、显示数据库 show databases; 默认数据库:   mysql – 用户权限相关数据   test – 用于用户测试数据   information_schema – MySQL...# 启动免授权服务端 mysqld --skip-grant-tables # 客户端 mysql -u root -p # 修改用户名密码 update mysql.user set authentication_string...delete from t1 where ID=5; 从T1中删除ID为5记录 truncate table t1; #当创建时设置auto_increment primary key...select * from   # *代表查看表中全部内容 select * from where id > 1  #查看表中id>1全部内容 select nid,name,gender as...where字句中条件 以上都只是单查询,例如模拟在实际生活中,会有一张员工,而员工会有其归属部门,那么相应也会有一张部门.在其中相应俩者之间会有一种相应关联,那么这里引申了外键及多表查询

1.7K20

MYSQL 手动更新统计分析记录

MYSQL 5.6 开始,统计分析信息会固化在系统存储中,通过下面的语句可以查看我们相隔开关是否打开。...但通常一般都是通过自动触发方式来完成这样工作。 而我们可以进行一个测试,关于MYSQL索引和真是的信息之间是否有差距。...其实我们已经操作了analyze table 但是我们依然没有得到准确数字,在平时这可能不会有什么问题,但如果是较大例如上千万,如果这方面错比较错,会对执行计划产生问题,这时候可能就需要我们通过手动方式来更新某些记录...update mysql.innodb_table_stats set n_rows = 300024 where database_name = 'employees' and table_name..., 你不会频繁更新操作,并且你要找好自己更新数值时间点。

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    20亿条记录MySQL迁移实战

    我们一个客户遇到了一个 MySQL 问题,他们有一张大,这张有 20 多亿条记录,而且还在不断增加。如果不更换基础设施,就有磁盘空间被耗尽风险,最终可能会破坏整个应用程序。...而且,这么大还存在其他问题:糟糕查询性能、糟糕模式设计,因为记录太多而找不到简单方法来进行数据分析。...这两种解决方案都是很好选择,但在我们案例中,我们没有办法使用它们。MySQL 服务器版本太老了,Debezium 不支持,升级 MySQL 升级也不是办法。...在迁移了所有记录之后,我们部署了新版本应用程序,它向新进行插入,并删除了旧表,以便回收空间。当然,为了将旧数据迁移到新中,你需要有足够空闲可用空间。...我开发了一个新 Kafka 消费者,它将过滤掉不需要记录,并将需要留下记录插入到另一张。我们把它叫作整理,如下所示。

    4.7K10

    mysql中int长度意义

    提问: mysql字段,unsigned int(3), 和unsinged int(6), 能存储数值范围是否相同。如果不同,分别是多大?...真实情况: 我们建立下面这张: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `i1` int...查下手册,解释是这样MySQL还支持选择在该类型关键字后面的括号内指定整数值显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定列宽度值时从左侧填满宽度。...显示宽度并不限制可以在列内保存范围,也不限制超过列指定宽度显示。...也就是说,int长度并不影响数据存储精度,长度只和显示有关,为了让大家看更清楚,我们在上面例子建表语句中,使用了zerofill。

    3.9K10

    mysql前缀索引 默认长度_如何确定前缀索引长度

    MySQL5.7里默认 innodb_large_prefix=1 解除了767bytes长度限制,但是单列索引长度最大还是不能超过3072bytes。...,这个就是我们说前缀索引 修改单个索引最大长度 修改索引限制长度需要在my.ini配置文件中添加以下内容,并重启: #修改单列索引字节长度为767限制,单列索引长度变为3072 innodb_large_prefix...=1 但是开启该参数后还需要开启动态存储或压缩: 系统变量innodb_file_format为Barracuda ROW_FORMAT为DYNAMIC或COMPRESSED 复制代码 如何确定前缀索引长度...再谈联合索引创建 当我们不确定在一张上建立联合索引应该以哪个字段作为第一列时,上面的创建规则同样适用。...也就是用此字段创建索引时,它在这个数据里区分度更加明显。

    3.6K20

    MySQL|什么情况下拓展字段长度会锁

    作为产品DBA,经常被开发问,修改字段长度吗?然后凭借"经验"给出回答:如果字段长度超过256个字符就会锁。 现在看来回答错误 。...大于255个字节长度则需要使用2个byte存储。 online ddl in-place 模式(不锁)只支持字段字节长度从0到255之间 或者256到更大值之间变化。...实践出真知 t1 字符集为utf8mb4,初始字段长度为20 ,80个字节,可以使用1byte表示。分别修改字符串长度为 60--->64--->128。...当字段字节数变动 跨越了256 则会锁。 ?...关于MySQL online ddl 奉献一份 收藏多年流程图, 以xmind 文件方式分享到百度云盘上,方便给位查看,可以直接访问原文直达百度云盘。 ?

    3.7K21

    MySQL中索引长度限制

    255×4>767, 于是增加了一个参数叫做 innodb_large_prefix     # 256由来: 只是因为char最大是255,所以以前程序员以为一个长度为255index就够用了,...--- by 阿里-丁奇 在MySQL5.6里默认 innodb_large_prefix=0 限制单列索引长度不能超过767bytes    官网文档:https://dev.mysql.com/doc...=ON、innodb_file_format=barracuda、innodb_file_per_table=ON ,且Innodb存储格式为 DYNAMIC 或 COMPRESSED,则前缀索引最多可包含...在MySQL5.7里默认 innodb_large_prefix=1 解除了767bytes长度限制,但是单列索引长度最大还是不能超过3072bytes 联合索引长度限制 (不能超过3072bytes...由于是Btree组织,要求叶子节点上一个page至少要包含两条记录(否则就退化链表了)。 所以一个记录最多不能超过8k。

    5.4K30

    小白学习MySQL - “投机取巧”统计记录

    同事提了个统计需求,MySQL某个库60%都有个isdel字段(char(1)),值是0或1,现在要检索该数据库所有存在isdel字段且isdel=‘0’记录数,举个例子,执行如下count...量就通过dba_tab_modifications(数据字典基是mon_mods、mon_mods_all,DML操作记录到mon_mods,然后merge到mon_mods_all)来统计,他会记录数据库...(2) 依次执行count(*),统计每张记录数。 (3) 将(2)中得到名和记录数,存储到另外一张中,作为检索用途。 我们按照倒序,依次操作下, 1....(2) 如果(1)num>0,则将名、记录数、插入时间,存入table_count。...《小白学习MySQL - 索引键长度限制问题》 《小白学习MySQL - MySQL会不会受到“高水位”影响?》

    4.3K40

    日志信息记录|全方位认识 mysql 系统库

    在上一期《复制信息记录|全方位认识 mysql 系统库》中,我们详细介绍了mysql系统库中复制信息记录,本期我们将为大家带来系列第八篇《日志记录等混杂|全方位认识 mysql 系统库》,下面请跟随我们一起开始...日志实现具有以下特征: 通常,日志主要目的是为程序提供一个访问接口,以便查看Server内SQL运行情况,所以,日志记录存放在中比存放在磁盘文件中会更加方便,因为存储在中可以远程访问这些日志记录...PS:MySQL查询日志、错误日志等是使用明文记录,所以,这些日志中有可能会记录用户明文密码信息,可以使用rewrite插件来使用原始格式记录,详见链接: https://dev.mysql.com...该信息在SQL开始执行时就会进行记录,而不是等待SQL执行结束才记录。 下面是该中存储信息内容。...PS: CONNECTION字符串方式不会在mysql.servers中添加记录

    1.2K10

    时区信息记录|全方位认识 mysql 系统库

    在上一期《优化器成本记录|全方位认识 mysql 系统库》中,我们详细介绍了mysql 系统库中优化器成本记录,本期我们将为大家带来系列第六篇《时区信息记录|全方位认识 mysql 系统库》,下面请跟随我们一起开始...,这些是在MySQL初始化时创建,但不会加载数据到这些中): 如果您系统具有自己zoneinfo数据库(描述时区文件集,通常在/usr/share/zoneinfo目录下),则可以使用mysql...命令会读取您系统时区文件并生成SQL语句来插入到MySQL时区中。...02 时区信息记录详解 2.1. time_zone 该提供查询时区ID和跳秒之间映射关系数据。 下面是该中存储信息内容(需要手工导入时区数据信息到数据库才有数据)。...2.2. time_zone_leap_second 该提供查询跳秒机器修正值信息,该信息与time_zone_transition类似,但time_zone_transition中还记录了时区

    1.6K10

    复制信息记录|全方位认识 mysql 系统库

    在上一期《时区信息记录|全方位认识 mysql 系统库》中,我们详细介绍了mysql系统库中时区信息记录,本期我们将为大家带来系列第七篇《复制信息记录|全方位认识 mysql 系统库》,下面请跟随我们一起开始...mysql.slave_worker_info中,在该中,有多少个并行复制线程,就有多少行记录(如果是多主复制,则每个复制通道都有slave_parallel_workers变量指定记录数)。...前面说了SQL协调器线程在分配事务给worker线程之前会将事务先存放到GAQ队列中,但是这个队列长度是有限(是不是很熟悉?...* 将本次执行检查点位置记录mysql.slave_relay_log_info中,作为全局binlog应用位置。...# 假设中有如下实时记录GTID记录 mysql> SELECT * FROM mysql.gtid_executed; + ------------------------------------

    96130

    记录一次MySQL拆分和迁移

    背景# 最近遇到一个关于MySQL过大问题,该存放主要是日志文件,且其中有一个字段存放数据过大,导致占用空间过大以及查询效率降低,这种设计其实是不合理。...目前该占用1.2T容量,数据量超过3亿条,而这个RDS数据库容量总共就2T,且由于种种原因无法扩容,迫不得已急需给出解决方案。 2....解决方案# 根据上面的背景,可得出以下这些问题,也给出了解决方案: 问题 解决方法 1 某字段占用空间较大,在MySQL中为text类型,存储是json格式数据,该字段平均占用空间为5KB 对字段进行压缩...,把json格式压缩成字节序列,压缩后可节省5倍空间左右 2 单数据量过大,而我们业务是基本只取本年数据,该中很多不使用数据导致查询效率降低 对该按年份分,本年数据为热数据,之前数据为冷数据...具体做法: 每次查询1万条数据 查询时候只查询需要字段,即id字段和需要压缩字段,id字段为主键,采用主键索引 采用分页查询方式,即每次查询完记录最后一条数据id,下一次查询直接在这个id基础上查询

    1.4K10

    统计信息记录|全方位认识 mysql 系统库

    在上一期《数据库对象信息记录|全方位认识 mysql 系统库》中,我们详细介绍了mysql系统库中元数据记录,本期我们将为大家带来系列第四篇《统计信息记录|全方位认识 mysql 系统库》,下面请跟随我们一起开始...但要注意,这里说是会触发重新计算索引统计信息,而不是mysql.innodb_table_stats及其数据相关统计信息,要想在添加索引时数据相关统计信息同时更新到mysql.innodb_table_stats...对于从中执行删除行操作未提交事务,InnoDB在估算行和索引统计信息时会忽略这些被打上删除标记记录,所以这可能会导致对该执行并行查询其他事务执行计划并不精确。...table_name:名、分区名或子分区名称。 last_update:表示InnoDB上次更新此统计信息行时间戳。 n_rows:估算数据记录行数。...即对于非唯一索引在该记录统计信息,InnoDB会附加主键列。

    1K30

    Mysql覆盖索引_mysql索引长度限制

    如果一个索引包含(或覆盖)所有需要查询字段值,称为‘覆盖索引’。即只需扫描索引而无须回。...只扫描索引而无需回优点: 1.索引条目通常远小于数据行大小,只需要读取索引,则mysql会极大地减少数据访问量。...,但不是整个查询涉及字段,mysql5.5和之前版本也会回获取数据行,尽管并不需要这一行且最终会被过滤掉。...因为查询从中选择了所有的列,而没有任何索引覆盖了所有的列。 2.mysql不能在索引中执行LIke操作。...记录自己对mysql一些总结 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179723.html原文链接:https://javaforall.cn

    7.9K30

    关于使用MySQL innoDB引擎中事务和锁信息记录

    data等状态才可以完成 info 显示这个sql语句,因为长度有限,所以长sql语句就显示不全,但是一个判断问题语句重要依据。...库里面添加三张分别是 innodb_trx,innodb_locks, innodb_lock_waits 通过这三张用户可以更简单去查看数据库中锁问题。...1. information_schemma.INNODB_TRX 此是查看当前运行事务 中对应字段说明见下图 ?...查找当前被锁住id 或者 根据事务来查看当前事务状态详情 ?...3.information_schema.INNODB_LOCKS_WAITS 这个可以让用户清楚看到那个事务阻塞了那个事务,但是这里只给出事务ID,没有更详细锁信息,但是lock_waits这张

    1.8K20

    MySQL查看数据库重复记录并删除

    数据如下 查看用户名相同记录 select * from user where username in (select username from user group by username...HAVING count(*) >1); 查看用户名和手机号都相同重复记录 select * from user where (username,phone) in (select username...删除用户名和手机号都相同重复记录 DELETE from user where (username,phone) -- 注意:此处一定要加括号,当成联合字段来处理 IN ( --...HAVING COUNT(1) > 1 ); 上述语句看着是不是应该正常能执行删除掉用户名和手机号都相同重复记录只保留id最小那一条。...实际执行会报如下错误: 1093 - You can’t specify target table ‘user’ for update in FROM clause 含义:不能在同一中查询数据作为同一更新数据

    10.9K30
    领券