数据库介绍之MySQL

article/2025/8/23 4:59:53

文章目录

    • 数据库
      • 优点
      • 分类
      • 常见数据库
      • RDBMS
      • SQL
        • 定义
        • 分类
        • sql 脚本
        • sql 语句规范
      • CRUD
    • MySQL
      • 启动
      • 连接
      • 修改密码
      • 忘记密码
      • 三层结构
        • 结构
      • 三范式
        • 关系数据库设计三范式
        • 经典设计
          • 多对多
          • 一对多
          • 一对一

数据库

用来存储和管理数据的仓库

优点

  • 可存储大量数据,方便检索
  • 保持数据的一致性、完整性、安全、可靠
  • 通过分析组合可产生新数据

分类

  • 磁盘文件存储数据库
  • 层次结构模型数据库
  • 关系型数据库
    • 使用二维表格存储数据
    • MySQL 就是关系型数库
  • 关系-对象型数据库

常见数据库

  • Oracle:甲骨文
    • 传统行业使用较多(不差钱行业)
    • 银行、政府部门等
  • DB2:IBM
  • sqlserver:微软
  • sybase:塞尔斯
  • MySQL:甲骨文
    • 互联网公司使用较多

RDBMS

  • RDBMS:关系型数据库管理系统,即数据库服务器
    • Relational DateBase Management System
    • DBMS:数据库管理系统
      • database management system
    • DB:数据库
      • database
  • RDBMS = Management(管理员) + datebase(数据仓库)
    • datebase = N 个 table
      • table:表结构
  • 安装数据库服务器后可以在服务器创建多个数据库
    • 数据库中可以创建多张表

SQL

定义

  • 结构化查询语言,属于高级语言
  • 标准通用的语言
    • 标准的 sql 适合所有的数据库产品
  • 执行时内部先进行编译,再执行 sql
    • 编译、执行由 DBMS 完成
  • 通过执行 sql 语句来操作 DB 中的数据
    • DBMS 执行 SQL 操作 DB 中数据

分类

  • DDL:数据定义语句
    • Data Definition Language
    • 对表结构增删改
      • create(创建)、drop(删除)、alter(修改)
  • DML:数据操作语句
    • Data Manipulation Language
    • 操作表中数据
      • insert、删delete、改update
  • DQL:数据查询语句(select)
    • Data Query Language
  • DCL:数据控制语句
    • Data Control Language
    • 管理数据库,如用户权限
      • grant 赋予;revoke 收回
  • TCL:事务控制语言(T:Transaction)
    • Transaction Control Language
      • commit:提交事务
      • rollback:回滚事务

sql 脚本

  • 文件后缀拓展名为 .sql 且文件中编写了大量 sql 语句
    • 这样的文件被称为 sql 脚本

sql 语句规范

  • sql 语句以 ; 结尾
    • 最后一句可以不写
  • sql 语句不区分大小写
    • 只有存储的数据区分大小写
  • 字符串以 '' 引用
    • 支持使用 "",但尽量不用
  • 数据库不可用 = 判空
    • is nullis not null 来判断空
    • xxxxxxxxxx12 1# dos命令备份,文件名可以带路径2mysqldump -u 用户名 -p密码 -B 数据库1 数据库2 数据库n > 文件名.sql 3​4# 备份数据库中具体的表,不写-B(B:表示数据库)5mysqldump -u 用户名 -p密码 - 数据库 表1 表2 表n > 文件名.sql 6​7-- 恢复数据库8# 进入 MySQL 命令行执行,先在 dos 窗口登录 MySQL9Source 文件名.sql10​11# navicat 中右键数据库转储 SQL 文件可以备份数据库12# 右键运行 SQL 文件可以恢复数据mysql
      • null 参与运算结果都为 null
  • 使用 () 提高优先级执行顺序

CRUD

  • 增查改删
  • 增加:Create
  • 检索:Retrieve
  • 修改:Update
  • 删除:Delete

MySQL

启动

  • DOS命令 命令行启动

  • 服务方式启动(界面)

    • net stop mysql服务名:启动服务

    • net start mysql服务名:关闭服务

连接

  • 命令行连接,语法格式

    • mysql -h 主机IP -P 端口 -u 用户名 -p密码
      • 登陆前需要服务已经启动
      • -h:默认本地 ip
      • -P:默认是 3306
      • -p:直接跟密码,没有空格
        • 此时不输入密码再回车后会要求输入密码

在这里插入图片描述

  • 数据库常见端口

    • mySQL:3306
    • oracle:1521
    • sqlServer:1433

修改密码

-- set password 命令(命令行)
mysql> set password for 用户名@localhost = password('新密码')
-- mysqladmin
mysqladmin -u用户名 -p旧密码 password 新密码
-- update 编辑
update user set password = password('新密码') where user = '用户名' and host = 'ip地址'

