数据库
文章平均质量分 60
不会写代码的菜
这个作者很懒,什么都没留下…
展开
-
MySQL NATURAL JOIN 与 USING 的使用
SQL99 语言新特性1.自然连接在SQL99中NQTURAL JOIN 用来表示自然连接,可以理解为SQL92中的等值连接.它会帮你自动查询两张表中所有相同的字段,然后进行等值连接 在SQL92中的等值连接 SELECT employee_id,last_name,department_nameFROM employees e JOIN departments dON e.`department_id` = d.`department_id`AND e.`manager_id`原创 2022-05-24 00:15:00 · 185 阅读 · 0 评论 -
MySQL 使用SQL99语法实现7个 JOIN 操作
首先我们先来看一下7个jion操作使用SQL99语法实现7个 JOIN 操作 中图: 内连接 SELECT last_name,department_nameFROM employees e JOIN departments dON e.`department_id` = d.`department_id`; 左上图: 左外连接 SELECT last_name,department_nameFROM employees e LEFT JOIN departments d原创 2022-05-23 23:45:00 · 85 阅读 · 0 评论 -
MySQL 多表查询的分类及UNION的使用
多表查询的分类 角度1: 等值连接 与 非等值连接 角度2: 自连接 与 非自连接 角度3: 内连接 与 外连接1.等值连接与非等值连接上述示例连接条件为'=',即为等值连接,而连接连接条件也为等值的.不为等值的统称为得等值连接.如!= ,<,>等#: 非等值连接的栗子:查询员工在job_grade中的salary等级SELECT e.last_name,e.salary,j.grade_levelFROM employees e,job_g原创 2022-05-23 23:15:00 · 891 阅读 · 0 评论 -
MySQL 多表查询
多表查询,也称为关联查询.指两个或更多个表一起完成查询操作一.多表查询的前提条件 这些一起查询的表之间是有关联的(一对一,一对多),它们之间一定是有关联字段的,这个关联字段可能建立了外键,也可能没有 如:员工表和部门表,依靠"部门编号"进行关联 案例: 有三个表,分别为Employees,Departments,Locations 以我们现有的知识,想查找一个员工的location_id,就得从Employees查询到department_id,再从Departments中查询到原创 2022-05-23 22:45:00 · 788 阅读 · 0 评论 -
MySQL 单行函数
一.函数的理解1.什么是函数? 函数的作用: 函数可以把我们经常使用的代码封装起来,需要的时候直接调用即可.这样我们既提高了代码的执行效率,又提高了代码的可维护性 在SQL中,我们也可以使用函数对检索出来的数据进行函数操作,使用这些函数,可极大程度的提高用户对数据库的管理效率 从函数的定义角度分为: 内置函数: 系统内置的通用函数 自定义函数: 用户根据自己的需求所编写的函数 2.不同DBMS的差异DBMS之间的差异性很大,远大于同原创 2022-05-23 18:25:37 · 183 阅读 · 0 评论 -
MySQL 分页
1.背景 查询返回的记录太多了,我们希望一页一页的查看,如: 百度,淘宝的页面 表里有多条数据,但是我们只想查询其中的某几条数据 2.实现规则 分页原理 所谓分页,就是将数据库中的结果集,一段一段显示出需要的条件 MySQL中使用LIMIT实现分页 使用格式: LIMIT [位置偏移量],行数 第一个"位置偏移量"参数指明MySQL以哪一行开始显示,是一个可选参数.如果不指定"位置偏移量",就会默认从表中的第一条记录开始(第一条记录的位置偏移量原创 2022-05-23 18:23:15 · 895 阅读 · 0 评论 -
MySQL 排序
排序数据1.排序规则 使用ORDER BY 字句排序,在其后面加所需字段 ASC(ascend): 升序 DESC(descend): 降序 ORDER BY 字句在SELECT语句的结尾 注意:数据库中默认按照先后添加顺序存储数据,在查询时,也按照添加顺序遍历显示结果.因此当我们需要一些特定的数据排列时就要使用到排序2.单列排序#练习: 按照salary从高到低顺序对员工进行排序SELECT employees_id,last_na原创 2022-05-23 18:20:27 · 25239 阅读 · 0 评论 -
关系型数据库设计规则
关系型数据库的典型数据结构为数据表,这些数据表的组成都是结构化的(Structured) 使用时将数据存放在表之中,再将表存放在数据库中 一个数据库可以有多个表,每一个表都有一个名字,用来标识,表名具有唯一性 表具有一些特性,特性定义了数据在表中是如何存储的,类似于java和Python中的"类" ORM思想(Object Relational Mapping)体现*数据库中的表类似于Java中的一个类*表中的一条数据类似于类中的一个对象*表中的一个列类似于..原创 2022-05-23 18:17:56 · 191 阅读 · 0 评论 -
MySQL 约束(Constraint)
一.约束的概述1.为什么要有约束?为了保证数据的完整性数据完整性(Date Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability).它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出而造成无效操作或错误信息而提出的 数据完整性的具体内容: 实体完整性(Entity Integerity) 例如: 同一个表中,不能同时存在两条完全相同的记录 域完整性(Domain Integerity) 例如: 年龄范围为0~12原创 2022-05-18 20:10:03 · 4117 阅读 · 0 评论 -
MySQL 子查询之 相关子查询
1.相关子查询执行流程 如果子查询的执行依赖于外部查询,通常情况下,子查询的表用到了外部的表,并进行了条件关联.因此每执行一次外查询,子查询都要重新计算一次,这样的子查询称为关联子查询 关联子查询按照一行接一行的顺序查询,查询的每一行都执行一次子查询 2.代码示例#练: 查询员工表中工资大于本部门平均工资的员工last_name,salary,department_id 方式一: 相关子查询 SELECT last_name,salary,department_idFR原创 2022-05-17 20:00:00 · 3259 阅读 · 0 评论 -
MySQL 子查询之 单行子查询及多行子查询
1单行比较操作符= > >= < <= <>(!=)2.代码示例 栗子1: 查询工资大于149号员工工资的员工信息 #子查询编写技巧:从里向外编写SELECT employee_id,last_name,salaryFROM employeesWHERE salary > ( SELECT salary FROM employees WHERE employee_i...原创 2022-05-17 17:00:00 · 1377 阅读 · 0 评论 -
MySQL 子查询概述
子查询,指一个查询语句嵌套在另一个查询语句内部的查询,可以理解为嵌套查询.这个特性从MySQL4.1开始引入 SQL中子查询的使用大大增强了SELECT的查询能力,因为很多时候查询语句需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较 一.需求分析与解决1.实际问题问谁的工资比Able高,那么我们就要首先查出Able的工资 方式1: 也即为现有的方式 SELECT salaryFROM e...原创 2022-05-17 14:45:00 · 164 阅读 · 0 评论 -
MySQL DML语句
DML语句为数据操作语句,英文全称为Data Manipulation Language.用来对数据库中表的记录进行更新 常用操作有如下几种: 插入insert insert into 表(列名1,列名2,列名3...) value(值1,值2,值3...);//向表中插入某些列insert into 表 values(值1,值2,值3...); //向表中插入所有列 注意: 列名数与values后面的值的个数相同 列的顺序与插入的值的顺..原创 2022-05-17 10:30:00 · 120 阅读 · 0 评论 -
MySQL 中的运算符
一.算数运算符1.加减运算符SELECT 100+'1'FROM DUAL;#在java语言中,结果为:1001,在SQL中,+没有连接的作用,就表示加法.此时会将字符串转换为字符(隐式转换).SELECT 100+'a'#此时将'a'看做0处理SELECT 100+null#NULL值参与运算,结果均为NULL 拼接使用字符串CONCAT()实现 2.乘除运算符SELECT 100/2FROM DUAL; #此时结果为50.0000,因为多数时间,S原创 2022-05-17 08:45:00 · 2427 阅读 · 0 评论 -
数据库基础知识
-- 创建数据库,并设置字符集 CREATE DATABASE schooldb CHARSET utf8-- 创建数据库,并判断是否已经存在,并设置字符集 CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8-- 删除数据库 DROP DATABASE schooldb-- 修改数据库字符集,注意mysql中不支持修改数据库名 ALTER DATABASE schooldb CHARSET gbk--...原创 2022-05-16 20:26:05 · 214 阅读 · 0 评论 -
MySQL 基本的SELECT语句
一.SQL分类SQL语言在功能上分为三大类: DDL(Data Definition Language,数据定义语言) 这些不仅定义了不同的数据库,表,视图,索引,等数据库对象,还可以用来创建,删除,修改数据库和数据表的结构 主要关键字 CREATE,DROP,ALTER DML(Data Manipulation Language,数据库操作语言) 用于添加,删除,更新和查询数据库记录,并检查数据的完整性 主要关键字 INSERT,DELETE,UPD原创 2022-05-16 20:16:57 · 299 阅读 · 0 评论 -
MySQL环境搭建(一)
1.MySQL安装好后如何查看?①cmd --> mysql -- versioncmd --> mysql -- uroot -- p②软件安装的位置查看③数据存储的位置查看④环境变量处查看2.MySQL的卸载①停止MySQL的服务②软件卸载 通过控制面板方式卸载 通过电脑管家软件卸载 通过安装包提供的卸载功能 ③残余文件的清理④清理注册表在系统搜索框中输入regedit⑤删除环境变量3.MySQL下载,安装,配置原创 2022-04-10 07:15:00 · 323 阅读 · 0 评论 -
MySQL环境搭建(二)
配置mysql1.首先将我们下载好的软件包进行解压,解压到我们想要安装的文件目录2.系统环境变量path找到我们解压的文件位置,将bin目录的位置配置到path环境变量中D:\ProgramFiles\mysql-8.0.20-winx64\bin3.mysql初始化和启动①以管理员身份启动cmd②cd 到 mysql的安装目录③初始化MySQL数据库命令:mysqld --initialize-insecure 作用:初始化数据库,并设置默认roo..原创 2022-04-10 09:00:00 · 110 阅读 · 0 评论 -
MySQL介绍
1.MySQL概述 MySQL是一款开源的关系型数据库管理系统,由瑞典MySQL AB公司1995年研发 2008年被Sun公司收购,2009年Sun公司被Oracle公司收购.之后因担心有闭源的分险,由开发了MySQL的分支Maria DB MySQL6.x版本之后分为社区版和商业版 MySQL是一种关联性数据库,将数据保存在不同的表中,而不是将所有的数据保存在一个大仓库内,增加了速度,提高了灵活度 MySQL提供开源版本,不收取费用 MySQL是可原创 2022-04-09 22:45:00 · 3238 阅读 · 0 评论 -
关系型数据库(RDBMS) 与 非RDBMS
关系型数据库即(RDBMS)是DBMS的主流,使用最多的为 Oracle Oracle公司开发,全球最大的企业级软件开发公司,收费 MySQL 在Windows和linux系统下安装 SQL Server 是一款微软产品,只能在Linux下使用 DB2 IBM公司开发 1.关系型数据库(RDBMS)--存储数据时,有固定关系1.1实质 最古老的数据库类,关系型数据库是把复杂的数据结构归结为简单的二元关系(二维表格) 关系型数据库以行(row)和列(原创 2022-04-09 20:15:00 · 766 阅读 · 0 评论 -
数据库与数据库管理系统概述
1.数据库的概念 DB: 数据库(Database) 存储数据的"仓库",其本质是一个文件系统,保存了一系列有组织的数据.现在我们使用的数据库都是网络型数据库,可以实现远程操作 DBMS: 数据库管理系统(DAtabase Mangement System) 一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库中的数据进行统一的管理和控制.用户通过数据库管理系统访问数据库表中的数据 SQL: 结构化查询语言(Structred Query Language) 一原创 2022-04-09 16:45:00 · 981 阅读 · 0 评论 -
数据库概述
1.什么是数据库?数据库是一种专业的存储数据的软件,里面存储数据是有一定规则的,可以使用数据库存储语言sql存储数据,实现方便,高效的数据管理(增.删.该,查)2.为什么要使用数据库?我们存储在内存中的数据使用高低电压区别零和一进行存储,一旦断点以后,没有电压,也就无法进行高低电压区别,造成数据丢失,这样并不保险.使用数据库就可以实现数据的持久化存储 使我们能更加方便高效的进行数据管理,使用文件管理数据很不方便 持久化(Persistence): 持久化,即把数据保存到可掉电原创 2022-04-09 14:15:00 · 160 阅读 · 0 评论