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实战学习(三)
有序数组搜索树哈希表哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。优点:做数据新增时,索引的建立会比较快。适用于等值查询的场景。缺点:在进行数据区间查找时,会比较慢。有序数组由数组的特点可以知道,有序...
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-10【MySQL】笔记(1)
SQL: 结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品;SQL属于高级语言。只要能看懂英语单词的,写出来的sql语句,可以读懂什么意思;SQL语句在执行的时候,实际上内部也会先进行编译,然后再执行sql(sql语句的编译...
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死锁记录
今天线上环境偶现了一个 Deadlock found when trying to get lock; try restarting transaction 的报错,排查了一下,下面先模拟一下操作再说下排查流程模拟操作数据库脚本准备CREATE TABLE t (i INT) ENGINE = INNODB;INSERT INTO t (i) VALUES(1);A 客户端执行:START TRANSACTION;SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;...
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学习笔记(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-10MYSQL基础语句(自我记忆)
一.操作数据库 1.查看所有数据库 : show databases; 2.创建数据库 : create database name(数据库名); 3.删除数据库 ...
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创建和删除表操作命令实例讲解
创建表简单的方式CREATE TABLE person (number INT(11),name VARCHAR(255),birthday DATE);或者是CREATE TABLE IF NOT EXISTS person (number INT(11),name VARCHAR(255),birthday DATE);查看mysql创建表:SHOW CREATE table person;CREATE TABLE `person` ( `number` int(11) DEFAULT NULL, ...
2024-01-10MySQL优化(4):查询缓存
查询缓存:MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf)在[mysqld]段中,修改query_cache_type完成配置:0:关闭1:开启,但是默认缓存,需要增加sql-no-cache提示,放弃缓存(自动全部存,手动设置哪些不存)2:开启,但是默认不缓存,...
2024-01-10从MySQL查询返回第n条记录
我想从MySQL查询返回第二条,第三条或第四条记录(基于ID递增的查询)问题是,我不知道ID,只是它是查询中的第三行。回答:SELECT * FROM table ORDER BY ID LIMIT n-1,1它说从记录n开始返回一个记录。...
2024-01-10MySQL查询选择前十条记录?
要选择前10条记录,请在MySQL中使用LIMIT。让我们首先创建一个表-mysql> create table DemoTable-> (-> PageNumber text-> );使用插入命令在表中插入一些记录-mysql> insert into DemoTable values('Page-1');mysql> insert into DemoTable values('Page-2');mysql> insert into DemoTable values('Page-3');mysql> in...
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