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。