忘记密码

  1. 关闭正在运行的 MySQL 服务
  2. 打开 DOS 窗口,转到 mysql\bin 目录
  3. 输入 mysqld --skip-grant-table,回车
    • 该指令意思是启动 MySQL 服务的时候绕过权限表认证
  4. 再打开一个 DOS 窗口,转到 mysql\bin 目录
    • 第一个窗口此时不能使用
  5. 输入 mysqld 回车,成功后出现 MySQL 提示符 >
  6. 连接数据库:user mysql
  7. 改密码:update user set password = password('新密码') where user = '用户名';
    • 通过自己的用户名修改密码
  8. 刷新权限:flush privileges
  9. 退出:quit
  10. 注销系统,重新使用刚改过的密码进入

三层结构

结构

  • DBMS:数据库管理系统
    • 数据库1(存放在数据库目录的 Data 文件夹下)
    • 数据库2 …
    • 数据库n
      • 表1、视图、事件等存储数据(存放在数据库所在的目录下)
      • 表2 …
      • 表n
  1. 安装 MySQL 数据库就是在主机安装数据库管理系统(DBMS),管理多个数据库
    • DataBase Management System
  2. 一个数据库中可以创建多个表,表中记录数据
  3. 外部程序通过服务端口和数据库进行通信

  1. MySQL数据库普通表的本质仍是文件
    • 数据库中数据必须持久化才能持续存放
  2. 表中包括行(row),列(column)
    • 一行被称为一条记录(data)
      • Java 程序中一条记录往往代表一个对象
    • 一列被称为 一个字段
      • 应有 字段名、数据类型、约束 等属性

三范式

  • 设计范式
    • 设计表的依据
    • 按照三范式设计的表不会出现数据冗余
  • 实际设计以客户需求为主
    • 有时以数据冗余换执行速度

关系数据库设计三范式

  1. 任何表都应该有主键,每个字段是原子性的不可再分
    1. 不能存在重复记录
    2. 字段不能再拆分开
      • 例如:联系方式可拆分为 email、电话,违反第一范式
      • 按具体情况决定设计,不一定必须遵循范式
  2. 所有非主键字段完全依赖主键,不能产生部分依赖
    • 在第一范式基础上进行
      • 不能有非主键字段部份依赖主键
    • 即:不使用复合主键
      • 完全依赖:单独和一个字段相关
      • 部分依赖:同时和联合字段相关
  3. 非主键字段直接依赖主键
    • 在第二范式基础上进行
      • 不能产生传递依赖
    • 所有字段都直接和主键存在依赖
      • 非主键字段直接和主键相关,不能通过其他字段和主键产生依赖

经典设计

多对多
  • 多对多,三张表:关系表加外键

    • student 学生表

      • sno(PK),sname
    • teacher 教师表

      • tno(PK),tname
    • relation 关系表

      • id(PK),sno(FK),tno(FK)
一对多
  • 一对多,两张表:多的表加外键

    • class 班级表

      • cno(PK)、cname
    • student 学生表

      • sno(PK)、sname、cno(FK)
一对一
  1. 两张表主键共享
    • user_login 用户登录表
      • id(PK),username,password
    • user_detail 用户详细信息表
      • id(PK,FK),name,adress …
    • 第二张表主键同时外键连接第一张表主键
      • 保证两张表记录一一匹配
      • 没有重复记录,没有多余记录
  2. 外键 + 唯一约束 + not null
    • user_login 用户登录表
      • id(PK),username,password
    • user_detail 用户详细信息表
      • id(PK),name,userId(FK, unique,not null)…
    • 相当于主键 + 外键,适用于已经存在主键的情况
      • 外键唯一保证两张表的联系,并且没有重复记录

http://chatgpt.dhexx.cn/article/VaQ9IIMW.shtml

相关文章

Cassandra数据库介绍

Cassandra 数据库,值得介绍的技术细节其实挺多的。因为它很多实现思路和关系型数据库或者其他的 NoSQL 数据库,是有一些不同的。这种不同是在数据库设计实现思路上也是根源上的。所以衍生开来的诸多特点,在介绍起来就不太容易和其他数据库去类…

MySQL入门之数据库介绍及MySQL介绍

------------------------------------------------------------------------------------------------------------- 教程大纲: http://blog.csdn.net/qq78442761/article/details/76018310 ------------------------------------------------------------------------------…

数据库概述与常见数据库介绍

前言 本栏目会从数据库概念开始到数据库的SQL优化持续更新(站在Java开发的角度,不站在数据库管理员(DBA)角度),本篇是第一篇《数据库常用概念》以开启我的数据库之旅,主要是讲述MySQL 8.0数据库…

ORACLE数据库介绍

