MySQL学习笔记
作者: Grey说明注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。关于DDLDDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了数据库的结构和数据表的结构。在 DDL 中,我们常用的功能是增删改,分别对应的命令是 CREATE、DROP 和 ALTER。需要注意的是:在执行 DDL 的时候...
2024-01-10MySQL基础笔记
创建数据库CREATE DATABASE database_name;create database mysql_test;删除数据库DROP DATABASE database_name;> drop database mysql_test;数据类型完整数据类型请参考MySQL 数据类型。MySQL支持所有标准SQL数值数据类型,所以数据类型有很多,这里介绍几个常用的数值类型类型大小范围(有符号)范围(无符号)用途...
2024-01-10MySQL学习笔记(五)
mysqldump 与 --set-gtid-purged 设置(1) mysqldumpThe mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL dat...
2024-01-10MYSQL存储引擎
存储引擎InnoDB (1) InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB 类型的表与其他MySQL的表的类型混合起来,甚至在同一个查...
2024-01-10MYSQL声明变量
我不明白这个脚本有什么问题BEGINDECLARE crs INT DEFAULT 0;WHILE crs < 10 DOINSERT INTO `continent`(`name`) VALUES ('cont'+crs)SET crs = crs + 1;END WHILE;END;我希望它在表中插入10个值,但是第二行有错误。回答:MySQL不支持执行存储过程代码的匿名块。您需要创建一个包含该代码的存储过程,然后调用它。另外,您在...
2024-01-10MYSQL的计数?
我有一个像这样的mysql表:id, visitorid, pageid当访问者访问该网站时,它将其访问者ID和页面ID存储为一行。我试图提取恰好X次访问该网站的访问者数量。(用于图表)。因此有多少人只访问一页,有多少人访问了2页…到目前为止,我有:SELECT COUNT(visid),visid FROM vislog GROUP BY visid ORDER BY COUNT(visid) DESC...
2024-01-10MySQL学习笔记(25):常见问题
本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。目录忘记roo密码修改密码MyISAM存储引擎的表损坏数据目录磁盘空间不足的问题mysql.sock丢失后如何连接数据库访问内网数据库忘记roo密码使用mysqld_safe --skip-grant-tables跳过权限系统启动服务。不使用账号密码,直接使用mysql登录。使用UPDATE mysql.u...
2024-01-10MYSQL中的规范化
任何人都可以帮助我了解什么是mysql中的规范化,在这种情况下以及我们需要如何使用它。提前致谢。回答:我试图在这里尝试用外行术语解释标准化。首先,它适用于关系数据库(Oracle,Access,MySQL),因此不仅适用于MySQL。规范化是要确保每个表都只有最小的字段并摆脱依赖关系。假设您有一个员...
2024-01-10MySQL学习笔记(24):权限与安全
本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。目录权限安全操作系统相关的安全问题数据库相关的安全问题数据库安全设置选项权限权限存取需要用到mysql库中user、db、host、tables_priv、columns_prvi这几个权限表。列分为4个部分:用户列、权限列、安全列、资源控制列。权限列又分为普通权限...
2024-01-10在MySQL
返回最后匹配的行我有这个表在MySQLid | qty_from | qty_to | p_id | price -------------------------------------- 1 | 1 | 10 | 4 | 1000 -------------------------------------- 2 | 11 | 20 | 4 | 2000 -------------------------------------- 3 | 1 | 10 | 5 | 500 --------------...
2024-01-10MySQL篇
2、Mysql 的技术特点是什么? Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多 线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。 3、Heap 表是什么? HEAP 表存在于内存中,用于临时高速存...
2024-01-1055道MySQL基础题
1.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15, 16, 17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录的 ID 是 18 还是 15 ?1.如果表的类型是 MyISAM , 那么是 18。因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL自增主键的最大 ID 也不会丢失。2.如果表的类...
2024-01-10MySQL死锁
https://dev.mysql.com/doc/refman/5.7/en/innodb-deadlocks.html什么是mysql的死锁?A deadlock is a situation where different transactions are unable to proceed because each holds a lock that the other needs. Because both transactions are waiting for a resource to be...
2024-01-10MySQL视图
视图的概念视图是一张虚表,将查询结果集保存起来,作为视图使用。实际存在的表叫作基本表。 视图的作用安全性。grant授权用户只操作视图、只读,可以保护基本表中的数据。提高查询性能。视图只是基本表的一部分,查视图比查全表快。尤其是多表查询的时候,查视图一张表比连接多...
2024-01-10MySQL必知必会120章读书笔记
MySQL备忘目录目录使用MySQL检索数据排序检索数据过滤数据数据过滤用通配符进行过滤用正则表达式进行搜索创建计算字段使用数据处理函数数值处理函数汇总数据分组数据使用子查询作为计算字段使用子查询联结表创建高级联结组合查询全文本搜索插入数据更新和删除数据使用MySQLmysql -u<usr> -p -h<h...
2024-01-10MySQL学习笔记(12):触发器
本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。目录SQL语句示例SQL语句为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。CREATE TRIGGER triggername BEFORE|AFTER INSERT|UPDATE|DELETEON tablename FOR EACH ROWstatement_list在statement_list中使用别名OLD和NEW来引用触发器中发生变化的旧记录...
2024-01-10MySQL查询倒数第二条记录实现方法
有时候会用到查询倒数第二条记录 last=HolderChangeHistory.find_by_sql([" SELECT * FROM holder_change_histories where treasure_id = ? order by id desc limit 1,1 ", @hch.treasure_id])se...
2024-01-10MYSQL从每个类别中选择一个随机记录
我有一个带有Items表的数据库,看起来像这样:idnamecategory (int)有数十万条记录。每个item可以在7个不同categories的categories表之一中,对应于一个表:idcategory我想要一个从每个类别中选择1个随机项目的查询。解决这个问题的最佳方法是什么?我知道使用Order By rand()和LIMIT1用于类似的随机查询,但...
2024-01-10MySQL不允许用户登录:错误1524
Server version: 5.7.10 MySQL Community Server (GPL)在MySQL中,我有一个用户芒果。当我创建它时,用户可以完美地工作。但是,重新启动计算机后,尝试登录芒果会产生以下输出:$ mysql -u mangos -pEnter password: ERROR 1524 (HY000): Plugin '*some_random_long_hash_I_cannot_remember' is not loaded$这让我想起了密码哈希,因此在调查mys...
2024-01-10MySQL优化(4):查询缓存
查询缓存:MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf)在[mysqld]段中,修改query_cache_type完成配置:0:关闭1:开启,但是默认缓存,需要增加sql-no-cache提示,放弃缓存(自动全部存,手动设置哪些不存)2:开启,但是默认不缓存,...
2024-01-10赞!7000字学习笔记,一天搞定MySQL
MySQL数据库简介MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提...
2024-01-10让MySQL为我们记录执行流程G
让MySQL为我们记录执行流程我们可以开启profiling,让MySQL为我们记录SQL语句的执行流程查看profiling参数shell > select @@profiling;进行更改shell > set profiling = 1;执行语句select * from employees limit 100;查看该语句执行流程show profile;分别是启动权限检查打开表初始化表锁系统优化查询统计优化...
2024-01-10详细讲述MySQL中的子查询操作
继续做以下的前期准备工作: 新建一个测试数据库TestDB; create database TestDB; 创建测试表table1和table2; CREATE TABLE table1 ( customer_id VARCHAR(10) NOT NULL, city VARCHAR(10) NOT NULL, PRIMARY KEY(customer_id) )ENGINE=INNODB DEFAULT CHARSET=UTF8; CREATE...
2024-01-10MYSQL OR vs IN性能
我想知道以下两个方面在性能方面是否有差异SELECT ... FROM ... WHERE someFIELD IN(1,2,3,4)SELECT ... FROM ... WHERE someFIELD between 0 AND 5SELECT ... FROM ... WHERE someFIELD = 1 OR someFIELD = 2 OR someFIELD = 3 ...还是MySQL将以与编译器优化代码相同的方式优化SQL?编辑:改变了AND‘s到OR的在注释中规定的原因。回答:我确实需...
2024-01-10一次神奇的MySQL死锁排查记录
背景说起Mysql死锁,之前写过一次有关Mysql加锁的基本介绍,对于一些基本的Mysql锁或者死锁都有一个简单的认识,可以看下这篇文章为什么开发人员需要了解数据库锁。有了上面的经验之后,本以为对于死锁都能手到擒来,没想到再一个阳光明媚的下午报出了一个死锁,但是这一次却没想象的那么简...
2024-01-10