【MySQL从青铜到王者】第一篇:数据库的认识和数据库的操作与数据库表的部分操作

在这里插入图片描述

系列文章目录



前言


一、什么是数据库

  • 存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点:
  • 文件的安全性问题。
  • 文件不利于数据查询和管理。
  • 文件不利于存储海量数据。
  • 文件在程序中控制不方便。
  • 数据库存储介质:
  • 磁盘。
  • 内存。

为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。

二、主流数据库

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
  • PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

三、安装MySQL环境

1.查看当前环境是否安装了mariadb

在这里插入图片描述

mariadb是mysql的一个分支版本(free)免费版本。

在root用户下通过 rpm -qa | grep mariadb 命令查看:
在这里插入图片描述

2.安装mariadb:

yum install -y mariadb
yum install -y mariadb-server
yum install -y mariadb-devel
在这里插入图片描述

3.启动mariadb:

service mariadb start 启动
在这里插入图片描述
service mariadb restart 重启
service mariadb stop 停止
在这里插入图片描述
在这里插入图片描述

4.mysql5.7是付费版本

在这里插入图片描述

5.mysql5.7和mariadb用来管理若干数据库的软件

在这里插入图片描述
在这里插入图片描述

  • mariadb启动之后的服务器进程名叫做mysqld
  • 启动mysql的时候,是启动mysqld_safe这个守护进程,由该守护进程将mysqld服务端启动起来的
    在这里插入图片描述在这里插入图片描述
  • mysqld_safe:mysql服务端的守护进程
  • mysqld:mysql服务端程序
  • 当mysql程序异常崩溃(终止)之后,是由mysqld_safe进程快速重新启mysqld服务端进程
    在这里插入图片描述

6.异常场景:

启动报错:一般情况下,都是/var/lib下的mysql文件夹的内容和启动的服务端程序不匹配

解决方案:将mysql文件夹重命名,再重启

四、连接MySQL服务端

在这里插入图片描述
(1)navicat(可视化的数据库连接软件)
(2)mysql(客户端)
 ① 客户端mysql和服务端mysqld的关系如下图所示:
在这里插入图片描述
② 服务端mysqld连接层

Ⅰ. 建立连接

  • 客户端和服务端在同一台机器,本地域套接字(AF_UNIX),一台机器当中的两个进程间通信
  • 客户端和服务端不在一台机器,TCP协议

Ⅱ. 校验用户名和密码(强校验)
Ⅲ. 校验客户端的IP地址
在这里插入图片描述

  • 一个mysqld服务端可以管理多个数据库
  • 数据库在Linux操作系统当中是一个独立的文件夹,文件夹下的内容是和数据表强相关的内容

③ 常见的mysql服务端分层关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、数据库的操作

在这里插入图片描述

1.连接数据库服务器的命令

在这里插入图片描述

mysql -u [用户名] -p [密码];

2.查看数据库

show databases;
在这里插入图片描述

3.进入到具体的数据库

use [数据库名];
在这里插入图片描述

4.查看数据库下都有哪些数据表

show tables;
在这里插入图片描述

5.创建数据库

create database [数据库名];
在这里插入图片描述

6.删除数据库(慎用)

drop database [数据库名];
在这里插入图片描述

六、数据库表的操作

1.创建数据库表

在这里插入图片描述
在这里插入图片描述

create table [表名称](表字段1名称 表字段1类型,表字段2名称 表字段2类型,…);

  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则(只会影响是否对大小写敏感)
    修改字符集:create database [数据库名] charset=utf8;
    在这里插入图片描述
    collate:只会影响是否对大小写敏感
    校验规则:
      _ci:对大小写不敏感 eg:create database test1 collate utf8_general_ci;
       _bin:对大小写敏感eg:create database test2 collate utf8_bin;

2.查看表结构命令

在这里插入图片描述

desc [表名称] —>查看表结构(表妹一列的具体信息 eg:字段名称,字段类型,属性等)
在这里插入图片描述
在这里插入图片描述

3.查看创建表的命令

在这里插入图片描述

show create table [表名称];

show create table [表名称]\G;
在这里插入图片描述
字符集:决定数据库保存数据的时候采用什么字符集(决定数据库能够存储什么样的数据 eg:英文、中文…)---->一般选择utf8,latin1 采用一个字节表示字符
存储引擎:决定了数据如何进行存储(一般在公司中存储引擎选InnoDB,因为支持事务)
InnoDB存储引擎:
在这里插入图片描述
myISAM存储引擎:
   ①users.frm:表结构
   ②users.MYD:表数据
   ③users.MYI:表索引

在这里插入图片描述
数据库中的数据是在ibdata1当中进行存储的
在这里插入图片描述
在这里插入图片描述

4.删除数据库表命令(慎用)

在这里插入图片描述

drop table[数据库表名称]

5.全列插入

在这里插入图片描述

insert into [表名] valuse(col1caluse,col2valuse,…);
在这里插入图片描述

6.多行插入

insert into [表名称] values(1,‘’),(2,‘’);
在这里插入图片描述

7.全列查询

在这里插入图片描述

select * from table
在这里插入图片描述


总结

以上就是今天要讲的内容,本文详细介绍了在云服务器上mariadb的使用和后续数据库表、数据库的操作,数据库提供了大量的方法供我们使用,非常的便捷,我们务必掌握。希望大家多多支持!另外如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。加油啊!
在这里插入图片描述

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森明帮大于黑虎帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值