MySQL 数据库基础入门:从概念到实战操作

一、数据库核心概念解析

1. 数据库与数据库管理系统

  • 数据库(DataBase):按照一定数据结构组织、存储和管理数据的仓库,本质上是通过文件系统存储在计算机中的数据集合。
  • 数据库管理系统(DBMS):用于操纵和管理数据库的大型软件,负责数据库的建立、使用和维护,保证数据的安全性和完整性。用户通过 DBMS 访问数据库中的数据。

2. 数据库的分类

  • 关系型数据库(RDBMS):基于关系模型(表格结构)存储数据,通过 SQL 语言管理,支持事务和 ACID 特性。常见的有:

    • MySQL:开源免费,适合 Web 应用和中小型企业。
    • Oracle:企业级收费数据库,性能强、可靠性高。
    • SQL Server:微软开发,与 Windows 系统集成良好。
    • SQLite:轻量级嵌入式数据库,常用于移动应用。
  • 非关系型数据库(NoSQL):不采用关系模型,适合大规模数据和高并发场景,常见类型包括:

    • 键值数据库(如 Redis)
    • 文档数据库(如 MongoDB)
    • 列族数据库(如 HBase)
    • 图形数据库(如 Neo4j)

3. 数据安全的重要性

数据库存储着核心业务数据,其安全性至关重要。近年来多次发生 "删库跑路" 事件,如链家 DBA 删除财务数据导致公司损失 18 万元,微盟程序员删除服务器数据造成 2260 余万元损失,相关责任人均被追究刑事责任。这提醒我们:数据库操作需谨慎,权限管理要严格,数据备份要及时

二、MySQL 简介与安装配置

1. MySQL 的特点

MySQL 是由瑞典 MySQL AB 公司开发、现属 Oracle 旗下的关系型数据库管理系统,其优势包括:

  • 开源免费,降低企业成本;
  • 性能优异,适合 Web 应用;
  • 支持多平台,兼容性强;
  • 社区活跃,文档丰富。

2. MySQL 安装步骤

(1)下载安装包
  • 访问MySQL 官网下载页,选择 "MySQL Community Server";
  • 根据操作系统选择对应版本(如 Windows 64 位),推荐下载 MSI 安装包(如mysql-installer-community-8.0.39.0.msi)。
(2)安装过程
  1. 运行安装包,选择安装类型(推荐 "Server only" 仅安装服务器,或 "Custom" 自定义组件);
  2. 选择 MySQL Server 版本(如 8.0.39),点击 "Execute" 开始安装;
  3. 安装完成后进入配置向导,依次设置:
    • 服务器类型:开发环境选 "Development Computer";
    • 端口号:默认 3306(需确保未被占用);
    • 认证方式:推荐使用 "Strong Password Encryption"(新版加密方式);
    • root 密码:设置管理员密码(务必牢记);
    • 服务配置:可将 MySQL 注册为 Windows 服务,方便自动启动。
(3)环境变量配置
  1. 找到 MySQL 安装目录的bin文件夹(如C:\Program Files\MySQL\MySQL Server 8.0\bin);
  2. 右键 "此电脑"→"属性"→"高级系统设置"→"环境变量";
  3. 在 "系统变量" 的Path中添加bin目录路径,便于在命令行直接调用 MySQL 命令。
(4)验证安装
  • 按下Win+R打开命令提示符,输入mysql -uroot -p
  • 输入安装时设置的 root 密码,若出现mysql>提示符,说明安装成功。

3. 客户端工具 Navicat

Navicat 是一款强大的数据库管理工具,支持连接 MySQL、SQL Server 等多种数据库,安装后通过以下步骤连接 MySQL:

  1. 点击 "连接"→"MySQL";
  2. 输入连接名(自定义)、主机名(默认localhost)、端口(3306)、用户名(root)和密码;
  3. 点击 "测试连接",成功后即可管理数据库。

三、SQL 语言基础

1. SQL 的概念与组成

