前言 随着业务的发展,用户对系统需求变得越来越多,这就要求系统能够快速更新迭代以满足业务需求,通常系统版本发布时,都要先执行数据库的DDL变更,包括创建表、添加字段、添加索引、修改字段属性等。在数据量大不大的情况下,执行DDL都很快,对业务基本没啥影响,但是数据量大的情况,而且我们业务做了读写分离,接入了
转载
2023-09-21 13:02:04
323阅读
本文主要对InnoDB在线DDL的一些简单讨论,包括要求,失败的原因和存在的问题等内容。1. 在线DDL对磁盘的要求1)临日志文件在执行DDL时候,并发的DML会被阻塞,因此需要日志文件保存这些请求。可调整参数:innodb_sort_buffer_size,innodb_online_alter_log_max_size。如果临时文件超过上限,那么DDL执行将会失败,没有提交的DML也会回滚。2
转载
2023-08-10 16:08:07
131阅读
Mysql的DDL:对表的操作
DDL语句建库建表
SQL(脚本)语法不区分大小写
SQL语句结束后要加分号‘ ;’
写完的语句要及时保存;
SQL的错误提示不准确;
DDL操作数据库:
caeate database 数据库名字 //创建数据库;
drop database 数据库名字 //删除数据库;
show databases
转载
2023-09-26 09:36:09
75阅读
如下内容,是我在课堂做得笔记。总结出来的!!!1、数据库事务介绍1.1 什么叫数据库事务事务是一组逻辑操作单元,使数据从一种状态变换到另一种状态。要么都执行,要么都不执行。一组逻辑操作单元:一个或多个DML操作。1.2 事务处理的原则事务处理(事务操作): 保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commi
什么是锁?mysql中有哪几种锁表级锁表级锁-表锁 write lock 写锁, 加锁客户端,可以读写操作, 其他客户端不能 读,写操作表级锁-元数据锁 一个例子,事务中,增删改查时候,会自动加入元数据锁,不允许对表结构进行修改表级锁-意向锁 比较复杂,看视频(https://www.bilibili.com/video/BV1Kr4y1i7ru?p=126&vd_source
DDL(Data Definition Language),数据定义语言,用来定义数据库对象:数据库,表,列等,例如创建、删除、修改:数据库、表结构等。本文主要讲的是mysql数据库中DDL语言的使用,当然这与sql标准的DDL是一脉相承的,只是特定数据库的数据类型有差异。1.操作数据库的DDL,包括数据库查看、切换、创建和删除等首先是客户端的用户登录,比如windows的dos状态下,mysql
转载
2023-07-14 18:01:19
87阅读
MySQL-1设置默认字符集SQLyog远程登陆DDL基础操作 设置默认字符集要将默认字符集设置为utf-8,防止插入中文数据报错 第一步:关闭mysql服务 service mysql stop 第二步:修改配置文件 vi /usr/my.cnf 第三步:启动mysql服务:service mysql start 现在的默认字符集就是utf-8了SQLyog远程登陆首先修改配置: 将数据库切换
转载
2024-05-15 20:11:43
88阅读
# 如何实现 ANTLR MySQL DDL 规则文件
在现代数据库开发中,解析与处理数据库定义语言(DDL)是很重要的技能。ANTLR(ANother Tool for Language Recognition)是一个强大的工具,可以用来生成解析器和词法分析器。在本文中,我们将介绍如何使用 ANTLR 创建一个 MySQL DDL 规则文件,并将整个流程拆分成易于理解的步骤。
## 流程概述
原创
2024-09-23 04:12:41
57阅读
online DDL是在mysql5.6版本后加入的特性,用于支持DDL执行期间DML语句的并行操作,提高数据库的吞吐量。online DDL结构简图如下: 由上图可知online DDL大体可以分为3部分:1、copy(ALGORITHM=COPY)这部分是offline的,在DDL执行期间其他DML不能并行,也是5.6版本前的DDL执行方法。其间生成临时表(server层
转载
2024-06-07 23:01:11
127阅读
SQL ( Structure query language ) 结构化查询语言SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER2、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE3、DML语句 数据库操纵语言: 插入数据INS
转载
2023-11-07 00:47:55
172阅读
一、常见的几种方案1.1 MySQL源生的IN-PLACE ONLINE DDL5.5,5.6 开始支持
5.7 支持的更好,有更多ddl操作支持online
8.0 支持快速加列功能1.2 第三方工具1. pt-online-schema-change
2. gh-ost1.3 slave 先ddl,后切换主从二、方案剖析2.1 MySQL源生的IN-PLACE ONLINE DDL原理原理比较
转载
2024-01-12 11:36:50
118阅读
导读 学习MySQL时间也不短了,一直习惯于增删改查。近期,系统学习了一下DDL,简单总结一下DDL中的增删改查…… 01 MySQL语言分类MySQL作为最流行的关系型数据库之一,有着和其他主流数据库几乎一致的SQL语法。相较于其他编程语言来说,虽然SQL语法比较简单,关键字也比较少,但实际也是麻雀虽小五脏俱全的。一般来说,SQL语言主要分为三类:DML(Data Manipulation La
转载
2023-09-05 12:20:43
76阅读
SQL语句主要分为3类: DDL(Data Definition Languages):数据定义语言,这些语句主要定义了不同的数据段,数据库,表,列,索引等,常用的关键词:create,drop,alter等。
DML(Data Manipulation Language):数据操纵语言,用于添加,删除,更新和查询数据库记录的。常用关键词:insert,delete,update,sel
转载
2023-08-21 10:33:29
184阅读
最近在研究如何给MySQL数据库的大表在线添加索引,查询了下资料,MySQL提供了online ddl功能,可以不锁表的执行DDL操作,网络上有些文章有讲解,但是都没有做基准测试。今天正好有空,就做个测试看看online DDL的实际效果。online DDL简介online DDL功能为表结构的更改和并发DML提供支持。此功能的优点包括:几乎不影响线上DML语句的效率。使用LOCK子句在DDL操
转载
2023-08-04 23:30:31
46阅读
一、基本的命令行操作1.启动MySQL服务net start mysql
C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。2.连接数据库mysql -u root -p -- 连接数据库3.设置密码update mysql.user set authentication_string=password
转载
2023-10-23 10:44:48
46阅读
MySQL 表结构信息存储InnoDB 表和索引可以创建在系统表空间或者独立表空间(innodb_file_per_table=on)。对于 InnoDB 表,MySQL 会将表的数据字典信息存储在 .frm 文件中,同时也会存储入口信息(数据库名/表名)到系统表空间,在 INFORMATION_SCHEMA.INNODB_SYS_* 系统表中能够查询到表结构信息;如果 innodb_file_p
转载
2023-09-26 13:04:12
174阅读
前言SQL的语言分类主要包含如下几种:DDL数据定义语言create、drop、alter数据定义语言 create、drop、alter 语句 。DML数据操纵语言insert、delete、update定义对数据库记录的增、删、改操作。DQL数据库查询语言select定义对数据库记录的查询操作。DCL数据库控制语言grant、remove定义对数据库、表、字段、用户的访问权
在介绍这些SQL语言之前,先罗列一下mysql的常用数据类型和数据类型修饰,供查询参考后面的带数字表示此类型的字段长度数值型:
TINYINT 1 ,SMALLINT 2,MEDIUMINT 3 ,INT 4,BIGINT 8,DECIMAL,FLOAT 4,DOUBLE 8,BIT
字符串型:
CHAR,VARCHAR,BINARY,VBINARY,TINYBLOB,BLOB,MEDIUMBLO
本篇文章来回顾一下MySQL的基本操作之DDL,DML,DQL,DCL,每种操作都有各自不同的语法,常用的操作汇总如下。一、DDL-数据定义语言作用:数据定义语言主要用来定义数据库中的各类对象,包括用户、库、表、视图、索引、触发器、事件、存储过程和函数等。常见的DDL操作的基本用法如下:CREATE USER #创建用户
CREATE DATABAS
转载
2024-06-28 20:02:07
77阅读
[size=large][b]MySQL 如何导入导出数据
使用mysqldump:(mysqldump命令位于默认安装C:\Program Files\MySQL\MySQL Server 5.1\bin目录中),mysqldump工具很多方面类似相反作用的工具mysqlimport,它们有一些同样的选项。但mysqldump能够做更多的事情,它可以
转载
2023-09-27 10:01:45
154阅读