芜湖市网站建设_网站建设公司_在线客服_seo优化
2025/12/18 0:17:12 网站建设 项目流程

文章目录

  • 数据库基础
    • 1.什么是数据库
    • 2.主流数据库
    • 3.MySQL数据库是什么?
    • LInux下数据库的本质
  • 一、MySQL的基本使用
    • 连接服务器
    • 服务器、数据库、表关系
    • 使用demo
  • 二、MySQL架构
    • SQL分类
    • 存储引擎

数据库基础

1.什么是数据库

在LInux系统下,文件就能够存储数据,为什么还需要数据库来专门存放数据呢?

  • 一般的文件确实提供了数据的存储功能,但在用户角度来看,文件并没有提供非常好的数据管理能力。如进行数据查找时需要遍历整个文件,效率低下,且存在安全问题。
  • 数据库能更有效的管理数据----提供了一套对数据内容存储管理的解决方案。

2.主流数据库

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

3.MySQL数据库是什么?

  • mysql是一套给我提供数据存取的服务的网络程序
  • 数据库一般指在磁盘或者内存中存储的特定结构组织的数据
  • 数据库服务端–mysqld
  • 数据库客户端–mysql

LInux下数据库的本质

  • 建立数据库,本质就是在Linux下创建一个目录
  • 数据库内建表,本质就是在Linux对应数据库目录下创建一个对应的二进制文件
  • 上述操作都是mysqld帮我们做的

一、MySQL的基本使用

连接服务器

输入

mysql-h127.0.0.1-P3306-u root-p

输出

Enter password:****Welcome to the MySQL monitor.Commands end with;or\g.Your MySQL connection id is12Server version:8.4.7MySQL Community Server-GPLCopyright(c)2000,2025,Oracleand/orits affiliates.Oracle is a registered trademark of Oracle Corporationand/orits affiliates.Other names may be trademarks of their respective owners.Type'help;'or'\h'forhelp.Type'\c'to clear the current input statement.

注意
如果没有写-h 127.0.0.1默认是连接本地。
如果没有写-P 3306默认是连接3306端口号(这具体取决于你的配置文件)

服务器、数据库、表关系

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

使用demo

  • 创建数据库
mysql>create database db1 Query OK,1rowaffected(0.00sec)

在对应的mysql数据目录下,我们看到确实创建了一个db1目录

  • 查看所有数据库
mysql>show databases;+--------------------+|Database|+--------------------+|db1||helloworld||information_schema||mysql||performance_schema||sys|+--------------------+6rows inset(0.00sec)
  • 使用数据库
mysql>use db1;Database changed
  • 创建数据库表
mysql>create tablestudent(namevarchar(32),ageint,gendervarchar(2));Query OK,0rowsaffected(0.01sec)

db1目录下确实创建了对应的文件

  • 表中插入数据
mysql>insert intostudent(name,age,gender)values('张三',21,'男');Query OK,1rowaffected(0.00sec)mysql>insert intostudent(name,age,gender)values('李四',21,'男');Query OK,1rowaffected(0.00sec)mysql>insert intostudent(name,age,gender)values('王五',88,'男');Query OK,1rowaffected(0.00sec)
  • 查询表中的数据
mysql>select*from student;+--------+------+--------+|name|age|gender|+--------+------+--------+|张三|21|||李四|21|||王五|88||+--------+------+--------+3rows inset(0.00sec)

二、MySQL架构

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

SQL分类

  • DDL【data definition language】数据定义语言,用来维护存储数据的结构代表指令:create, drop, alter
  • DML【data manipulation language】数据操纵语言,用来对数据进行操作代表指令:insert,delete,update
  • DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL【Data Control Language】数据控制语言,主要负责权限管理和事务代表指令:grant,revoke,commit

存储引擎

  • 存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。是真正直接与OS打交道的地方

  • MySQL的核心就是插件式存储引擎,支持多种存储引擎。

  • 查看存储引擎

mysql>show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|Engine|Support|Comment|Transactions|XA|Savepoints|+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|ndbcluster|NO|Clustered,fault-tolerant tables|NULL|NULL|NULL||MEMORY|YES|Hash based,stored in memory,usefulfortemporary tables|NO|NO|NO||InnoDB|DEFAULT|Supports transactions,row-level locking,andforeign keys|YES|YES|YES||PERFORMANCE_SCHEMA|YES|Performance Schema|NO|NO|NO||MyISAM|YES|MyISAM storage engine|NO|NO|NO||FEDERATED|NO|Federated MySQL storage engine|NULL|NULL|NULL||ndbinfo|NO|MySQL Cluster system information storage engine|NULL|NULL|NULL||MRG_MYISAM|YES|Collection of identical MyISAM tables|NO|NO|NO||BLACKHOLE|YES|/dev/null storageengine(anything you write to it disappears)|NO|NO|NO||CSV|YES|CSV storage engine|NO|NO|NO||ARCHIVE|YES|Archive storage engine|NO|NO|NO|+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+11rows inset(0.00sec)
  • 存储引擎对比

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询