力扣:https://leetcode-cn.com/ 力扣网数据库练习:https://leetcode-cn.com/problemset/database/ 文章目录 175. 组合两个表 题解: 1. LeetCode官方题解 2. 执行时间最快的mysql语句 笔记:on与where的区别 176. 第二高的薪水 题解: 1. LeetCode官方题解 2. 执行时间最快的mysql语句 笔记:关于解题思路与limit.isnull等 177. 第N高的薪水 题解: 1. LeetCo…
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类型以及定义作用域: 日志文件:记录MySQL对某种条件做出响应时候写入的文件,包括错误日志.查询日志.慢查询日志.二进制日志: Mysql表结构文件:存放MySQL表结构定义文件,不论采用何种存储引擎,MySQL都有一个以frm为后缀名的文件: Socket文件:当用linux的MySQL命令行窗口…
MySQL学习——操作数据库 摘要:本文主要学习了使用DDL语句操作数据库的方法. 创建数据库 语法 create database [if not exists] 数据库名 [default] character set 字符集名 [default] collate 校对规则名; 实例 mysql> create database if not exists demo -> default character set utf8 -> default collate utf8_gener…
MySQL学习——查看数据库信息 摘要:本文主要学习了查看数据库信息的方法. 查询指定表的索引 语法 show index from 表名; 示例 mysql> show index from user; +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------…
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool),分别由配置文件中的参数innodb_buffer_pool_size和innodb_log_buffer_size的大小决定. 缓冲池中缓存的数据也类型有:索引页(index page).数据页(data page).插入缓冲(insert buffer).自适应哈希索引(adaptive ha…
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的数量由配置文件中的innodb_file_io_threads参数控制,默认为4.4个IO线程分别是insert buffer thread.log thread.read thread.write thread. 在MySQL 5.6.10中,MySQL企业版MySQL的包括线程池,使用服务器插件…
落网数据库简单查询接口 一个简单的DEMO,使用了caddy + php7 + mongodb 数据库&接口设计 来自 https://github.com/Aedron/Luoo.spider 项目(V1.0版本分支) 参考地址:https://www.cnblogs.com/edit/p/luoo-service_caddy-php7-mongodb.html 环境配置: 下载程序,新建一个目录,比如 C:\web https://caddyserver.com/download 下载cad…
逻辑查询优化包括的技术 1)子查询优化  2)视图重写  3)等价谓词重写  4)条件简化  5)外连接消除  6)嵌套连接消除  7)连接消除  8)语义优化 9)非SPJ优化 一.子查询优化 1. 什么是子查询:当一个查询是另一个查询的子部分时,称之为子查询. 2. 查询的子部分,包含的情况: a) 目标列位置:子查询如果位于目标列,则只能是标量子查询,否则数据库可能返回类似“错误:子查询只能返回一个字段 ( [Err] 1242 - Subquery returns more than 1…
我直接把我的mysql学习笔记以图片的形式粘贴在这里了,供自己回顾(都是一些简单的语句)…
数据库的查询 注:文中 [ ...] 代表该部分可以去掉. 理论基础:对表对象的一组关系运算,即选择(selection).投影(projection)和连接(join) 1.select语句 子语句顺序: select  [distinct | distinctRow | all]    ----distinct关键字会在结果集中去掉重复的值而只保留一个值,否则有重复值 from where group by having order by                           …
任务1:记住如何存储到Mysql.mongoDB数据库 ''' 存储到Mysql ''' import pymysql.cursors class QuotePipeline(object): def __init__(self): self.connect = pymysql.connect( host='localhost', user='root', password='', database='quotes', charset='utf8', ) self.cursor = self.c…
--黑马程序员 DQL数据查询语言 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端.查询返回的结果集是一张虚拟表. 查询关键字:SELECT 语法: SELECT 列名 FROM表名 [WHERE --> GROUP BY -->HAVING--> ORDER BY] 语法: SELECT selection_list /*要查询的列名称*/ FROM table_list /*要查询的表名称*/ WHERE condition /*行条件*/ GROUP BY…
一.查询语句 1.  select [选项] 列名 [from 表名]  [where 条件]  [order by 排序]  [group by 分组]  [having 条件]  [limit 限制] 2. 字段表达式 select 10*10 select '锄禾日当午' 3. 通过as给列名取别名,as可以省略 select 10*10 as result select 10*10 result 4. from子句 a. from:来自,from后面跟的是数据源.数据源可以有多个.返回笛…
一.内连接[inner join] 1. 语法一:select 列名 from 表1 inner join 表2 on 表1.公共字段=表2.公共字段 2. 语法二:select 列名 from 表1,表2 where 表1.公共字段=表2.公共字段 3. 注意:显示公共字段需要指定表名,否则会报错 select stuinfo.stuno,stuname from stuinfo inner join stumarks on stuinfo.stuno=stumarks.stuno; 4. 三…
一.数据库管理系统 数据库管理系统(Database Management System, DBMS) 衡量是否是数据库的标准: ACID:是指在数据库管理系统(DBMS)中事务所具有的四个特性: 1) 原子性(Atomicity) 2) 一致性(Consistency) 3)隔离性(Isolation) 4)持久性(Durability) 1.关系型数据库:是建立在关系数据库模型基础上的数据库,借助于关系代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式…
本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为…
相信大家都接触过Mysql数据库,而且也肯定都会写sql.我不知道大家有没有这样的感受,反正我是有过这样的想法.就是当我把一条sql语句写完了,并且执行完得到想要的结果.这时我就在想为什么我写这样的一条sql语句,就能给我查询出我想要的结果,为什么我写了update就能更新一条语句?它们的执行过程是什么样的?它们的原理是什么?那么接下来我就来谈谈这个. select * from user where id=6 上面这条查询语句非常简单,就是查询一个id为6的用户信息.那么它的执行流程是怎么样的…
1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,长期储存在计算机内.有组织的.可共享的数据集合. 数据库中的数据指的是以一定的数据模型组织.描述和储存在一起.具有尽可能小的冗余度.较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享. 2.主要特点 ⑴ 实现数据共享 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享. ⑵ 减少数据的冗余度 同文件系统相比,由于数据库实现了数据共享,从而避免…
创建教材中的三张表格,并输入相应的数据 Create table student( Sno char(9), Same char(20), Ssex char(2), Sage smallint, Sdept char(20) ); Create table course( Cno char(4), Cname char(40), Cpno char(4), Ccredit smallint ); Create table sc( Sno char(9), Cno char(4), Grade…
1.建表和插入值 创建company数据库 创建 department表 create table department(d_id int(10) primary key not null unique,d_name varchar(20) not null,function varchar(20),address varchar(30));insert into department values(1001,'人事部','人事管理','北京');insert into department v…
一.数据库范式                                                                               为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 1.1.第一范式(1NF:每一列不可包含多个值)      所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列…
DQL查询 DQL语言 DQL( Data Query Language 数据查询语言 ) 查询数据库数据 , 如SELECT语句 简单的单表查询或多表的复杂查询和嵌套查询 是数据库语言中最核心,最重要的语句 使用频率最高的语句 SELECT语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]} FROM table_name [as table_al…
MySQL中select的基本语法形式: select 属性列表 from 表名和视图列表 [where 条件表达式] [group by 属性名[having 条件表达式]] [order by 属性名[asc|desc]] [limit <offset>,row count] 说明: where子句:按照“条件表达式”指定的条件进行查询. group by子句:按照“属性名”指定的字段进行分组. having子句:有group by才能having子句,只有满足“条件表达式”中指定的条件的…
一.多表连接查询 1.交叉连接 2.内连接 3.外连接之左连接 4.外连接之右连接 5.全外连接 二.符合条件连接查询 三.子查询 1.带in关键字的子查询 2.带比较运算符的子查询 3.带EXISTS关键字的子查询 本节重点: 多表连接查询 符合条件连接查询 子查询 准备工作:准备两张表,部门表(department).员工表(employee) create table department( id int, name varchar(20) ); create table employee…
一.单表查询的语法 二.关键字的执行优先级(重点) 三.单表查询示例 1.where约束 2.group by分组查询 3.聚合函数 4.HAVING过滤 5.order by查询排序 6.limit 限制查询的记录数 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 from where…
一.索引的优点:查询速度快 二.索引的缺点: 1. 增.删.改(数据操作语句)效率低了 2. 索引占用空间 三.索引类型: 1. 普通索引 2. 唯一索引(唯一键) 3. 主键索引:只要主键就自动创建主键索引,不需要手动创建 4. 全文索引,搜索引擎使用,mysql不支持中文的全文索引,我们通过sphinx去解决中文的全文索引 四.创建索引 1. 创建普通索引 a. 语法:create index 索引名 on 表名 (字段名) alter table 表名 add index [索引的名称]…
一.视图 1. 概念 a. 视图是一张虚拟表,它表示一张表的部分或多张表的综合的结构 b. 视图仅仅是表结构,没有数据.视图的结构和数据建立在表的基础上 2. 创建视图 a. 语法: create [or replace] view 视图的名称 as select 语句 b. 例题 create view vw_stu as select stuname, stusex,writtenexam,labexam from stuinfo inner join stumarks using(stun…
续前文: 中文代码之Spring Boot集成H2内存数据库 在词条中添加英文术语域: @Entity public class 词条 { @Id private long id; private String 英文术语; private String 中文术语; public 词条() { } public 词条(long id, String 英文术语, String 中文术语) { this.id = id; this.英文术语 = 英文术语; this.中文术语 = 中文术语; } pu…
一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b. 如果数据库名是关键字和特殊字符会报错,需要加上反引号(``) c. 创建数据库时可以指定字符编码,不指定的话默认和mysql服务器的编码一致 三.删除数据库 1. 语法:drop database [if exists] 数据库名 2.注意 删除不存在的数据库名会报错,需要检查 四.显示创建数据…
首先说一下MongoDB是什么? MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB 是一个基于分布式文件存储的数据库. NoSQL (not only sql)是对不同于传统的关系型数据库的数据库管理系统的统称.不需要遵循关系型数据库的ACID规则, 用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展. ****************************************…