什么是 ORACLE? ORACLE数据库系统是美国ORACLE公(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 ORACLE通常应用于大型系统的数据库产品。 ORACLE数据库是目前世界上使用最为广泛的数…

一幅长文细学GaussDB(一)——数据库介绍

文章目录 1 数据库介绍1.1 数据库技术1.2 数据库技术发展史数据库技术产生和发展数据库三个阶段比较数据库系统优势层次模型网状模型关系模型关系数据库产品历史结构化查询语言SQL面向对象数据模型(OO模型)数据管理技术的新挑战NoSQL技术特点和类型主要N…

MIMIC-IV数据库介绍与使用说明

MIMIC-IV 一些基本逻辑各模块和table介绍TablesCoreHospICUEDCXRNote 官网及数据库下载网址2022.6.12 更新 在word中更加详细的列出了各table中table所代表的含义以及我在使用中所遇到的问题,可在资源页面进行下载。 一些基本逻辑 病人定义: subject_…

第一章 数据库介绍

第一章 数据库介绍 文章目录 第一章 数据库介绍一、 数据库技术:1、数据(Data)2、数据库(Database,DB)3、数据库管理系统(DBMS)4、数据库系统(Database System,DBS) 二、数据库发展史:1、三个阶段:2、数据库系统优势: …

一、数据库介绍

1.1数据库概述 (1)什么是数据库(DataBase) 简言之,数据库就是储存数据的仓库,其本质为一个文件系统(二进制存储) (2)什么是数据库管理系统(DataBase Management System-DBMS) DBMS是一个软件&#x…

数据库概论 - 数据库的介绍

数据库相关基础概论 大家好,这次给大家带来的是我的新的专栏:数据库,数据库相对来说难度不是那么高,大家只要勤加练习、熟记语法,我相信学好数据库不是什么问题,博主会从0剖析,逐步讲解数据库的…

【数据库】SRA数据库介绍及数据下载

【数据库】SRA数据库介绍及数据下载 生信技术 2021-10-06 11:00 以下文章来源于生信Alpha ,作者BioinfoPenn 生信Alpha. 生物信息、生物统计、Linux系统、shell、R、Python等日常学习记录分享~欢迎交流指正~ 【数据库】SRA数据库介绍及数…

【MySQL】数据库介绍以及MySQL数据库

目录 数据库介绍 数据库概述 数据表 MySql数据库 MySql安装 登录MySQL数据库 ​​​​​​​SQLyog(MySQL图形化开发工具) 数据库介绍 数据库概述 什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统&…

SQL——Mysql数据库介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 MySQL: 介绍: 什么是数据库?就是一个软件&#xff…

数据库简介

文章目录 数据库简介前言一、数据库的基本概念二、常用数据库三、关系型数据库1.关系型数据库介绍2.关系型数据库小结 四、非关系型数据库1.非关系型数据库诞生的背景2.非关系型数据库小结3.非关系型数据库种类① 键值(Key-Value)存储数据库② 列存储&am…

数据库简介(初步了解数据库)

数据库介绍 1.1 数据库概念 数据库,就是存放数据的仓库 数据库(DataBase,简称DB)是⻓期存储在计算机内部有结构的、大量的、共享的数 据集合。 ⻓期存储:持久存储 有结构: 类型:数据库不…

美妆app如何脱离流量变现难题?

虽然我们看到抹茶美妆、美妆心得和美妆相机所走的路线有所差异,但是他们同属一种美妆app,那就是走内容电商的模式。尽管彼此之间的内容有所倾斜,但他们的目的都是想通过专业的引导来勾起消费者的购买欲望。但这一类美妆app存在几个比较致命的…

APP运营如何实现流量变现,获取更高收益?

在进行APP开发时,许多从业人员有着“等用户量大了,还愁收益问题吗”的心理。然而,当用户数量达到一定规模时,许多APP开发者开始担心流量实现的问题。甚至一些知名的APP也可能因缺乏有力的方法而陷入流量变现效果不理想的困境。下面…

小游戏流量变现瓶颈,新增长点是超级App?

2018年微信在其6.6.1版本中宣布支持小游戏,之后的几年,但凡能掀起各大社交平台上病毒式传播的,几乎都是小游戏。 小游戏玩法简单,传播机制简单,套路简单,连赚钱的本质也简单。就拿近期火爆的《羊了个羊》小…

应对流量损耗:提升APP广告变现效果的关键策略!

​引言: 在APP广告变现的过程中,流量损耗是一个常见的问题,它不可避免地会发生。尽管开发者可以在合理的范围内承受这种损耗,但如果出现大范围的损耗,那就意味着在广告变现过程中出现了一些问题,限制了开发…

App用户运营如何持续流量变现?

在行业现状中,看到的文章要么是流量获取,要么就是跟风内圈裂变和拉新,用户都看疲乏了。 在企业长期未来发展来看,最主要的要做好用户留存,这是至关重要的。产品的增长,不光是要看流量,而是要看…