MySQL基础概念与安装

时游大约 4 分钟

一、MySQL 是什么?

1.1 MySQL 在项目里的角色

  • 数据库(Database):专门用来存数据的软件系统。
  • MySQL:一种常用的关系型数据库(和 Oracle、PostgreSQL 一类),开源、免费,用的人特别多。
  • 在典型的 Web 项目里:
    • 浏览器/前端:负责界面展示和交互。
    • 后端(Java、Node.js、Python 等):负责业务逻辑。
    • MySQL:负责把数据“稳稳地”存起来(用户、订单、日志等)。

一句话理解:MySQL = 高级版、支持多用户和大数据量的“超级 Excel 表格”。

1.2 关系型数据库的几个概念

  • 库(Database):可以理解成一个项目的数据空间,比如 blog_system
  • 表(Table):类似 Excel 里的一个工作表,比如 users 表、articles 表。
  • 行(Row):一条记录,例如一个用户、一篇文章。
  • 列(Column):字段/属性,比如用户的 idnameemail

示例:users

idnameemail
1张三zhangsan@test.com
2李四lisi@test.com
  • 每一行 = 一个用户。
  • 每一列 = 用户的一个属性。

二、在本机安装 MySQL(思路)

不同操作系统安装细节会不一样,这里给你一个整体步骤和关键点,遇到问题再针对系统查教程即可。

2.1 Mac 上安装(常见方式:Homebrew)

  1. 确认已安装 Homebrew:
brew -v
  1. 安装 MySQL:
brew install mysql
  1. 启动服务:
brew services start mysql
  1. 第一次登录:
mysql -u root

如果需要设置 root 密码,可以在登录后执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;

2.2 Windows / Linux 的关键点

  • 安装包下载位置:到官网或对应发行版的软件源安装。
  • 安装时注意:
    • 记住 root 密码。
    • 记得把 MySQL 的 bin 目录加到环境变量(方便命令行直接用 mysql)。

建议:初学时重点是能在命令行里成功登录 MySQL,其他图形工具以后再装也行。


三、连接 MySQL:命令行基础

3.1 登录与退出

# 登录本机 MySQL,使用 root 用户
mysql -u root -p
# 回车后输入密码(输入时不会显示)

# 登录成功后,提示符类似:
mysql>

# 退出
mysql> exit;
# 或
mysql> \q

3.2 常用元信息命令

登录后可以先熟悉几个最常用的命令:

-- 查看有哪些数据库
SHOW DATABASES;

-- 使用某个数据库
USE test;

-- 查看当前数据库中有哪些表
SHOW TABLES;

-- 查看表结构
DESC users;

注意:

  • 每条 SQL 语句最后必须有分号 ;,否则 MySQL 认为你还没输完。
  • 关键字一般大写(习惯),表名/列名小写(习惯),不区分大小写。

四、数据类型入门(够用为主)

4.1 整数类型

  • TINYINT:很小的整数(-128 ~ 127)。
  • INT:最常用的整数类型(大多数 id 都用它)。

示例:

  • 用户 id 用:INTBIGINT(如果量特别大)。

4.2 小数类型

  • DECIMAL(m, d):精确小数,一般用于金额
  • 例如 DECIMAL(10,2) 可以表示最大 99999999.99

存钱一定要用 DECIMAL,不要用 FLOAT / DOUBLE,会有精度问题。

4.3 字符串类型

  • VARCHAR(n):变长字符串,最常用,比如用户名、邮箱。
  • CHAR(n):定长字符串,长度固定,用得相对少。

4.4 日期与时间

  • DATE:日期(年-月-日)。
  • DATETIME:日期 + 时间(年-月-日 时:分:秒),常用。

五,为练习准备一个测试数据库

5.1 创建数据库

CREATE DATABASE IF NOT EXISTS demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 使用这个数据库
USE demo;

说明:

  • utf8mb4:推荐使用的字符集,完整支持 Emoji 等字符。

5.2 创建一张简单的用户表

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,       -- 主键,自增
    name VARCHAR(50) NOT NULL,              -- 用户名
    email VARCHAR(100) UNIQUE,              -- 邮箱,唯一
    age INT,                                -- 年龄
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP -- 创建时间,默认当前时间
);

简单解释:

  • PRIMARY KEY:主键,一般用来唯一标识一行记录。
  • AUTO_INCREMENT:自动递增,不需要手动给 id 赋值。
  • NOT NULL:这个字段不能为空。
  • UNIQUE:这个字段的值不能重复(例如邮箱)。
  • DEFAULT CURRENT_TIMESTAMP:如果插入时不写这个字段,自动填当前时间。

5.3 查看表结构

DESC users;

你应该能看到包含 id, name, email, age, created_at 几个字段的结构。


六、本篇小结(学会判断自己“会没会”)

学完本篇,你至少应该能:

  • 说出:MySQL 在一个 Web 项目里大概负责什么。
  • 用命令行:登录 MySQL、查看库和表、切换数据库。
  • 知道:常用的数据类型(INTVARCHARDECIMALDATETIME)适合存什么。
  • 自己在命令行里:创建一个数据库、建一张简单的 users 表。

如果这些你已经能自己敲出来,可以继续看下一篇:增删改查 SQL 语句,开始真正用 SQL 和数据打交道。

上次编辑于:
贡献者: 15327360835
Loading...