【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

相关推荐
JIngJaneIL2 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
微学AI2 小时前
复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
数据库
廋到被风吹走3 小时前
【数据库】【Redis】定位、优势、场景与持久化机制解析
数据库·redis·缓存
有想法的py工程师4 小时前
PostgreSQL + Debezium CDC 踩坑总结
数据库·postgresql
Nandeska4 小时前
2、数据库的索引与底层数据结构
数据结构·数据库
小卒过河01044 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库
过期动态4 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql
Mr.朱鹏4 小时前
SQL深度分页问题案例实战
java·数据库·spring boot·sql·spring·spring cloud·kafka
一位代码5 小时前
mysql | 常见日期函数使用及格式转换方法
数据库·mysql
SelectDB5 小时前
Apache Doris 4.0.2 版本正式发布
数据库·人工智能