【MySQL】数据库基础

🏠个人主页:Yui_

🍑操作环境:Centos 7

文章目录

  • 前言
  • [1. 为什么需要数据库](#1. 为什么需要数据库)
  • 2.目前主流的数据库
  • 3.安装MySQL
    • [3.1 知识补充](#3.1 知识补充)
  • [4. MySQL的简单使用](#4. MySQL的简单使用)
  • [5. MySQL架构](#5. MySQL架构)
  • [6. 总结](#6. 总结)

前言

数据库技术产生于20世纪60年代,是数据管理的核心技术。数据库管理系统(database management system,简称DBMS)是大型复杂的基础软件,也是现代信息系统的核心和基础。

在计算机的发展过程,数据的的管理技术大概可以分为3个阶段:

  1. 人工管理阶段:20世纪50年代中期以前,计算机主要用于科学技术。当时的硬件状况是外存只有纸带、卡片、磁带,没有磁盘等直接存储设备;软件状况是没有操作系统,没有管理数据的专门软件;数据的处理方式是批处理。
  2. 文件系统阶段:20世纪50年代后期~20世纪60年代中期,这时硬件已有磁盘、磁鼓等直接存取存储设备;软件方面表现为操作系统中已经有专门的数据管理软件,一般称为文件系统;处理方式不仅能够进行批处理,而且能够进行联机实时处理。
  3. 数据库系统阶段:20世纪69年代以后,计算机管理的对象规模越来越大,应用领域越来越广,数据量急剧增长。同时多种应用,多种语言互相交错地共享数据集的要求越来越强烈。

1. 为什么需要数据库

在我们接触数据库前,好像存储数据用文件就已经可以了,存储读取都很方便,为什么还要弄个数据库。

这就不得不提文件存储的缺点了:

  • 文件的安全性问题。
  • 文件不利于数据查询和管理。
  • 文件不利于存储海量数据。
  • 文件在程序在控制不方便。
  • 共享性弱,冗余度高。
  • 独立性弱。
  • ...
    数据库的诞生就是为了解决这些问题的。
    数据库可以更加有效的管理数据,可以说数据库的水平是衡量一个程序员的主要指标~

2.目前主流的数据库

数据库也分多种,每年也都有新的数据库诞生,但是目前主流的数据库依然是以下这些:

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

3.安装MySQL

CentOS 6.5下编译安装MySQL 5.6.
Windows下通过MySQL

注意:在后续的MySQL讲解中,博主的环境都是Centos

3.1 知识补充

  • 所谓安装数据库,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为了保存应用中的实体的数据,一般会在数据库在创建多个表,以保存实体的数据。

4. MySQL的简单使用

centos下登入MySQL

sh 复制代码
mysql -u root -p
  • 创建数据库
sql 复制代码
create database database_name;
  • 查看数据库
sql 复制代码
show databases;

箭头指向的为刚刚创建的数据库。

  • 使用数据库
sql 复制代码
use database_name;
  • 查看当前使用的数据库
sql 复制代码
select database();
  • 创建数据库表
    创建一张简单的学生表
sql 复制代码
create table student(
	id int,
	name varchar(32),
	gender varchar(32)
);
  • 查看表
sql 复制代码
show tables;
  • 查看表结构
sql 复制代码
desc table_name;
  • 插入数据到表中
sql 复制代码
insert into student(id,name,gender) values (1,'yui','女');
insert into student(id,name,gender) values (2,'anna','女');
insert into student(id,name,gender) values (3,'yuki','女');
  • 查看表中数据
sql 复制代码
select * from student;

5. MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

6. 总结

本章作为数据库的基本了解,并没有涉及到太多内容,文章中出现的SQL语句,我只是给出了最简单的使用方法,后续我会继续更新MySQL的库的操作、表的操作的详细内容。

相关推荐
镜舟科技6 分钟前
如何高效使用 Text to SQL 提升数据分析效率?四个关键应用场景解析
数据库·sql·数据分析
玛奇玛丶15 分钟前
数据库索引失效了...
后端·mysql
King.62438 分钟前
数据服务化 VS 数据中台:战略演进中的价值重构
大数据·数据库·sql·oracle·重构
Elastic 中国社区官方博客39 分钟前
Elasticsearch:AI 助理 - 从通才到专才
大数据·数据库·人工智能·神经网络·elasticsearch·搜索引擎·全文检索
花千树-0101 小时前
MySQL 数据库备份和恢复全指南
数据库·mysql
·薯条大王1 小时前
Node.js 操作 MySQL 数据库
javascript·数据库·mysql
Java_SuSheng1 小时前
关于SQLite轻量数据库的研究
java·数据库·spring boot·sqlite·mybatis
maomi_95263 小时前
数据库学习通期末复习二
服务器·数据库
努力努力再努力wz3 小时前
【Linux实践系列】:用c/c++制作一个简易的进程池
linux·运维·数据库·c++·c
fly spider4 小时前
一站式Windows下Docker开启MySQL并链接本地Navicat(附乱码解决方案)
windows·mysql·docker·乱码解决