MySQL 数据库与表核心管理

news/2026/1/23 22:19:40/文章来源:https://www.cnblogs.com/bxxr/p/19508023

MySQL 数据库与表核心管理指南
作为一名 MySQL 初学者,整理了数据库和数据表的核心管理操作,涵盖创建、修改、约束等核心知识点,适合入门学习和日常查阅。
# 本文核心:MySQL 数据库 / 表的创建、管理、数据类型、约束设置等基础操作,附 SQL 规范和实操案例

  • 一、SQL 语句基础规范
    命令不区分大小写(如CREATE和create等效)
    表名 / 库名默认区分大小写(不同系统可能有差异)
    语句必须以;结束
    查看帮助:HELP CREATE TABLE(可替换为任意关键字)
  • 二、数据库核心操作
  1. 核心概念
    数据库:存放数据的仓库(对应系统目录)
    数据表:仓库中的 "货架"(对应系统文件,实际存储数据)
    操作 SQL 语句 说明
    查看所有数据库 SHOW DATABASES; 列出当前实例下所有数据库
    创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name; IF NOT EXISTS避免重复创建报错
    创建并指定编码 CREATE DATABASE IF NOT EXISTS test4 DEFAULT CHARACTER SET UTF8; 推荐显式指定编码,避免乱码
    查看创建语句 SHOW CREATE DATABASE test4; 查看库的实际创建配置
    加\G可垂直显示 (SHOW CREATE DATABASE test4\G;)
    使用数据库 USE db_name; 切换到目标库,后续操作默认在此库执行
    查看库内表 SHOW TABLES; 需先执行USE切换数据库
    修改字符集 ALTER DATABASE test5 DEFAULT CHARACTER SET UTF8; 调整已有库的默认编码
    删除数据库 DROP DATABASE IF EXISTS test5; IF EXISTS避免删除不存在的库报错
  2. 扩展
    SQL 脚本执行:可将 SQL 语句写入*.sql文件,通过客户端执行
    MySQL 不支持直接修改数据库名(需间接实现)
  • 三、数据表核心管理
  1. 核心概念
    列(字段):表的纵向维度,定义数据类型和含义(如name列存字符串)
    行:表的横向维度,代表一条完整数据记录(需符合列的约束)
  2. 数据类型
    (1)整型(按字节 / 范围划分)
    类型 字节 范围 常用属性
    TINYINT 1 -128~127 UNSIGNED(无符号:0~255)、ZEROFILL(0 填充)
    SMALLINT 2 -32768~32767 同上
    MEDIUMINT 3 更大范围 同上
    INT 4 常用整型 同上
    BIGINT 8 超大整数(如主键自增) 同上
    ****示例:
    CREATE TABLE test_int(
    age TINYINT UNSIGNED, -- 无符号,只能存0-255
    num1 INT(10) ZEROFILL, -- 总长度10,不足补0
    num2 INT(10) UNSIGNED ZEROFILL -- 无符号+0填充
    );
    (2)浮点型
    类型 字节 特点 格式说明
    FLOAT 4 单精度浮点数 FLOAT (总长度,小数位) 如 FLOAT (10,2)
    DOUBLE 8 双精度浮点数 精度更高,用法同上
    DECIMAL - 定点数(精准) 适合金额等高精度场景
    (3)字符串类型
    类型 特点 适用场景
    CHAR(N) 固定长度 手机号、身份证、学号(长度固定)
    VARCHAR(N) 可变长度 标题、昵称(长度不固定)
    TEXT 大文本存储 文章内容、备注
    JSON 轻量级数据交换 结构化文本数据
    核心区别:CHAR 占用固定空间,查询快;VARCHAR 按实际长度存储,节省空间。
    (4)日期时间类型
    类型 字节 格式 特点
    DATE 3 yyyy-MM-dd 仅日期
    TIME 3 HH:mm:ss 仅时间
    DATETIME 8 yyyy-MM-dd HH:mm:ss 与时区无关
    TIMESTAMP 4 yyyy-MM-dd HH:mm:ss 与时区相关,范围小
    YEAR 1 yyyy 仅年份
    (5)枚举 / 集合类型
    枚举(ENUM):多选一(如性别:男 / 女)
    集合(SET):多选多(如爱好:读书 / 运动 / 音乐)
  3. 表的增删改查
    (1)创建表
    sql
    CREATE TABLE [IF NOT EXISTS] table_name(
    列名 数据类型 [约束],
    列名 数据类型 [约束]
    ) [DEFAULT CHARACTER SET 编码];
    (2)插入数据
    sql
    -- 插入单行(按列顺序)
    INSERT INTO test_int VALUES (1, 1, 1);
    -- 插入多行
    INSERT INTO test_int VALUES (1,1,1), (2,2,2);
    -- 指定字段插入(推荐)
    INSERT INTO test_int (age, num1) VALUES (10, 10);
    (3)查询数据
    sql
    -- 查询所有列
    SELECT * FROM test_int;
    -- 查询指定列
    SELECT age, num1 FROM test_int;
    (4)删除表
    sql
    DROP TABLE [IF EXISTS] table_name;
    (5)复制表
    sql
    -- 仅复制表结构
    CREATE TABLE new_classes LIKE classes;
    -- 复制结构+数据
    CREATE TABLE new_classes2 AS SELECT * FROM classes;
  4. 修改表结构(ALTER TABLE)
    操作 SQL 语句 示例
    新增列 ALTER TABLE 表名 ADD 列名 类型 [FIRST/AFTER 列名]; ALTER TABLE classes ADD col3 int AFTER class_teacher;
    删除列 ALTER TABLE 表名 DROP COLUMN 列名; ALTER TABLE classes DROP COLUMN col1;
    修改列类型 ALTER TABLE 表名 MODIFY 列名 新类型; ALTER TABLE classes MODIFY col2 char(10);
    修改列名 ALTER TABLE 表名 CHANGE 旧列名 新列名 类型; ALTER TABLE classes CHANGE col3 col03 int;
    修改表名 ALTER TABLE 表名 RENAME TO 新表名; ALTER TABLE classes RENAME TO class;
    添加约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型(列名); ALTER TABLE tb ADD CONSTRAINT pk_id PRIMARY KEY (id);
    四、约束(保证数据完整性)
  5. 核心约束类型
    约束 关键字 作用 示例
    非空 NOT NULL 列值不能为 NULL name varchar(4) NOT NULL
    默认值 DEFAULT 未赋值时用默认值 status enum('disable','enable') DEFAULT 'enable'
    唯一 UNIQUE 列值唯一(允许 NULL) username varchar(5) UNIQUE
    主键 PRIMARY KEY 非空 + 唯一(表的唯一标识) id INT AUTO_INCREMENT PRIMARY KEY
    外键 FOREIGN KEY 表间关联(保证数据一致性) 见下文示例
  6. 外键约束(表间关系)
    sql
    -- 先创建主表
    CREATE TABLE classes (
    class_id VARCHAR(10) PRIMARY KEY,
    class_teacher VARCHAR(5),
    class_room VARCHAR(20)
    );

