MySQL
文章平均质量分 72
MySQL学习
_Johnny_
这个作者很懒,什么都没留下…
展开
-
MySQL 查询数据库的数据总量
需求:查看MySQL数据库的数据总量,以MB为单位展示数据库占用的磁盘空间。这个查询将返回数据库的名称和大小(以MB为单位)。这里,是表数据的大小,是索引的大小。我们将这两个值相加,然后除以1024两次(因为1MB = 1024KB,1KB = 1024字节)来转换为MB。原创 2024-09-14 16:46:22 · 537 阅读 · 0 评论 -
mysql8-基于docker搭建主从同步
-基于docker-compose搭建mysql8主从同步原创 2023-09-06 13:43:15 · 1086 阅读 · 0 评论 -
mysql5.7-基于docker-compose搭建主从同步
基于docker-compose部署mysql主从同步服务原创 2023-09-05 13:56:37 · 909 阅读 · 0 评论 -
设置MySQL数据库的全局事务隔离级别为 READ-COMMITTED
【代码】设置MySQL数据库的全局事务隔离级别为 READ-COMMITTED。原创 2023-07-14 10:11:48 · 832 阅读 · 0 评论 -
MySQL数据表查询group by的用法及distinct区别
分组聚合最常用的场景就是分组聚合,由多条变成比较少记录的过程是分组聚合,既然需要分组,就要考虑使用哪个字段进行分组最好,一般来说,主键才是group by 后面的分组字段主键(PRIMARY KEY)的完整称呼是“主键约束”,分为单字段主键和多字段联合主键,这两种主键约束都可以创建、修改和删除使用主键应注意以下几点:每个表只能定义一个主键。主键值必须唯一标识表中的每一行,且不能为 NULL,即表中不可能存在有相同主- 键值的两行数据。这是唯一性原则。一个字段名只能在联合主键字段表中出现一次。原创 2021-12-27 23:17:12 · 1315 阅读 · 0 评论 -
MySQL使用正则表达式
正则表达式主要用来查询和替换符合某个模式(规则)的文本内容,强大且灵活,常用于非常复杂的查询。和LIKE相比,匹配的规则非常全面。MySQL 中,使用 REGEXP 关键字指定正则表达式的字符匹配模式,其基本语法格式如下:属性名 REGEXP '匹配方式'其中,“属性名”表示需要查询的字段名称;“匹配方式”表示以哪种方式来匹配查询。“匹配方式”中有很多的模式匹配字符,它们分别表示不同的意思。下表列出了 REGEXP 操作符中常用的匹配方式。选项说明例子匹配值示例^匹配文本原创 2021-12-27 23:13:40 · 854 阅读 · 0 评论 -
MySQL笛卡尔积和交叉连接
笛卡尔积笛卡尔积(Cartesian product)是指两个集合 X 和 Y 的乘积。若表1有m行,表2有n行,则结果m*n行例如,有 A 和 B 两个集合,它们的值如下:A = {1,2}B = {3,4,5}集合 A×B 和 B×A 的结果集分别表示为:A×B={(1,3), (1,4), (1,5), (2,3), (2,4), (2,5) };B×A={(3,1), (3,2), (4,1), (4,2), (5,1), (5,2) };以上 A×B 和 B×A 的结果就叫做两原创 2021-12-27 23:11:40 · 1827 阅读 · 0 评论 -
MySQL数据表操作-查询方法汇总(SELECT)
查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作,在 MySQL中,可以使用 SELECT 语句来查询数据。语法格式SELECT{* | <字段列名>}[FROM <表 1>, <表 2>…[WHERE <表达式>[GROUP BY <group by definition>[HAVING <expression> [{<operator> <expres原创 2021-03-14 22:40:37 · 489 阅读 · 0 评论 -
MySQL 处理 null 值的问题
MySQL中NULL值是比较IS NULL: 当列的值是 NULL,此运算符返回 trueIS NOT NULL: 当列的值不为 NULL, 运算符返回 true<=>: 安全的等于,比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。MySQL中NULL是不参与计算的,对NULL进行计算,使用 IS NULL 和 IS NOT NULL 运算符只有“<=>”才支持NULL的比较,其他比较运算对有NULL操作数时返回的结果就是NULL,永远原创 2021-02-25 22:46:11 · 560 阅读 · 0 评论 -
MySQL常用运算符(算数、逻辑、比较、位)及其优先级
每种数据库都支持 SQL 语句,但是它们也都有各自支持的运算符。MySQL 所提供的运算符可以直接对表中数据或字段进行运算,共有4 种运算符:算术运算符、 比较运算符、逻辑运算符和位运算符1) 算术运算符执行算术运算,例如:加、减、乘、除和取余运算等。运算符作用使用方法+加法运算用于获得一个或多个值的和-减法运算用于从一个值中减去另一个值*乘法运算使数字相乘,得到两个或多个值的乘积/除法运算,返回商用一个值除以另一个值得到商,保留四位小数,如果除原创 2021-02-25 22:43:18 · 12124 阅读 · 0 评论 -
MySQL约束总结(CONSTRAINT)
约束的含义一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性。MySQL数据库通过约束(constraints)防止无效的数据进入到表中,以保护数据的实体完整性。约束的分类在 MySQL 中,主要有六种约束:1、NOT NULL:非空约束,用于约束该字段的值不能为空。比如姓名、学号等。2、DEFAULT:默认值约束,用于约束该字段有默认值,约束当数据表中某个字段不输入值时,自动为其添加一个已经设置好的值。比如性别。3、PRIMARY KEY:主键约束,用于约束该字段的值具有唯一性,至原创 2021-02-15 22:45:26 · 16207 阅读 · 1 评论 -
MySQL数据表操作-删除数据表(DROP TABLE)
基本语法使用 DROP TABLE 语句可以删除一个或多个数据表,在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。语法格式如下:DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]对语法格式的说明如下:表名1, 表名2, 表名3 ...表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。IF EXISTS 用于在删除数据表之前判断该表原创 2021-02-02 23:26:45 · 17735 阅读 · 0 评论 -
MySQL数据表操作-修改数据表(ALTER TABLE)
修改数据表的前提是数据库中已经存在该表。修改表指的是修改数据库中已经存在的数据表的结构。例如增加或删减列、更改原有列类型、重新命名列或表等。语法ALTER TABLE <表名> [修改选项][修改选项]的语法格式如下:{ ADD COLUMN <列名> <类型>| CHANGE COLUMN <旧列名> <新列名> <新列类型>| ALTER COLUMN <列名> { SET DEFAULT <默认值&原创 2021-01-28 00:35:45 · 9575 阅读 · 0 评论 -
MySQL数据表操作-创建数据表(CREATE TABLE)
语法CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的CREATE [临时表] TABLE <表名> ([表定义选项])[表选项][分区选项];CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options]原创 2021-01-27 23:39:05 · 3297 阅读 · 0 评论 -
MySQL数据表使用(SHOW DESC USE等)
使用数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || db_test || db_test_db || mysql || performance_schema || sys || test001原创 2021-01-25 00:33:25 · 688 阅读 · 0 评论 -
MySQL存储引擎 (包括 InnoDB 和 MyISAM 对比)
数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。简而言之,存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。常用的是InnoDB和MyISA原创 2021-01-22 00:10:08 · 158 阅读 · 0 评论 -
MySQL数据类型-二进制类型 (BLOB BINARY等)
MySQL 支持两类字符型数据:文本字符串和二进制字符串。二进制字符串类型有时候也直接被称为“二进制类型”。MySQL 中的二进制字符串有 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。MySQL二进制类型下表中列出了 MySQL 中的二进制数据类型,括号中的M表示可以为其指定长度。类型名称说明存储需求BIT(M)位字段类型大约 (M+7)/8 字节BINARY(M)固定长度二进制字符串M原创 2021-01-20 01:09:51 · 6241 阅读 · 0 评论 -
MySQL数据类型-字符串类型 (CHAR VARCHAR等)
字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据。字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找。MySQL 中的字符串类型有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 等。MySQL字符串类型字符串类型没有像数字类型列那样的“取值范围",但它们都有长度的概念。如果需要存储的字符串短于 256 个字符,那么可以使用 CHAR、VARCHAR 或 TINYTEXT。如果需要存储更长一点的字符原创 2021-01-17 22:18:15 · 14560 阅读 · 0 评论 -
MySQL数据类型-日期和时间类型 (DATETIME DATE等)
MySQL提供日期和时间的类型以及日期和时间的组合,表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值,并将零值插入到数据库中。TIMESTAMP类型有专有的自动更新特性日期和时间类型参考 MySQL5.7 Date and Time Data Type Syntax类型大小 ( bytes)范围格式用途说明YEAR1个字节19原创 2021-01-17 22:16:18 · 10835 阅读 · 0 评论 -
MySQL数据类型-数值类型 (整数 小数)
MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。大致可以分为四类:数值、日期/时间、字符串(字符)和二进制类型。数值类型MySQL支持所有标准SQL数值数据类型。整数类型、浮点数类型和定点数类型整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT浮点数类型包括 FLOAT 和 DOUBLE定点数类型为 DECIMAL。原创 2021-01-13 00:31:41 · 5669 阅读 · 0 评论 -
MySQL数据库操作-删除数据库 (DROP DATABASE)
当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。删除数据库在 MySQL中,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为:DROP DATABASE [ IF EXISTS ] <数据库名>语法说明如下:<数据库名>:指定要删除的数据库名。IF EXISTS:用于防止当数据库不存在时发生错误。DROP DATAB原创 2021-01-11 22:11:26 · 27791 阅读 · 0 评论 -
MySQL数据库操作-修改数据库 (ALTER DATABASE)
在 MySQL数据库中只能对数据库使用的字符集和校对规则进行修改,数据库的这些特性都储存在 db.opt 文件中。下面来介绍一下修改数据库的基本操作。修改数据库在 MySQL 中,可以使用 ALTER DATABASE 来修改已经被创建或者存在的数据库的相关参数。修改数据库的语法格式为:ALTER DATABASE [数据库名] { [ DEFAULT ] CHARACTER SET <字符集名> |[ DEFAULT ] COLLATE <校对规则名>}语法说明如下:原创 2021-01-10 22:17:47 · 5746 阅读 · 0 评论 -
MySQL数据库操作-创建数据库 (CREATE DATABASES)
创建数据库在 MySQL中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下:CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];语法 [DEFAULT] CHARACTER SET <字符集名> 也可以使用 [DEFAULT] CHARSET <字符集名> 的语法其原创 2021-01-07 22:59:54 · 5344 阅读 · 0 评论 -
MySQL数据库操作-查看数据库 (SHOW DATABASES)
数据库可以看作是一个专门存储数据对象的容器,每一个数据库都有唯一的名称,并且数据库的名称都是有实际意义的,这样就可以清晰的看出每个数据库用来存放什么数据。在 MySQL数据库中存在系统数据库和自定义数据库,系统数据库是在安装 MySQL 后系统自带的数据库,自定义数据库是由用户定义创建的数据库。查看数据库在 MySQL 中,可使用 SHOW DATABASES 语句来查看或显示当前用户权限范围以内的数据库。查看数据库的语法格式为:SHOW DATABASES [LIKE '数据库名'];语法说明原创 2021-01-07 22:52:13 · 10782 阅读 · 0 评论 -
数据库基础
术语数据库系统(Database System,DBS)数据库系统(Database System,DBS)由硬件和软件共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分主要包括数据库管理系统、支持数据库管理系统运行的操作系统,以及支持多种语言进行应用开发的访问技术等。数据库(DataBase,DB)数据库(DataBase,DB)数据库(Database)指长期存储在计算机内的、有组织的、可共享的数据集合。通俗的讲,数据库就是存储数据的地方提供了一个存储空间来存储各种原创 2021-01-06 23:04:18 · 273 阅读 · 0 评论 -
SQL语句生成随机数的方法
SQL中的随机函数rand(),属于SQL Server,我实在MySQL、Oracle和ODPS中进行的测试比较 CEILING 和 FLOORCEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。随机小数SELECT RAND()0.8342308原创 2020-06-23 17:13:07 · 28740 阅读 · 3 评论 -
DDL、DML和DCL的区别与理解
SQL主要分成四部分:(1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。(2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。(3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。(4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。缩写说明DML(data manipulation language)它们是SELECT、UPDAT原创 2020-06-01 08:45:27 · 618 阅读 · 0 评论 -
MySQL 聚合函数
聚合函数特点组函数,将字段当作一个组进行统计,可结合分组GROUP BY联合使用不用GROUP BY,中间结果集中的所有行自动形成一组,然后计算组合数每个组函数接收一个参数(字段名或者表达式) 统计结果中默认忽略字段为NULL的记录,不参与计算要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。不允许出现嵌套 比如sum(max(…))内容SEL...原创 2018-10-11 17:27:16 · 1629 阅读 · 0 评论 -
MySQL 增删改查
创建表CREATE TABLE JOHNNY ( id INT NOT NULL, sid INT NOT NULL DEFAULT 000, NAME CHAR(255) NOT NULL DEFAULT 111, price DECIMAL (8, 2) NOT NULL DEFAULT 222, PRIMARY KEY (id));增,添加数据语法1:指定...原创 2018-10-11 17:26:19 · 268 阅读 · 0 评论 -
MySQL 多表查询
创建数据库并插入数据表一,fruits,水果# 创建表,数据类型请自行查询CREATE TABLE fruits ( id INT NOT NULL, sid INT NOT NULL, NAME CHAR(255) NOT NULL, price DECIMAL (8, 2) NOT NULL, PRIMARY KEY (id));# 表中插入数据INSERT ...原创 2018-10-11 17:23:50 · 379 阅读 · 0 评论 -
MySQL 单表查询
创建数据库并插入数据# 创建表,数据类型请自行查询CREATE TABLE fruits ( id INT NOT NULL, sid INT NOT NULL, NAME CHAR(255) NOT NULL, price DECIMAL (8, 2) NOT NULL, PRIMARY KEY (id));# 表中插入数据INSERT INTO fruitsV...原创 2018-10-11 17:22:38 · 1929 阅读 · 0 评论 -
MySQL 环境安装 8.0.12免安装版本
环境windwos 108.0.12免安装版本mysql Windows (x86, 64-bit), ZIP Archive 8.0.12初始化管理员cmd进入‘/mysql/bin’目录命令说明mysqld --initialize-insecure自动生成无密码的root用户mysqld --initialize自动生成随机密码用户,密码(pass...原创 2018-10-11 17:20:22 · 644 阅读 · 0 评论 -
MySQL 基础语句
数据库基础操作开启MySQL服务net start mysql关闭MySQL服务net stop mysql登陆MySQLmysql -u帐号 -p 输入密码mysql -uroot -p查看所有数据库show databases;创建数据 create database zhao charset utf8;删除数据库drop database ZHAO;数...原创 2018-10-11 17:14:58 · 178 阅读 · 0 评论