1. 什么是数据库
1.1 服务器角度
mysqld
是数据库服务的服务器端;mysql
是数据库服务的客户端。
名字后缀带d
一般是守护进程,说明mysql
本质就是基于CS
的一个网络服务。
1.2 数据库服务
mysql
是一套给我们提供数据存储服务的网络程序
一般口语上说的数据库,大多数情况指的是在磁盘或者内存当中存储的特定结果组织的数据——将来在磁盘上存储的一套数据库方案
数据库服务mysqld
,数据库mysql
1.3 数据库与文件区别
一般存储数据用的是文件,但是文件并没提供非常好的数据管理能力(用户角度)
所以数据库本质就是对数据内容存储的一套解决方案,我们提出要求,数据库直接返回结果
2. Linux环境基础操作
2.1 登录
mysql -h ip -P port -u root -p password
2.2 查当前服务器的数据库
show databases;
2.3 建立数据库
create database hello_mysql;
2.4 选择数据库
use hello_mysql
2.5 建表
create table student( name varchar(32), age int, gender varchar(2) );
建表完毕之后会自动创建对应的文件:
2.6 插入数据
insert into student (name, age, gender) values('小王', 22, '女');
3. 服务器、数据库、表之间的关系
- 安装数据库服务器,就是在机器上安装一个数据库管理系统程序,一般一后台守护进程的形式运行;
这个管理程序可以管理多个数据库(Linux下的目标),开发人员针对每个应用创建一个数据库 - 在数据库创建多个表,保存应用的实体数据
- 关系图:
4. MySQL架构
MySQL
是一个可移植的数据库,在主流的操作系统上都能运行,但是MySQL
服务本身是一个网络服务,就应该在网络服务器后端上跑。
5. SQL分类
DDL(data definition language)
:数据定义语言,用来维护存储结构的相关语句
例如:create
、drop
、`alter``- ``DML(data manipulation language)
:数据操纵语言,用来对数据进行操作 例如:
insert、
delete、
update` DCL(data control language)
:数据控制语言,负责权限和事务的管理
例如:grant
、revoke
、commit
6. 存储引擎
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引、如何更新、查询数据等技术的实习方法。
MySQL
是以插件式存储引擎为核心的,支持多种存储引擎。
查看存储引擎
show engines;
大部分情况常用的就是InnoDB
和MyISAM