【MySQL】数据库基础

目录

    • 一. 数据库的概念
    • 二. 数据库基本操作
      • 1. 连接数据库
      • 2. 退出数据库
      • 3. 服务器、数据库、表关系
    • 三. MySQL语句分类
    • 四. MySQL框架
    • 五. 存储引擎

一. 数据库的概念

数据库是按照数据结构来组织, 存储和管理数据的仓库; 是一个长期存储在计算机内的, 有组织的, 可共享的, 统一管理的大量数据的集合;

数据库与普通的文件系统相同, 都是存储数据的, 其主要区别是 数据库能够快速查找对应的数据;

数据库的本质是一种基于 CS 模式的网络服务, 由客户端 (Client )和服务器 (Server) 组成, 用户只需使用客户端 MySQL 发出 SQL 语句, 服务器 mysqld 就会读取数据并处理请求, 数据库的可以存储在磁盘或内存上;
在这里插入图片描述

二. 数据库基本操作

1. 连接数据库

mysql -h IP地址 -P 端口 -u 用户 -p  

选项:

  • -h: 表示 MySQL 服务部署机器的 IP 地址; 若省略, 默认为连接本地;
  • -P: 表示 MySQL 服务进程所使用的端口号; 若省略, 默认为连接配置文件中的端口号 3306 ;
  • -u: 表示登录 MySQL 的用户名, 比如 root;
  • -p: 表示使用密码登录, 可以紧跟密码, 也可以回车后输入;

若在云服器中登录, 也可以省略 -h, -P选项

mysql -u 用户 -p  

在这里插入图片描述

2. 退出数据库

直接输入 quit 语句即可

quit

在这里插入图片描述

3. 服务器、数据库、表关系

在 MySQL 中, 一切的数据都是以行和列, 也就是表的形式表示的, 表是 MySQL 中最常见, 最常用的结构;
在这里插入图片描述
而 MySQL 服务相当于一个数据库管理系统程序, 可以管理多个数据库, 一般一个项目对应一个数据库, 而数据库中存储着表;
在磁盘上, 数据库的本质是一个目录(文件夹), 而表则是数据库中的文件;
在这里插入图片描述
查看当前 MySQL 系统中数据库

show databases;

在这里插入图片描述
这些数据库实际上存储在 /var/lib/mysql 目录中
在这里插入图片描述
创建一个数据库, 在磁盘就会创建一个目录;

create database test;

在这里插入图片描述
在这里插入图片描述
在使用数据库前需要先指明数据库, 相当于指明使用目录;

use test;

可以使用函数显示当前所在数据库;

select database;

在这里插入图片描述
创建一张表 t1, 相当于创建文件, 其中包含num一个列属性;

create table t1(
num int
);

显示当前数据库的所有数据表;

show tables;

在这里插入图片描述
在磁盘上也会创建 t1 文件;
在这里插入图片描述

查看表的详细信息;

desc t1;

在这里插入图片描述
可以看到属性名 num 和类型 int;

插入在表中数据;

insert into t1 values (1);

查询表的数据

select * from t1;

在这里插入图片描述

三. MySQL语句分类

MySQL 中的语句可分为三类:

  • DDL 数据定义语句: 用来维护存储数据的结构, 常用于对数据库, 表进行操作;
  • DML 数据操纵语句: 用来对数据进行操作, 比如对表中的数据进行增删改查;
    • DML中又单独分了一个DQL 数据查询语言, 例如 select 指令;
  • DCL 数据控制语句: 主要负责权限和事务的管理, 可以给用户赋予数据库的权限;

四. MySQL框架

MySQL 是一个可移植的数据库, 可以在几乎所有操作系统上运行, 但主要在 Linux 类似的服务器后端中运行;

得益于优秀的分层设计, MySQL 能保证在各个平台运行时, 物理体系结构的一致性;
其主要可以分为三层:

  • 第一层: 解决安全和连接管理;
  • 第二层: 词法, 语法分析以及 SQL 语句优化;
  • 第三层: 完成数据的存储方案;
    在这里插入图片描述

五. 存储引擎

存储引擎是数据库系统如何存储数据, 为存储的数据建立索引和更新, 查询数据等技术的实现方法;

查看存储引擎;

show engines;

在这里插入图片描述
每一种存储引擎都有自己对应的功能, 大部分情况下 MySQL 常用的存储引擎是MyISAM 和 InnoDB;
在这里插入图片描述

上一篇:PostgreSQL 和Oracle锁机制对比


下一篇:Python 连接 Access 数据库:深入解析与实用技巧