-- 从表关联主表(外键)
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
class_id VARCHAR(10),
FOREIGN KEY (class_id) REFERENCES classes(class_id)
-- 可选:ON DELETE CASCADE(级联删除)/ SET NULL(置空)
);
外键优缺点:
优点:保证数据一致性、减少冗余、便于维护
缺点:降低性能(每次操作需检查约束)
企业实践:通常不在数据库层用外键,而是在代码层实现约束
五、实用技巧

  1. MySQL 模式切换
    严格模式(默认):不符合约束直接报错
    宽松模式:自动修正不符合约束的数据
    临时切换宽松模式:
    sql
    SET sql_mode = 'NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE';
  2. 排错思路
    不要无视错误提示,重点看near后的位置(错误起始点)
    查看系统日志(MySQL 日志、操作系统日志)
    检查基础环境:
    bash
    运行
    # 临时关闭SELinux
    setenforce 0
    # 关闭防火墙(测试环境)
    systemctl stop firewalld
    systemctl disable firewalld
    总结
    MySQL 核心操作:库 / 表的创建、修改、删除,需遵循 SQL 规范,显式指定编码避免乱码;
    数据类型选择:根据业务场景选合适类型(整型 / 浮点 / 字符串 / 日期),兼顾性能和存储空间;
    约束使用:主键保证唯一性,外键保证表间一致性(企业中常用代码层替代外键),非空 / 唯一 / 默认值约束保证数据完整性。
    # 学习建议:实操是掌握 MySQL 的核心,遇到错误先分析提示信息,逐步培养独立排错能力 #
    六、思维导图

微信图片_20260123220829_167_38

微信图片_20260123220830_168_38

微信图片_20260123220831_169_38

微信图片_20260123220832_170_38

微信图片_20260123220833_171_38

微信图片_20260123220839_172_38

微信图片_20260123221408_175_38

微信图片_20260123221409_176_38

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提示工程架构师携手Agentic AI,给智能城市来一场大升级

提示工程架构师携手Agentic AI:给智能城市来一场“认知革命”级升级 引言:智能城市的“瓶颈期”与破局点 清晨7点半,你开车经过市中心路口——红绿灯还在按固定时长切换,东向车道已经排起长队,北向却空无一人;与此同时,3公里外的园区PM2.5突然飙升,但环保监测系统还在…

案例证明法--内容学习

前言 将复杂证明分解成案例。 然后分别证明每一个案例 判断见过面和没有见过面 任意给定两个人,他们要么是见过面,要么没有见过面。如果团体中任意两个人都见过面,则成这个团体为俱乐部组。如果团队中任意两个人没有见过,则称为…

LiteFlow规则引擎使用指南

目录 一、核心概念与适用场景 二、快速开始:Spring Boot 集成 三、核心组件与规则语法 四、进阶特性与最佳实践 五、总结:何时考虑使用LiteFlow? LiteFlow是一款国产轻量级规则引擎和流程编排框架,主要用于将复杂的业务逻辑拆…

Redis Cluster 的数据分片机制

