当前位置: 首页 > news >正文

MySQL数据库基础 -- SQL 语句的分类,存储引擎

目录

1. 什么是数据库

2. 基本使用

2.1 进入 mysql

2.2 服务器、数据库以及表的关系

2.3 使用案例

 2.4 数据逻辑存储

3. SQL 语句分类

4. 存储引擎

4.1 查看存储引擎

4.2 存储引擎的对比


1. 什么是数据库

        安装完 MySQL 之后,会有 mysql 和 mysqld。

        MySQL 是一个基于 CS 模式的网络服务,是一套提供数据存取服务的网络程序。mysql 是客户端,mysqld 是服务端。

        数据库 -- 一般指的是在磁盘或内存中存储的特定结构组织的数据文件。

        数据库服务 -- mysqld。

        存储数据用文件即可,为什么还要用数据库呢?

                一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据内容管理功能数据库的本质是对数据内容存储的一套解决方案,给其字段或者要求,直接返回结果

                文件保存数据有以下几个缺点:(1)文件不利于数据查询和管理。(2)文件不利于存储海量数据。(3)文件在程序中控制不方便。

2. 基本使用

2.1 进入 mysql

mysql -h 127.0.0.1 -P 3306 -u root -p

        h:指定 mysql 服务端的 ip 地址。

        P:指定 mysql 服务端的端口号。

        u:指定登录的用户。

        p:使用密码进行登录。

        执行上述命令之后,输入 mysql 的用户密码即可进入 mysql。 

2.2 服务器、数据库以及表的关系

        数据库服务器只是在电脑上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库

        为保存应用中实体的数据,一般会在数据库中创建多个表,用于保存程序中实体的数据。

        如上图所示,用户用 mysql 客户端连接上 mysql 服务端,然后这个程序对主机中的数据库文件 DB 进行管理,而每个数据库(文件)中存在多个表结构,用于存储程序中的实体数据。 

2.3 使用案例

        (1)创建数据库 -- 本质就是在 Linux 对应的目录下创建一个目录

create database helloworld;

        如上图所示,创建了一个 helloworld 的数据库,则是在这台主机的 /var/lib/mysql 下创建了一个 hello world 的目录。 

        (2)进入数据库 -- 本质就是进入到数据库目录里面。

use helloworld;

        (3)创建数据库表 -- 本质就是在数据库目录下创建文件。

        如上图所示,在进入 helloworld 数据库之后,创建一张 student 表,该表有三个表项(name,age,gender),每一个表项后面跟的是该表项的数据类型,表项之间使用 "," 隔开。

 2.4 数据逻辑存储

        如上图所示,数据库中的每一张表在逻辑上是以行列的关系进行存储的。 查询的时候会以上述形式进行显示,物理上在磁盘中存储的时候会以特定的形式进行存储。

3. SQL 语句分类

        (1)DDL【data definition language】 数据定义语言,用来维护存储数据的结构。代表指令: create, drop, alter。

        (2)DML【data manipulation language】 数据操纵语言,用来对数据进行操作。代表指令: insert,delete,update。

        (3)DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务。代表指令: grant,revoke,commit。

4. 存储引擎

        存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法MySQL的核心就是插件式存储引擎,支持多种存储引擎。

4.1 查看存储引擎

show engines;

4.2 存储引擎的对比

        常用的存储引擎为 MyISAM 和 InnoDB。 

 

http://www.xdnf.cn/news/527257.html

相关文章:

  • 系统安全应用
  • 【C++】map和multimap的常用接口详解
  • flask蓝图的导入与注册
  • VS2017编译librdkafka 2.1.0
  • 【语音克隆Open Voice的使用】
  • mysql的安装方式
  • 【成品设计】基于STM32的环境监控系列
  • labview硬件开发板——LED流水灯
  • 微服务项目->在线oj系统(Java版 - 4)
  • 【Windows系统】向量数据库Milvus安装教程
  • MySQL - 如何突破单库性能瓶颈
  • vue Element-ui对图片上传和选用时的比例控制
  • C+++STL(一)
  • 自制操作系统day4(c指针)(指针和数组)(CLI和STI)(EFLAGS)
  • Flink概述
  • 问题 | 代码审查:函数是否包含返回语句
  • C++11特性
  • 计算机视觉设计开发工程师学习路线
  • 远程数据采集智能网关支持下的雨洪资源分布式监测网络搭建实践
  • 【每天一个知识点】embedding与representation
  • 关于 Web 漏洞原理与利用:2. XSS(跨站脚本攻击)
  • Scala 访问修饰符
  • java基础-关键字:static、单例模式
  • JDBC指南
  • 【线下沙龙】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
  • [[春秋云境] Privilege仿真场景
  • ElasticSearch 8.x 快速上手并了解核心概念
  • 比较两个用于手写体识别的卷积神经网络(CNN)模型
  • PostgreSQL基本用法
  • 谷歌 NotebookLM 即将推出 Sparks 视频概览:Gemini 与 Deep Research 加持,可生成 1 - 3 分钟 AI 视频