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):字段/属性,比如用户的
id、name、email。
示例:users 表
| id | name | |
|---|---|---|
| 1 | 张三 | zhangsan@test.com |
| 2 | 李四 | lisi@test.com |
- 每一行 = 一个用户。
- 每一列 = 用户的一个属性。
二、在本机安装 MySQL(思路)
不同操作系统安装细节会不一样,这里给你一个整体步骤和关键点,遇到问题再针对系统查教程即可。
2.1 Mac 上安装(常见方式:Homebrew)
- 确认已安装 Homebrew:
brew -v
- 安装 MySQL:
brew install mysql
- 启动服务:
brew services start mysql
- 第一次登录:
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 用:
INT或BIGINT(如果量特别大)。
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、查看库和表、切换数据库。
- 知道:常用的数据类型(
INT、VARCHAR、DECIMAL、DATETIME)适合存什么。 - 自己在命令行里:创建一个数据库、建一张简单的
users表。
如果这些你已经能自己敲出来,可以继续看下一篇:增删改查 SQL 语句,开始真正用 SQL 和数据打交道。
Loading...
