当前位置: 首页 > news >正文

MySQL数据库基础教程:从安装到数据操作

MySQL数据库基础教程:从安装到数据操作

一、数据库核心概念

1.1 数据库(DB)

数据库是有组织存储和管理数据的仓库,能解决传统文件存储的痛点:

  • 文件存储数据修改困难(需全量读取)
  • 大数据量场景下内存无法承载
  • 数据关联性差

1.2 数据库管理系统(DBMS)

管理数据库的大型软件(如MySQL、Oracle),提供:

  • 数据库创建/维护功能
  • 数据增删改查(CRUD)接口
  • 用户权限管理

1.3 SQL语言

结构化查询语言(Structured Query Language)的特点:

  • 操作关系型数据库的统一标准
  • 可跨不同DBMS使用(如MySQL→PostgreSQL)
  • 支持数据定义、操作、查询和控制

二、MySQL安装与配置(Windows)

2.1 安装步骤

  1. 官网下载解压版(如mysql-5.7.24-winx64.zip)
  2. 解压到目标目录(如D:\software\)
  3. 配置环境变量:
    MYSQL_HOME = D:\software\mysql-5.7.24-winx64
    Path添加 %MYSQL_HOME%\bin
    
  4. 创建配置文件 my.ini
    [mysql]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8
    default-storage-engine=INNODB
    

2.2 初始化与启动

# 初始化数据目录
mysqld --initialize-insecure# 注册系统服务
mysqld -install# 启动MySQL服务
net start mysql# 设置root密码
mysqladmin -u root password 1234

2.3 登录与退出

# 登录
mysql -uroot -p1234# 退出
exit 或 quit

三、数据库与表操作(DDL)

3.1 数据库操作

-- 创建数据库
CREATE DATABASE IF NOT EXISTS db1;-- 删除数据库
DROP DATABASE IF EXISTS db1;-- 使用数据库
USE db1;

3.2 数据表操作

-- 创建学生表
CREATE TABLE student (id INT,name VARCHAR(10),gender CHAR(1),birthday DATE,score DOUBLE(5,2)
);-- 修改表结构
ALTER TABLE student RENAME TO stu;             -- 重命名
ALTER TABLE stu ADD email VARCHAR(50);         -- 添加列
ALTER TABLE stu MODIFY email VARCHAR(100);     -- 修改类型
ALTER TABLE stu CHANGE email mail VARCHAR(50); -- 重命名字段
ALTER TABLE stu DROP mail;                     -- 删除列-- 删除表
DROP TABLE IF EXISTS stu;

四、数据操作(DML)

4.1 插入数据

-- 单条插入
INSERT INTO stu (id,name) VALUES (1,'张三');-- 批量插入
INSERT INTO stu VALUES (2,'李四','男','1999-11-11',88.88),(3,'王五','女','2000-05-20',92.50);

4.2 更新数据

-- 修改特定记录
UPDATE stu SET score = 95.00 WHERE name = '张三';-- 修改所有记录(慎用!)
UPDATE stu SET gender = '男';

4.3 删除数据

-- 删除特定记录
DELETE FROM stu WHERE id = 3;-- 清空表数据
DELETE FROM stu;

五、数据查询(DQL)

5.1 基础查询

SELECT * FROM stu;                          -- 查询所有列
SELECT name, score FROM stu;                -- 查询指定列
SELECT DISTINCT address FROM stu;           -- 去重查询
SELECT name AS 姓名, score AS 成绩 FROM stu; -- 别名查询

5.2 条件查询

-- 比较运算符
SELECT * FROM stu WHERE score > 90;-- 范围查询
SELECT * FROM stu WHERE birthday BETWEEN '1999-01-01' AND '1999-12-31';-- 模糊查询
SELECT * FROM stu WHERE name LIKE '张%';     -- 张姓同学
SELECT * FROM stu WHERE name LIKE '_三%';    -- 名字第二个字是"三"

5.3 排序与分页

-- 按成绩降序排列
SELECT * FROM stu ORDER BY score DESC;-- 分页查询(每页3条,第2页)
SELECT * FROM stu LIMIT 3, 3;  -- 起始索引=(页码-1)*条数

5.4 聚合与分组

-- 聚合函数
SELECT AVG(score) FROM stu;     -- 平均分
SELECT MAX(score) FROM stu;     -- 最高分
SELECT COUNT(*) FROM stu;       -- 总人数-- 分组统计
SELECT gender, AVG(score) 
FROM stu 
GROUP BY gender;

六、图形化工具Navicat

6.1 核心优势

  • 可视化操作数据库/表
  • 直观执行SQL语句
  • 数据导入导出便捷
  • 连接管理多台服务器

6.2 连接配置

  1. 新建MySQL连接
  2. 输入主机地址(默认localhost)
  3. 设置用户名/密码(root/1234)
  4. 测试连接并保存

七、MySQL数据模型

7.1 核心组件关系

客户端 → DBMS → 数据库 → 数据表 → 数据行
  • 一个数据库 = 磁盘上一个文件夹
  • 一张表 = 磁盘上的 .frm(结构) + .MYD(数据)文件
  • 一行数据 = 表中的一条记录

7.2 关系型数据库优势

  1. 表结构统一,易于维护
  2. 使用SQL标准化操作
  3. 支持复杂关联查询
  4. 数据持久化存储

提示:本教程示例基于MySQL 5.7版本,部分语法可能因版本差异需要调整

http://www.dtcms.com/a/272167.html

相关文章:

  • 快速合并多个CAD图形为单一PDF文档的方法
  • 常见 Docker 错误及解决方法
  • (vue)前端区分接口返回两种格式,一种Blob二进制字节流,一种常规JSON,且将blob响应转为json
  • 基于Catboost算法的茶叶数据分析及价格预测系统的设计与实现
  • 多元函数的切平面与线性近似:几何直观与计算方法
  • 高数附录(1)—常用平面图形
  • 《O-PAS™标准的安全方法》白皮书:为工业自动化系统筑起安全防线
  • msf复现永恒之蓝
  • 每日一SQL 【各赛事的用户注册率】
  • Datawhale AI 夏令营:基于带货视频评论的用户洞察挑战赛 Notebook(下篇)
  • 流媒体服务
  • SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
  • x86架构CPU市场格局
  • WIFI协议全解析05:WiFi的安全机制:IoT设备如何实现安全连接?
  • PHP安全编程实践系列(三):安全会话管理与防护策略
  • 【运维】串口、网络一些基本信息
  • 【超详细】CentOS系统Docker安装与配置一键脚本(附镜像加速配置)
  • Pinia 笔记:Vue3 状态管理库
  • 双模秒切,体验跃迁!飞利浦EVNIA双模游戏显示器27M2N6801M王者降临!
  • UnrealEngine5游戏引擎实践(C++)
  • 如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
  • 字节 Seed 团队联合清华大学智能产业研究院开源 MemAgent: 基于多轮对话强化学习记忆代理的长文本大语言模型重构
  • 为了安全应该使用非root用户启动nginx
  • 相机:以鼠标点为中心缩放(使用OpenGL+QT开发三维CAD)
  • [Xmos] Xmos架构
  • 从面向对象编程语言PHP转到Go时的一些疑惑?
  • 同时部署两个不同版本的tomcat要如何配置环境变量
  • Xavier上安装RTSP服务端教程
  • 电商 AI 客服中的 NLP 技术:如何实现更自然的人机对话交互?
  • linux-MySQL的安装