mysql数据库
文章平均质量分 80
橡秄
我亦无他,唯手熟尔
展开
-
正则表达式
正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。MySQL通过REGEXP关键字支持正则表达式进行字符串匹配。java,python也支持正则表达式的匹配应用。这里先贴一下正则表达式的匹配规则,然后在后文对各种规则进行实践。1,^,匹配输入字符串的结束位置,给个例子:SELECT 'ABC' REGEX原创 2022-03-02 15:23:42 · 425 阅读 · 0 评论 -
Mysql数据库基本操作(十五)Mysql优化(2)性能优化
上一篇:Mysql数据库基本操作(十五)Mysql优化(1)性能分析文章目录1,使用trace跟踪sql优化器2,索引优化2.1 准备数据2.2 索引使用注意事项2.2.1 全值索引2.2.2 避免索引失效应用-最左前缀法则2.2.3 索引其他注意事项2.2.4 覆盖索引原则2.2.5 使用or时注意2.2.5 使用like的注意事项2.2.6 有时不该设置索引3,sql优化3.1 优化insert语句3.2 优化order by语句3.3 优化group by语句3.4 优化子查询3.4 limit优原创 2022-02-23 22:40:04 · 677 阅读 · 0 评论 -
Mysql数据库基本操作(十五)Mysql优化(1)性能分析
在应用的的开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的SQL语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化.一般Mysql的优化分为两步,首先分析Mysql的性能,然后想出对应的方法优化。一,性能分析1.1 查看sQL执行频率MySQL客户端连接成功后,通过show [session|global] status命令可以查看服务器状原创 2022-02-22 19:43:04 · 740 阅读 · 0 评论 -
Mysql数据库基本操作(十四)日志
文章目录1,错误日志2,二进制日志2.1 binlog日志查询基本操作2.2 补充:日志格式3,查询日志4,慢查询日志在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL也不例外。1,错误日志错误日志是MysQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的,默认存放目录为mysql的原创 2022-02-20 17:05:03 · 1586 阅读 · 0 评论 -
Mysql数据库基本操作(十三)锁机制
1,基本概念1,锁是计算机协调多个进程或线程并发访问某一资 源的机制(避免争抢)。2,在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题3,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁的分类(读的时候有印象即可,主要看下面锁的操作这一部分内容来理解锁)1,从对数据操作的粒度分:1)表锁:操作时,会锁定整个表。偏向M原创 2022-01-25 16:39:38 · 734 阅读 · 0 评论 -
Mysql数据库基本操作(十二)事务
1,基本概念1,只有innodb存储引擎支持事务,行级锁定,外键2,事务处理可以用来维护数据库的完整性,保证成批的sQL语句要么全部执行,要么全部不执行3,事务用来管理DDL、DML、DCL操作,比如insert,update,delete语句,默认是自动提交的。4,为什么我们需要事务管理DDL,DML,DCL操作?因为这些操作都是对数据库有一些增删改的动作,有时候为了完成一个逻辑动作必须要用两个或者多个sql语句执行这个逻辑动作。因此我们必须确保这些sql语句都成功或者都失败。例如银行转账问题,转原创 2022-01-25 16:00:23 · 3188 阅读 · 0 评论 -
Mysql数据库基本操作(十一)mysql的存储引擎
mysql存储引擎这块没什么涉及的操作,只有一些需要了解的概念,了解存储引擎对于同学理解整个数据库管理系统是很有必要的。基本概念1,数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。2,不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。3,用户可以根据不同的需求为数据表选择不同的存储引擎4,可以使用SHOW ENGINES命令可以查看Mysql的所有原创 2022-01-21 22:08:57 · 262 阅读 · 0 评论 -
Mysql数据库基本操作(十)索引
索引一张表的索引就好像一本书的目录,书的目录就是将每一章节的标题按照树形结构组织起来,方便我们按照目录查到书的某一章节的内容;而数据表的索引就是将数据表中每个记录的某一列或者多列按照一定的方式组织起来,方便我们可以直接按照索引查到对应的记录。这里说的组织方式一般是指哈希散列存储组织或者B+树组织(一般是B+树)。一般数据表比较大的时候就需要创建索引提高查找速度。1,单列索引1.1 普通索引MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。1,创原创 2022-01-21 20:58:27 · 1440 阅读 · 0 评论 -
Mysql数据库基本操作(九)视图
1,基本概念视图(view)是一个虚拟表,非真实存在,其本质是根据sQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用。所以我们对于数据库的一些select操作得出的一个查询结果就是一个视图。数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。2,作用1)简化原创 2022-01-21 19:27:21 · 1092 阅读 · 0 评论 -
Mysql数据库基本操作(八-2)窗口函数
首先介绍所有窗口函数的用法,然后分块来分别介绍各个窗口函数的作用。用法:window_function ( expr ) OVER(PARTITION BYORDER BY ...frame_clause)1,序号函数序号函数有三个,分别为ROW_NUMBER(),RANK(),DENSE_RANK(),接下来解释其用法与作用:2,分布函数3,前后函数4,头尾函数5,其他函数...原创 2022-01-21 17:44:18 · 457 阅读 · 0 评论 -
Mysql数据库基本操作(八-1)mysql函数
在MySQL中,为了提高代码重用性和隐藏实现细节,MySQL提供了很多函数。聚合函数聚合函数count,sum,min,max,avg前面已经介绍过Mysql数据库基本操作(四)DQL-基本查询,接下来再介绍一个新的聚合函数group_concat(),group_concat()函数首先根据group by指定的列进行分组,并且用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果。对于以下表:用法:group_concat([distinct]字段名[order by排序字段asc/d原创 2022-01-20 18:52:29 · 1426 阅读 · 0 评论 -
C++连接mysql数据库,并且运行一个简单的例子
一,在vs上面配置环境在vs上配置环境首先要知道自己的mysql数据库安装在什么地方,默认是安装在C:\Program Files\MySQL\MySQL Server 8.0目录下的。该目录下的文件夹页面是这样的:清楚以后开始在vs中配置环境。1,如图:2,如图:3,4,5,根据mysql的安装位置找到include目录与lib目录,我的include目录:C:\Program Files\MySQL\MySQL Server 8.0\include我的lib目录:C:\Program原创 2022-01-17 17:26:07 · 1008 阅读 · 0 评论 -
Mysql数据库基本操作(七)多表查询-子查询,表自身关联查询
多表查询还有前面的两块内容——内连接查询,外连接查询,希望看到这章博客的朋友先去看看我的"Mysql数据库"专栏中Mysql数据库基本操作(六)多表查询-内连接,外连接这一章博客,看完再来看这一章的内容,相信即使你已经理解内连接,外连接查询,看博客的时候也会有新的收获。除此之外,接下类要将的子查询,表自身关联查询所用到的数据也在这篇博客中。Mysql数据库基本操作(六)多表查询-内连接,外连接子查询表自身关联查询...原创 2022-01-16 00:42:24 · 4206 阅读 · 0 评论 -
Mysql数据库基本操作(六)多表查询-内连接查询,外连接查询
数据准备use mydb3 ;--创建部门表create table if not exists dept3 (deptno varchar (20) primary key , --部门号name varchar (20 )--部门名字);--创建员工表create table if not exists emp3 (eid varchar (20) primary key , --员工编号ename varchar(20), --员工名字age int, --员工年龄dept_i原创 2022-01-15 21:20:52 · 4461 阅读 · 2 评论 -
Mysql数据库基本操作(五)多表关系与外键
一,多表关系多表关系有三种,一对一,一对多,多对多1,一对一关系:A表与B表通过一个字段对应,例如学生表和身份证表,一个学生只有一个身份证,一个身份证也只代表了一个学生。在实际开发环境中没必要使用一对一的关系,遇到一对一的关系不如直接将两个表一对一合并。2,一对多关系:A表中的一个字段可以对应B表中的多个字段,例如部门表和员工表,一个部门可以对应多个员工,但是一员工只对应一个部门,这种多表关系很常见。3,多对多关系:A表中的多个字段可以与B表的多个字段对应,例如学生表和选课表,一个学生可以选多门原创 2022-01-14 17:34:44 · 2482 阅读 · 0 评论 -
Mysql数据库基本操作(四)DQL-基本查询
假设有这样创建的一张表create table product (pid int primary key auto_increment, --商品编号pname varchar (20)not null , --商品名字price double, --商品价格category_id varchar (20) --商品所属分类) ;即这张表的名字是product,表的字段有商品编号,商品名字,商品价格,商品所属分类;接下来的所有查询以这张表举例子1,简单查询1)查询所有的商品select *f原创 2022-01-08 21:43:24 · 1753 阅读 · 0 评论 -
Mysql数据库基本操作(三)Mysql约束
表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值((手机号)不能为空,有些列的值((身份证号)不能重复。1,主键约束(primary key) PK主键约束是一个列或者多个列的组合,分别成为单列主键和多列联合主键,其值能唯一地标识表中的每一行,方便在数据表中尽快的找到某一行,关键字primary key,一个表中只能有一个主键。注意:多列联合主键也是一个主键——在单列主键中,每一行记录的主键列都不能相同,这一主键唯一标识一行;在多列联合主键中,每一行记录的联合主键原创 2022-01-08 17:59:31 · 1003 阅读 · 0 评论 -
Mysql数据库基本操作(二)数据库基本操作DML(增删改)
1,数据的插入格式1:insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...)格式2:insert into 表 values (值1,值2,值3...);# 1,数据的插入# 格式1:insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...)insert into student(sid,name,gender,age,birth,address,score) values(1001,'原创 2022-01-04 16:54:03 · 486 阅读 · 0 评论 -
Mysql数据库基本操作(一)数据库操作,表操作
一,数据库操作#1,查看数据库show databases;#2,创建数据库create DATABASE IF NOT EXISTS MYDB1;#3,选择数据库USE MYDB1;#4,删除数据库DROP DATABASE MYDB1;DROP DATABASE IF EXISTS MYDB1;#5,修改数据库编码ALTER DATABASE MYDB1 CHARACTER SET UTF8;二,表操作#1,使用mydb1数据库USE MYDB1;#2,创建一个表CR原创 2022-01-04 13:46:33 · 367 阅读 · 0 评论