首页 > 数据库 >MySQL数据库概述与基础

MySQL数据库概述与基础

时间:2024-09-21 19:50:42浏览次数:8  
标签:存储 数据库 SQL 查询 数据表 概述 MySQL 列名

存储数据的方式

在数据库领域,存储数据的方式多种多样,主要包括以下几种:

  1. 变量和列表
    • 变量:在编程语言中用于存储单个数据项。
    • 列表(或数组):用于存储一系列有序的数据项。
  2. 文件
    • 将数据以文本或二进制形式存储在文件中,如CSV、JSON、XML等格式。
  3. 数据库
    • 数据库是专门用于存储、管理和检索大量数据的系统。它提供了更加复杂的数据组织、访问和安全性控制功能。
DBMS 和 数据库的关系
  • DBMS(数据库管理系统):是一种用于创建、维护、管理和访问数据库的软件系统。它提供了数据的存储、查询、更新和删除等功能。
  • 数据库:是存储在DBMS中的数据的集合,包括数据表、视图、索引等对象。

DBMS与数据库的关系类似于操作系统与文件系统的关系,DBMS是管理数据库的软件系统,而数据库则是存储数据的实际场所。

关系型数据库与非关系型数据库
  • 关系型数据库:基于关系模型组织数据,以表格形式存储数据,并通过SQL(结构化查询语言)进行数据操作。常见的关系型数据库有MySQL、Oracle、SQL Server等。
  • 非关系型数据库(NoSQL):不遵循传统的关系模型,而是以键值对、列存储、文档存储或图形数据库等形式存储数据。非关系型数据库更适合处理大量非结构化或半结构化数据,如MongoDB、Redis、Cassandra等。
常用的数据库
  • MySQL:开源的关系型数据库管理系统,广泛应用于Web开发中。
  • Oracle:商业化的关系型数据库管理系统,功能强大,适用于大型企业级应用。
  • SQL Server:微软开发的关系型数据库管理系统,与Windows平台紧密集成。
  • MongoDB:非关系型数据库中的代表,以文档形式存储数据,支持灵活的查询和索引。

环境搭建

安装MySQL

安装MySQL主要有两种方式:

  1. 小皮方式:使用小皮(HeidiSQL)等图形化工具进行一键安装和配置。
  2. 官网下载安装包:从MySQL官网下载对应版本的安装包,按照提示手动安装并配置环境变量。
SQL的可视化工具
  • SQLYog:一款流行的MySQL数据库管理工具,提供图形化界面,方便用户进行数据库操作。
  • Navicat:支持多种数据库系统的管理工具,包括MySQL、Oracle、SQL Server等。
  • DataGrip:JetBrains出品的数据库IDE,支持多种数据库,提供强大的代码补全和调试功能。
  • PyCharm:虽然主要是Python IDE,但也可以通过插件支持数据库操作,如DataGrip插件。

SQL语法介绍

通用语法
  1. 语句格式:可以写一行或多行,以分号(;)结尾。
  2. 阅读性:空格、换行、制表符(\t)等用于提高代码的可读性。
  3. 大小写:SQL语句不区分大小写,但通常关键字大写以提高可读性。
  4. 注释
    • --:单行注释。
    • #:在某些SQL方言中作为单行注释(MySQL中不常用)。
    • /* 注释内容 */:多行注释。
常用的数据类型
  • 整型INT,用于存储整数。
  • 浮点型FLOATDOUBLE,用于存储小数。
  • 字符型VARCHAR(n),用于存储可变长度的字符串,n表示最大长度。
  • 日期类型DATEDATETIME,分别用于存储日期和时间。
SQL语句分类
  • DDL(数据定义语言):用于定义数据库、数据表、字段等结构,如CREATEDROPALTERSHOW等。
  • DML(数据操纵语言):用于操作表中的数据,如INSERTDELETEUPDATE等。
  • DQL(数据查询语言):用于查询表中的数据,如SELECTFROMWHERE等。
  • DCL(数据控制语言):用于定义数据库的安全性和完整性,如GRANTREVOKE等(此处仅作了解)。

实操

