从零开始认识数据库:原理、分类与MySQL入门

从零开始认识数据库:原理、分类与MySQL入门


一、前言

在当今信息化时代,数据无处不在。无论是网站、APP,还是企业管理系统,背后都离不开数据库的支撑。对于编程初学者或转行IT的小伙伴来说,数据库是必须掌握的基础技能之一。本文将带你从零认识数据库,了解其基本原理、分类,并以MySQL为例,带你快速入门数据库的基本操作。


二、什么是数据库?

数据库(Database)本质上是一个有组织的数据集合,用于高效地存储、管理和检索数据。它就像一个智能的“数据仓库”,让我们能够方便地对数据进行增删改查等操作。

1. 数据存储的两种方式

  • 文件系统:如通过 fopenfclose 等C语言函数直接操作文件,适合存储少量数据或配置信息。
  • 数据库管理系统(DBMS):用于结构化、大量数据的存储和管理,支持高效的数据查询、事务处理和安全控制。

2. 数据库、数据库实例与文件

  • 数据库:磁盘上的一组文件,包括数据文件、日志文件、控制文件等。
  • 数据库实例:由后台进程、内存结构和数据库文件组成,是操作数据库的“载体”。
  • 一个数据库可以启动多个实例,但一个实例只对应一个数据库。

三、数据库管理系统(DBMS)分类

1. 关系型数据库

基于关系模型,使用SQL语言操作数据,是最传统、应用最广泛的数据库类型。

  • 商业产品

    • Oracle(行业老大)
    • IBM Db2
    • SQL Server(微软出品)
  • 开源产品

    • PostgreSQL(功能最强大,C语言开发)
    • MySQL(最受欢迎,C++开发)
    • MariaDB(MySQL的分支,核心团队相同)
    • SQLite(轻量级,嵌入式场景常用)
    • 国产数据库(如达梦、人大金仓等)

2. NoSQL数据库

Not Only SQL,适用于特定场景下对关系型数据库的补充或替代。

  • 文档数据库:如 MongoDB,适合存储结构灵活的数据。
  • 键值数据库:如 Redis,常用于缓存和高性能数据操作。
  • 列式数据库:如 ClickHouse、HBase,适合大数据分析场景。
  • 图数据库:如 Neo4j,适合处理复杂关系和图结构数据。

四、MySQL核心操作入门

MySQL 是最流行的开源关系型数据库之一,广泛应用于Web开发和企业级应用。下面以MySQL为例,介绍常用的数据库操作命令。

1. 连接MySQL服务器

mysql
mysql -u用户名 -p密码 -h主机名 -P端口号
# 例如:mysql -uroot -p123456 -h127.0.0.1 -P3306

2. 查看服务器和数据库信息

  • 查看服务器状态:\s
  • 查看帮助信息:\h
  • 显示所有数据库:show databases;
  • 连接指定数据库:use 数据库名;
  • 显示所有表:show tables;
  • 查看表结构:desc 表名;
  • 查询表数据:select * from 表名;

3. 创建数据库

create database 数据库名;

4. MySQL服务管理(Linux环境)

  • 检查服务是否存在:
    ps -ef | grep mysql
    service mysql status
    
  • 启动服务:
    service mysql start
    
  • 安装MySQL服务:
    sudo apt update
    sudo apt upgrade
    sudo apt install mysql-server
    

5. SQL命令分类

  • DDL(数据定义语言):如 createdropalter,用于定义和管理数据库结构。
  • DML(数据操作语言):如 insertupdatedelete,用于数据的增删改。
  • TCL(事务控制语言):如 commitrollback,用于事务管理。

你可能感兴趣的:(数据库,数据库,mysql)