【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

相关推荐
ChicagoTypewriter8 分钟前
MySQL用户和授权
mysql
Htht11130 分钟前
【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
数据库·bug
一棵树长得超出它自己1 小时前
数据库系统学习
数据库
小袁搬码1 小时前
PLSQLDeveloper配置OracleInstantClient连接Oracle数据库
数据库·oracle·pl/sqldeveloper
圈圈编码1 小时前
悲观锁和乐观锁
java·开发语言·sql·mysql
学习中的码虫2 小时前
MySQL提升
数据库·mysql
islandzzzz3 小时前
三表查询SQL怎么写?----小白初学+案例引入
数据库
卡布奇诺-海晨4 小时前
MySQL的MVCC机制
数据库·mysql
hao_wujing4 小时前
攻击模型的恶意行为检测
网络·数据库·php
秃头摸鱼侠5 小时前
MySQL查询语句(续)
数据库·mysql