数据库基础知识
什么是MySQL?
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。在Java企业级开发中非常常用,因为 MyS
阅读全文
springboot整合canal实现对mysql数据库实时监控
canalCanal介绍Mysql环境准备安装canalspringboot整合canalCanal介绍官网地址:https://github.com/alibaba/canalcanal[kə’næl],译意为水道/管道/沟渠,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务trigger获取增量变更。从2010年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大
阅读全文
深耕MySQL - 50道SQL练习题
文章目录1.数据准备2.50道SQL面试题1、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(难)2、查询平均成绩大于60分的学生的学号和平均成绩3、查询所有学生的学号、姓名、选课数、总成绩4、查询姓“猴”的老师的个数5、查询没学过“张三”老师课的学生的学号、姓名6、查询学过“张三”老师所教的所有课的同学的学号、姓名7、查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名8、查询课程编号为“02”的总成绩9、查询所有,课程成绩小于60分的学生的学号、姓名10、
阅读全文
Centos使用yum安装mysql5.6
1. 检查系统中是否已经安装mysql
rpm -qa | grep mysql
返回空的话就说明没安装mysql
注意:在新版本的Centos7.X中,默认的数据库是Mariadb,而非mysql,所以执行yum install mysql命令只是更新Mariadb数据库,并不会安装mysql。
yum install mysql
2. 查看已安装的Mariadb版本
rpm -qa|g
阅读全文
Mybatis动态SQL
在实际开发中,我们往往需要写复杂的sql语句,需要拼接,而稍微一个不注意,由于引号,空格等缺失可能都会导致错误。MyBatis提供了动态SQL,也就是可以根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容。那么好,我们就来说说MyBatis一些常见的dongtaiSQL。
if 和 where 标签
select id,name
阅读全文
MyBatis占位符#{}和拼接符${}的区别
有没有发现,我们去面试时偶尔会问到MyBatis占位符#{}和拼接符${}的区别,那么我就给大家总结一下,以下纯属个人见解。
现象和展示
Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}
我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成
阅读全文
MySQL语句分类
如大家所知SQL语句被分为五大类:
数据定义语言DDL
数据查询语言DQL
数据操纵语言DML
数据控制功能DCL
事务控制语言TCL
相信大多数人都对SQL有一定的了解,这里只对分类做一些简单介绍,方便理解
数据定义语言DDL(Data Definition Language)
CREATE,DROP,ALTER
主要为创建、修改、删除数据库的逻辑结构,其中包括表结构,视
阅读全文
MySQL复制表的三种方式
复制表结构及其数据
下面这个语句会拷贝数据到新表中。
注意:这个语句其实只是把select语句的结果建一个表,所以新表不会有主键,索引。
create table table_name_new as (select * from table_name_old);
只复制表结构
create table table_name_new as select * from table_nam
阅读全文
MySQL删除表的三种方式
drop table
drop 是直接删除表信息,速度最快,但是无法找回数据
例如删除 user 表:
drop table user;
truncate (table)
truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用
例如删除 user 表:
truncate table user;
delete from
delete 是删除表中的数据,
阅读全文
MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别
注:下面的讨论和结论是基于 InnoDB 引擎的。
首先要弄清楚 count() 的语义。count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。
所以,count(*)、count(1)和count(主键 id) 都表示返回满足条件的结果集的总行数;而 count(字段),则表示返回满足条件的数据行
阅读全文
MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别
注:下面的讨论和结论是基于 InnoDB 引擎的。
首先要弄清楚 count() 的语义。count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。
所以,count(*)、count(1)和count(主键 id) 都表示返回满足条件的结果集的总行数;而 count(字段),则表示返回满足条件的数据行
阅读全文
Loading...