DDL语句
  • 操作数据库
    • 增:CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARSET '码表名'];
    • 删:DROP DATABASE 数据库名;
    • 改:ALTER DATABASE 数据库名 CHARSET '码表名';
    • 查:SHOW DATABASES;SHOW CREATE DATABASE 数据库名;SELECT DATABASE();
    • 用(切库):USE 数据库名;
  • 约束
    • 单表约束
      • 主键约束:PRIMARY KEY,非空且唯一,常结合AUTO_INCREMENT使用。
      • 唯一约束:UNIQUE,唯一但可以为空。
      • 非空约束:NOT NULL,非空但可以重复。
      • 默认约束:DEFAULT,添加数据时未指定值则使用默认值。
    • 多表约束
      • 外键约束:FOREIGN KEY,用于建立表之间的关联。
  • 操作数据表
    • 增:CREATE TABLE [IF NOT EXISTS] 数据表名 (列名 数据类型 [约束], ...);
    • 删:DROP TABLE 数据表名;
    • 改:ALTER TABLE 旧表名 RENAME 新表名; 或 RENAME TABLE 旧表名 TO 新表名;
    • 查:SHOW TABLES;DESC 数据表名;SHOW CREATE TABLE 数据表名;
  • 操作字段
    • 增:ALTER TABLE 数据表名 ADD 新列名 数据类型 [约束];
    • 删:ALTER TABLE 数据表名 DROP 旧列名;
    • 改:ALTER TABLE 数据表名 MODIFY 旧列名 数据类型 [约束名]; 或 ALTER TABLE 数据表名 CHANGE 旧列名 新列名 数据类型 [约束名];
    • 查:DESC 数据表名;
DML语句
  • 操作表数据
    • 增:
      • 单条:INSERT INTO 数据表名 (列名1, 列名2...) VALUES (值1, 值2...);
      • 多条:INSERT INTO 数据表名 VALUES (值1, 值2...), (值1, 值2...);
    • 删:DELETE FROM 数据表名 WHERE 条件;
    • 改:UPDATE 数据表名 SET 列名=列值, ... WHERE 条件;
DQL语句
  • 单表查询
    • 完整格式:
      SELECT [DISTINCT] 列名1 [AS] 别名, 列名2 [AS] 别名 ... 
      FROM 数据表名 
      WHERE 组前筛选 
      GROUP BY 分组字段1, 分组字段2 ... 
      HAVING 组后筛选 
      ORDER BY 排序字段1 [ASC|DESC], 排序字段2 [ASC|DESC] 
      LIMIT 起始索引, 数据条数;
    • 简单查询:SELECT * FROM 数据表名 WHERE 条件;
    • 聚合查询:使用COUNT()MAX()MIN()AVG()SUM()等聚合函数。
    • 排序查询:ORDER BY子句用于排序查询结果。
    • 分组查询:GROUP BY子句用于将查询结果按一个或多个列进行分组。
    • 分页查询:LIMIT子句用于实现分页功能。
  • 多表查询
    • 细节: 多表查询的精髓:就是把多张表拼接成一张表  去 进行单表查询.
    • 交叉查询:SELECT * FROM A, B;(结果集为表的笛卡尔积)。
    • 连接查询:
      • 内连接:SELECT * FROM A INNER JOIN B ON 关联条件; 或 SELECT * FROM A, B WHERE 关联条件;(结果集为表的交集)。
      • 外连接:
        • 左外连接:SELECT * FROM A LEFT OUTER JOIN B ON 关联条件;(结果集为左表全集+交集,无交集部分用Null填充)。
        • 右外连接:SELECT * FROM A RIGHT OUTER JOIN B ON 关联条件;(结果集为右表全集+交集)。
    • 子查询:一个SQL语句的查询条件依赖于另一个SQL语句的查询结果。
    • 自关联查询:表自己与自己进行关联查询,常用于处理具有层级关系的数据(如省市区)。
窗口函数
  • 概述:窗口函数用于给表新增一列,新增的内容取决于与什么函数一起使用。
  • 格式窗口函数 OVER(PARTITION BY 分组字段 ORDER BY 排序字段 ASC|DESC)
  • 常用函数
    • 排序类:ROW_NUMBER()RANK()DENSE_RANK()NTILE(n)
    • 聚合函数类

