MySQL数据库零基础入门,数据库原理、SQL详解、库表操作、字段约束、基础查询全覆盖

本篇带你零基础入门MySQL,从数据库原理、SQL语法、库表操作、字段约束、基础查询手把手吃透,零基础也能一次性学懂、直接上手开发。

本篇核心学习目标:

  • 理解数据库作用、MySQL架构与存储原理

  • 掌握SQL四大分类(DDL/DML/DQL/DCL)

  • 精通数据库、数据表的创建、修改、删除操作

  • 掌握常用数据类型,学会合理设计字段

  • 吃透六大字段约束(主键、非空、唯一、默认、外键、自增)

  • 熟练掌握基础单表查询、条件、排序、分页

  • 掌握数据库入门高频面试与开发规范


一、数据库核心认知(零基础必懂)

1.1 什么是数据库?

数据库是长期存储在计算机中、结构化、可共享、统一管理的数据集合

通俗理解:

之前Java程序数据存在内存/文件中,不安全、不易查询、不易管理

数据库就是专门用来永久保存、管理、查询数据的软件

1.2 为什么要用数据库?

  • 数据永久存储,断电不丢失

  • 查询速度极快,支持海量数据检索

  • 支持数据约束,保证数据规范、安全

  • 支持多用户、多程序共享访问

  • 支持事务,保证数据一致性

1.3 常见数据库分类

  • 关系型数据库(主流):MySQL、Oracle、SQL Server

  • 非关系型数据库:Redis、MongoDB

Java后端入门与开发首选MySQL:免费、开源、轻量、生态最全。


二、数据库完整存储结构

数据存储层级从大到小:数据库 → 数据表 → 字段(列) → 数据(行)

2.1 层级通俗解释

  • 数据库:相当于一个文件夹,存放整套项目所有数据

  • 数据表:相当于Excel表格,分门别类存储数据(用户表、订单表)

  • 字段/列:表格标题(用户名、密码、年龄)

  • 数据/行:每一条具体的记录


三、SQL语句四大分类(必背)

SQL是操作数据库的统一语言,所有数据库通用。

SQL分为四大类,开发各司其职:

分类 全称 作用 常用语句
DDL 数据定义语言 定义库、表结构 CREATE、ALTER、DROP
DML 数据操纵语言 增删改数据 INSERT、UPDATE、DELETE
DQL 数据查询语言 查询数据(开发最多) SELECT
DCL 数据控制语言 权限、事务控制 GRANT、COMMIT、ROLLBACK

四、DDL语句:数据库操作

4.1 创建数据库

sql 复制代码
-- 创建数据库
CREATE DATABASE mydb;
-- 创建数据库(不存在才创建,防止报错)
CREATE DATABASE IF NOT EXISTS mydb;
-- 创建数据库并指定编码
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4;

4.2 查看数据库

sql 复制代码
-- 查看所有数据库
SHOW DATABASES;
-- 查看数据库创建语句
SHOW CREATE DATABASE mydb;

4.3 修改数据库编码

sql 复制代码
ALTER DATABASE mydb DEFAULT CHARACTER SET utf8mb4;

4.4 删除数据库

sql 复制代码
-- 谨慎操作!删除不可恢复
DROP DATABASE IF EXISTS mydb;

4.5 使用/切换数据库

sql 复制代码
USE mydb;

五、DDL语句:数据表操作

5.1 常用MySQL数据类型

建表必须指定字段类型,常用类型熟记:

类型 说明
int 整型,存放数字、年龄、编号
varchar(n) 可变字符串,存放用户名、密码、地址
char(n) 固定长度字符串,适合手机号、身份证
double 小数,存放金额、分数
date 日期格式:年月日
datetime 完整时间:年月日时分秒

5.2 创建数据表(核心)

sql 复制代码
-- 创建用户表
CREATE TABLE user(
    id INT,
    username VARCHAR(20),
    password VARCHAR(20),
    age INT,
    create_time DATETIME
);

5.3 查看、删除、修改表

sql 复制代码
-- 查看当前库所有表
SHOW TABLES;
-- 查看表结构
DESC user;
-- 删除表
DROP TABLE IF EXISTS user;

-- 修改表名
ALTER TABLE user RENAME TO new_user;
-- 添加字段
ALTER TABLE user ADD email VARCHAR(30);
-- 修改字段类型
ALTER TABLE user MODIFY username VARCHAR(50);
-- 删除字段
ALTER TABLE user DROP email;

六、六大字段约束(数据库灵魂、面试必考)

约束作用:限制字段数据,保证数据合法、完整、唯一、安全

六大常用约束:

