文章目录
- [1. 登陆选项的认识](#1. 登陆选项的认识)
- [2. 什么是数据库](#2. 什么是数据库)
- [3. 存储数据为什么不用文件?](#3. 存储数据为什么不用文件?)
- [4. 见一见数据库](#4. 见一见数据库)
- [5. SQL语句分类](#5. SQL语句分类)
- [6. 查看MysQL存储引擎](#6. 查看MysQL存储引擎)
1. 登陆选项的认识
mysql -h 指明部署mysql服务的主机 127.0.0.1(单机访问)
mysql -P 指明要访问的端口号 (默认为3306)
mysql -u 指明登陆用户
mysql -p 指明需要输入的密码
对于 mysql登录指令 mysql -h 127.0.0.1 -P 3306 -u root -p q
若不加 - h ,则连接数据库时,默认连接本地服务器上所搭建的mysql服务
若 不加 -P ,则当前不使用用户自定义的端口,而是采用默认配置的3306端口号
由于 h和P都可以省略,所以可以只写成 mysql -u root - p 也可登录mysql
2. 什么是数据库

mysql 称之为 数据库的客户端

mysqld 称之为 数据库的服务端
mysql本质是一种基于C(mysql) S(myqld)模式的网络服务
mysql 是一套提供数据存取的服务的网络程序
数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据, 即在磁盘中存储的一套数据库方案
数据库服务 指的是 mysqld
3. 存储数据为什么不用文件?
一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力(站在用户角度)
每一个对内容做相关的管理工作, 全部都要程序员自己去做, 所以不方便
数据库本质:对数据内容存储的一套解决方案
将字段或要求给数据库,数据库直接给出结果
此时对内容做相关的管理工作,全部由数据库来做, 就不需要程序员自己做了

mysql提出某种需求后,mysql服务端(mysqld) 去数据库文件中 进行搜索 增加 等操作,
将结果交给mysqld,mysqld再将结果交给mysql
4. 见一见数据库
创建数据库
样例:
使用mysql建立一个数据库 建立一张表结构,插入一些数据

在终端1中输入 show databases;
在终端2中输入 vim /etc/my.cnf 指令
datadir 会保存mysql对应的数据存放的路径 ,默认存放路径为 /var/lib/mysql

退出vim后,输入 cd /var/lib/mysql 指令
数据存放的目录当中对应的数据内容
建立数据库
create database hello;
通过mysql 的客户端 向mysqld 服务端 下达 了一个创建数据库的请求
在终端1中输入 show databases; 查看数据库
发现此时多个一个hello的数据库

由于终端1创建了一个数据库,在终端2中,在数据目录中也会多了一个目录,叫做hello
结论1:建立数据库 ,本质就是Linux下的一个目录
创建表

建立表之前,需要选择数据库,此时选择了hello这个数据库
在终端1中,使用 create table student( 创建一个张表 student
name 叫做 类名称 varchar 叫做 类型
名字name的 类型为32个字节
年龄age 的类型为int
性别gender的 类型为2个字节

此时在终端2中可以看到hello的数据库中存在文件
结论2:在数据库内建立表,本质就是在Linux下创建对应的文件即可
insert into student (name,age,gender) values ('李四',19,'男');
向name age gender 中插入 数据
插入数据为 李四 19 男

使用 select * from student; 将学生信息筛选出来
数据库本质也是文件,只不过文件并不是由程序员直接操作,而是由数据库服务(mysqld)帮我们进行操作
5. SQL语句分类
DDL 数据定义语言 用来维护存储结构的相关语句
如:create (创建表) 、alter(修改表结构)
DML 数据操纵语言 用来对数据进行操作
如:insert(插入数据) 、delete(删除数据)
DCL 数据控制语言 负责权限管理和事务
如:grant(赋权)、revoke(取消权限)
6. 查看MysQL存储引擎
存储引擎:数据库管理系统如何存储数据等 技术 的具体实现方法
使用 show engines \G 查看存储引擎

常用的储存引擎为 InnoDB MyISAM