Redis Cluster 的数据分片机制,即基于 CRC16 算法 和 16384 个哈希槽(Hash Slot) 的分配方法。这是 Redis 分布式架构的核心。 核心思想 Redis Cluster 不使用一致性哈希,而是引入了 哈希槽 的概念,将整个数据集逻辑上…

提示工程架构师避坑指南:10个容易忽略的Prompt安全问题,必看!

提示工程架构师避坑指南:10个容易忽略的Prompt安全问题,必看! 一、引言:Prompt是AI的“操作手册”,也是安全的“生命线” 在AI时代,**Prompt(提示词)**是人类与大语言模型&#xf…

多班次制造业薪酬管理难题拆解:国内主流人事系统对比与选型建议

【导读】 在实行两班倒、三班倒乃至连续作业的制造现场,每天都有成千上万条打卡记录、加班单、调班单、计件数据汇总到HR手上,并被要求精准无误地转化为每位员工的工资条——面对这样的多班次薪酬复杂度,仅靠Excel和传统系统显然已经难以支撑…

Java毕设项目:基于springboot的电子产品电子外设销售系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【课程设计/毕业设计】基于Springboot架构的宠物咖啡馆平台管理系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java计算机毕设之基于springboot的宠物咖啡平台管理系统基于Springboot架构的宠物咖啡馆平台管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于springboot的电子产品电子外设销售系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Da】字幕、效果、动画

--本篇导航--加字幕、文字添加效果、转场关键帧及速度曲线安装外部插件加字幕、文字 加文本 可在达芬奇中拖入文本片段,修改和其他软件一样。默认的字幕轨道外部srt文件 可以使用剪映导出srt文件,从外部生成的srt文件…

提示架构师2024最新能力模型:10大核心能力覆盖从Prompt到Agent全流程

2024提示架构师能力模型全解析:从Prompt设计到Agent落地的10大核心能力 标题选项 《2024提示架构师能力模型:从Prompt到Agent的全流程核心能力清单》《成为顶级提示架构师:2024最新10大能力覆盖AI应用全生命周期》《Prompt到Agent通关指南&am…

彼得林奇如何看待公司的股东积极主义

彼得林奇如何看待公司的股东积极主义关键词:彼得林奇、股东积极主义、公司治理、投资策略、股东权益摘要:本文旨在深入探讨投资大师彼得林奇对公司股东积极主义的看法。通过对彼得林奇投资理念和相关观点的分析,阐述股东积极主义在公司治理和…

【2026实测】Windows系统进程优化工具 Process Lasso v17.0.2.20绿色便携版

工具简介:Process Lasso是一款非常好用的性能优化工具软件,有了它你将无需担心电脑系统卡顿、奔溃、蓝屏等现象出现。该软件占用电脑内存小,操作起来简单,用户可以轻松使用,通过这款软件用户可以清楚的看到电脑中运行的…

基于Springboot+Vue的宠物寄养服务系统开题报告

基于SpringbootVue的宠物寄养服务系统开题报告 一、课题研究背景与意义(一)研究背景 随着居民生活水平提升,养宠人群持续扩大,宠物逐渐成为家庭重要成员。然而,当主人因出差、旅游等原因无法照料宠物时,专业…

AI原生应用开发:偏见缓解的工程化解决方案

AI原生应用开发:偏见缓解的工程化解决方案关键词:AI原生应用开发、偏见缓解、工程化解决方案、数据处理、算法优化摘要:本文聚焦于AI原生应用开发中偏见缓解的工程化解决方案。在AI快速发展的当下,应用中的偏见问题愈发凸显&#…

物理AI的“左右互搏”:世界模型与VLA的闭环进化论

作者 北京五一视界数字孪生科技股份有限公司(51WORLD)物理AI算法工程师侯涛博士 NVIDIA 创始人兼CEO 黄仁勋在刚刚召开的瑞士达沃斯世界经济论坛2026年会上提到,AI技术正在取得三大突破:从聊天演变到干活的智能体、开源模型降低…

特价股票与公司全球数字创新网络效应的关系探讨

特价股票与公司全球数字创新网络效应的关系探讨 关键词:特价股票、公司全球数字创新、网络效应、股票价值、创新驱动发展 摘要:本文旨在深入探讨特价股票与公司全球数字创新网络效应之间的关系。首先介绍了研究的背景、目的、范围以及预期读者等内容。接…

重磅好消息! VMware ESXi 9.0.2.0 正式发布 新增证书自动续订功能和多项漏洞被修复

VMware ESXi 9.0.2.0 正式发布,新增证书自动续订功能,大幅降低运维风险,同时修复多项已知安全漏洞与稳定性问题。此次更新进一步提升了系统安全性、可靠性及企业级虚拟化环境的长期可维护性。 VMware ESX 9.0.2.0 版本说明 最后更新时间&…

期货反向跟单—从小白到高手进阶历程 六十五(成功要点:两个坚持)

在期货领域,反向跟单因其独特的逻辑的成为不少团队的选择,但多数参与者折戟沉沙,核心并非策略设计的复杂,而是缺乏 “坚持” 二字。这种坚持并非盲目固执,而是针对两类关键行情的理性坚守 — 震荡行情中扛住亏损的定力…