6.1 约束详解

  • 主键约束 PRIMARY KEY:唯一标识、非空、唯一、一张表只能有一个

  • 自增约束 AUTO_INCREMENT:数值自动递增,无需手动赋值

  • 非空约束 NOT NULL:字段不能为空,必须赋值

  • 唯一约束 UNIQUE:数据不能重复(手机号、账号)

  • 默认约束 DEFAULT:不赋值时使用默认值

  • 外键约束 FOREIGN KEY:关联两张表,保证关联数据完整性

6.2 带约束建表实战(标准开发写法)

sql 复制代码
CREATE TABLE user(
    id INT PRIMARY KEY AUTO_INCREMENT,  -- 主键+自增
    username VARCHAR(20) NOT NULL,      -- 非空
    phone CHAR(11) UNIQUE,              -- 唯一
    age INT DEFAULT 18                  -- 默认值18
);

开发规范:每张表必须有主键!


七、DML增删改数据

7.1 新增数据 INSERT

sql 复制代码
-- 指定字段新增
INSERT INTO user(username,phone,age) VALUES ('张三','13800138000',20);
-- 全字段新增
INSERT INTO user VALUES (NULL,'李四','13900139000',22);

7.2 修改数据 UPDATE

sql 复制代码
-- 带条件修改(精准修改)
UPDATE user SET age=25 WHERE username='张三';
-- 批量修改
UPDATE user SET age=30;

开发严禁不带条件修改!会修改全表数据!

7.3 删除数据 DELETE

sql 复制代码
-- 删除指定数据
DELETE FROM user WHERE username='李四';
-- 清空全表
DELETE FROM user;

八、DQL基础查询(开发最常用)

8.1 基础查询语法

sql 复制代码
-- 查询所有字段
SELECT * FROM user;
-- 查询指定字段
SELECT username,age FROM user;
-- 别名查询
SELECT username AS 用户名,age AS 年龄 FROM user;
-- 去重查询
SELECT DISTINCT age FROM user;

8.2 条件查询 WHERE

sql 复制代码
-- 查询年龄等于20
SELECT * FROM user WHERE age=20;
-- 查询年龄大于18
SELECT * FROM user WHERE age>18;
-- 区间查询
SELECT * FROM user WHERE age BETWEEN 18 AND 30;
-- 模糊查询
SELECT * FROM user WHERE username LIKE '%张%';

8.3 排序查询 ORDER BY

sql 复制代码
-- 升序(默认)
SELECT * FROM user ORDER BY age ASC;
-- 降序
SELECT * FROM user ORDER BY age DESC;

8.4 分页查询 LIMIT(开发高频)

sql 复制代码
-- 每页展示2条数据,第1页
SELECT * FROM user LIMIT 0,2;
-- 每页2条,第2页
SELECT * FROM user LIMIT 2,2;

分页公式:起始索引 = (页码-1) * 每页条数


九、新手易错坑汇总

  1. 修改、删除必须加where条件,否则操作全表数据

  2. 数据表必须设置主键,保证数据唯一性

  3. 字符串、日期必须加单引号

  4. varchar必须指定长度,合理设计字段类型

  5. 数据库编码统一utf8mb4,防止中文乱码

  6. 自增主键无需手动赋值,写NULL即可


十、本篇总结

本篇搞定MySQL入门全部核心,核心口诀速记:

  • 数据层级:数据库→数据表→字段→数据

  • SQL四大类:DDL结构、DML增删改、DQL查询、DCL权限

  • 六大约束保证数据完整性,主键自增是建表标配

  • 熟练掌握库表操作、数据增删改、条件排序分页查询

  • 严格遵守开发规范,避免全表更新、删除事故

相关推荐
IT策士1 小时前
Redis 从入门到精通:数据结构Set 与 Sorted
数据结构·数据库·redis
2401_873479401 小时前
如何用IP离线库检测DNS隧道和C2通信?企业DNS安全防护指南
网络·数据库·tcp/ip·安全·ip
填满你的记忆1 小时前
10万QPS下,Redis缓存如何避免雪崩?
数据库·redis·缓存
神仙别闹1 小时前
基于 PHP + MySQL 图书库存管理系统
android·mysql·php
IT界的老黄牛2 小时前
MongoDB 主从切换排查实战:从 docker ps 到 jq,一套 SOP 定位死因
数据库·mongodb·docker
睡不醒男孩0308232 小时前
第四篇:数据库国产化与信创替代的守护者:基于CLup的异构数据库一站式运维平台构建
运维·数据库·金融·clup·中启乘数
Lumistory2 小时前
2026年城市照明工程4大核心痛点及解决方案
大数据·数据库
岳麓丹枫0012 小时前
PG数据库无法接受连接问题分析定位
数据库·postgresql
JdSnE27zv2 小时前
SQLite内存数据库
数据库·sql·sqlite