标签:存储,数据库,SQL,查询,数据表,概述,MySQL,列名
From: https://blog.csdn.net/DREAM_xs/article/details/142344079

相关文章

  • MySQL查询第M条到第N条数据(M<N)
    在MySQL中查询第M条到第N条数据是一个常见的需求,通常用于分页显示数据或者在需要展示一定范围内的记录时。下面将介绍如何使用SQL语句来实现这一点,并提供具体的示例。基本原理要在MySQL中查询第M条到第N条数据,可以利用LIMIT和OFFSET子句。OFFSET指定从......
  • 【EasyBlog】基于React+AntD+NextJS+NestJS+MySQL打造的开源博客系统
    Github项目地址:https://github.com/fecommunity/easy-blog,欢迎Star。Easy-BlogEasy-Blog是一套集成文章发表、页面创建、知识库管理、博客后台管理等功能于一体的博客系统。首页-浅色主题首页-暗黑主题文章阅读后台管理✨特性......
  • MySQL 中如何处理大型事务
    在MySQL数据库的使用中,事务是一个非常重要的概念。它可以确保数据库操作的原子性、一致性、隔离性和持久性。然而,当面对大型事务时,MySQL可能会面临一些挑战。那么,MySQL如何处理大型事务呢?一、大型事务的挑战性能问题大型事务可能会占用大量的系统资源,如内存、CPU和磁盘......
  • 基于微信小程序UNIAPP+Spring Boot+Vue+MySQL的多角色用户的高校毕业生离校管理系统
    目录前言 一、技术栈二、系统功能介绍三、核心代码1、登录模块 2、文件上传模块3、代码封装前言相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低学校的运营人员成本,实现了高校毕业生离校管理的标准化、制度化、程序化的管理,有效地防止了高校毕业生离......
  • 基于spring boot+vue+mysql的高校大学生评奖评优系统
    目录前言 一、技术栈二、系统功能介绍三、核心代码1、登录模块 2、文件上传模块3、代码封装前言相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低学校的运营人员成本,实现了高校大学生评奖评优的标准化、制度化、程序化的管理,有效地防止了高校大学生评......
  • MySQL 优化器:理解与探秘
    在MySQL数据库的世界里,优化器扮演着至关重要的角色。它就像是一位幕后的魔法师,默默地为数据库的高效运行贡献着力量。那么,MySQL优化器究竟是什么?它又是如何工作的呢?让我们一起来揭开它的神秘面纱。一、MySQL优化器是什么?MySQL优化器是数据库管理系统中的一个核心组件,它的主......
  • 什么是反应? Reactjs 概念和术语概述
    什么是react?react是一个javascript库,用于构建用户界面,特别是单页应用程序(spa)。它允许开发人员创建可重用的组件来管理其本地状态并处理用户交互。react遵循单向数据流,这意味着数据从父组件流向子组件,从而促进更好地管理数据和ui状态。关键react术语和概念......
  • 什么是 Cloudflare? Web 性能和安全公司概述
    在快节奏的数字世界中,网站的速度、安全性和可靠性对于企业和用户都至关重要。Cloudflare已成为确保网站平稳、安全和高效运行的基石。但Cloudflare到底是什么?为什么它成为网站所有者如此重要的工具?让我们深入了解它的作用和产品。Cloudflare简介Cloudflare是一家全球......
  • 医院预约|基于springBoot的医院预约挂号系统设计与实现(附项目源码+论文+数据库)
    私信或留言即免费送开题报告和任务书(可指定任意题目)目录一、摘要二、相关技术三、系统设计四、数据库设计   五、核心代码  六、论文参考 七、源码获取 一、摘要近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据......
  • 智能仓库|基于springBoot的智能无人仓库管理设计与实现(附项目源码+论文+数据库)
    私信或留言即免费送开题报告和任务书(可指定任意题目)目录一、摘要二、相关技术三、系统设计四、数据库设计  五、核心代码  六、论文参考 七、源码获取  一、摘要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都......