【MySQL】数据库基础

文章目录

  • [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

相关推荐
东阳马生架构2 小时前
MySQL底层概述—1.InnoDB内存结构
java·数据库·mysql
standxy2 小时前
通过轻易云平台实现聚水潭数据高效集成到MySQL的技术方案
android·数据库·mysql
itwangyang5202 小时前
2025 - 科研神器 - 批量处理 PDF、SVG、PNG 和 JPG 文件,将它们转换为彩色 TIFF 文件,并保存到指定的 tiff 文件夹中
数据库·pdf
痞老板A小安装C43 小时前
redis的大key和热key问题解决方案
数据库·redis·bootstrap
feilieren3 小时前
DataGrip 连接 Redis、TongRDS
数据库·redis·缓存
苹果酱05673 小时前
windows安装redis, 修改自启动的redis服务的密码
java·开发语言·spring boot·mysql·中间件
液态不合群3 小时前
Redis中常见的数据类型及其应用场景
数据库·redis·wpf
Allen Bright3 小时前
Jedis存储一个-以String的形式的对象到Redis
数据库·redis·缓存
Allen Bright4 小时前
Jedis存储一个以byte[]的形式的对象到Redis
数据库·redis·缓存
NiNg_1_2344 小时前
Redis中的zset用法详解
数据库·redis·缓存