SQL(结构化查询语言)是操作数据库的标准语言,主要由四部分组成:

  • 数据定义语言(DDL):定义数据库结构,如CREATE(创建)、ALTER(修改)、DROP(删除);
  • 数据操纵语言(DML):操作数据,如INSERT(插入)、UPDATE(更新)、DELETE(删除);
  • 数据查询语言(DQL):查询数据,核心命令为SELECT
  • 数据控制语言(DCL):管理权限,如GRANT(授权)、REVOKE(撤销权限)。

2. 常用 SQL 命令

sql

-- 查看所有数据库
SHOW DATABASES;

-- 创建数据库(若不存在)
CREATE DATABASE IF NOT EXISTS mydb;

-- 使用数据库
USE mydb;

-- 查看当前数据库中的表
SHOW TABLES;

-- 查看表结构
DESC 表名;

-- 查看MySQL版本
SELECT VERSION();

四、MySQL 数据定义(DDL)

1. 数据库操作

sql

-- 创建数据库
CREATE DATABASE 数据库名;

-- 创建数据库时指定字符集
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4;

-- 删除数据库(谨慎操作!)
DROP DATABASE 数据库名;

2. 表操作

(1)创建表

sql

CREATE TABLE 表名 (
  列名1 数据类型 约束,
  列名2 数据类型 约束,
  ...
);

-- 示例:创建学生表
CREATE TABLE student (
  id INT PRIMARY KEY AUTO_INCREMENT, -- 主键,自动增长
  name VARCHAR(50) NOT NULL, -- 姓名,非空
  age INT CHECK (age > 0 AND age < 150), -- 年龄,范围限制
  gender ENUM('男', '女') DEFAULT '男', -- 性别,枚举类型,默认男
  create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 创建时间,默认当前时间
);
(2)修改表

sql

-- 添加列
ALTER TABLE student ADD COLUMN score DECIMAL(5,2);

-- 修改列的数据类型
ALTER TABLE student MODIFY COLUMN score FLOAT;

-- 重命名列
ALTER TABLE student CHANGE COLUMN score exam_score FLOAT;

-- 删除列
ALTER TABLE student DROP COLUMN exam_score;
(3)删除表

sql

-- 删除表(谨慎操作!数据将全部丢失)
DROP TABLE student;

-- 删除表前判断是否存在
DROP TABLE IF EXISTS student;

五、MySQL 数据类型与约束

1. 常用数据类型

  • 字符型

    • CHAR(n):固定长度,适合短字符串(如手机号);
    • VARCHAR(n):可变长度,适合长字符串(如姓名);
    • TEXT:大文本(如文章内容)。
  • 数值型

    • INT:整数(-21 亿~21 亿);
    • BIGINT:大整数;
    • DECIMAL(p,d):定点数(如金额,p 为总位数,d 为小数位);
    • FLOAT/DOUBLE:浮点数。
  • 日期时间型

    • DATE:日期(YYYY-MM-DD);
    • TIME:时间(HH:MM:SS);
    • DATETIME:日期时间(YYYY-MM-DD HH:MM:SS);
    • TIMESTAMP:时间戳,自动更新。
  • 特殊类型

    • ENUM:枚举(只能选预定义值);
    • SET:集合(可多选预定义值)。

2. 常用约束

  • NOT NULL:列值不能为空;
  • UNIQUE:列值唯一(允许 NULL);
  • PRIMARY KEY:主键(唯一且非空,表中只能有一个);
  • AUTO_INCREMENT:自动增长(通常用于主键);
  • FOREIGN KEY:外键(关联另一表的主键,保证数据一致性);
  • CHECK:检查列值范围(MySQL 8.0 + 支持);
  • DEFAULT:默认值。

总结

本文介绍了 MySQL 数据库的基础概念、安装配置、SQL 语言组成及数据定义操作。掌握这些知识是进行数据库开发和管理的前提。下一阶段,我们将深入学习数据操纵(增删改查)和高级查询技巧,敬请期待!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值