SQL外键约束详解
在数据库设计中,外键约束(Foreign Key Constraint)是非常重要的,它用于维护表之间的引用关系,确保数据的完整性和一致性。本文将深入探讨外键约束的定义、作用、使用场景、性能影响以及在实际开发中的使用建议。 什么是外键约束外键约束是一种数据库约束,它用于强制执行数据表之间的引用完整性。外键约束要求在子表中引用的值必须存在于父表的主键列中,确保子表的记录只能引用父表中有效的记录。 基本概念 父表(Parent Table):被引用的表,通常包含主键 子表(Child Table):引用其他表的表,包含外键列 外键列(Foreign Key Column):子表中用于引用父表主键的列 各数据库的外键约束语法SQLite 写法SQLite 支持外键约束,但默认是关闭的,需要手动开启: 12PRAGMA foreign_keys = ON;PRAGMA foreign_keys; -- 查看外键状态 表级写法: 123456CREATE TABLE games ( id INT PRIMARY KEY, category_id INT, CON...
SQL 的 CHECK 约束详解
CHECK 约束(Check Constraint)是 SQL 中用于保证数据合法性和业务规则一致性的一种约束机制。它允许你为列或列组合定义一个布尔条件表达式,只有当表达式结果为 TRUE 时,数据才能被插入或更新。 CHECK 约束是做什么的?它的作用是: ✅ 限制列中允许存储的数据范围 ✅ 防止不合法、不合理的数据写入数据库 ✅ 将业务规则前移到数据库层,减少程序漏洞 例如: 年龄不能小于 18 金额必须大于 0 状态值只能是指定的几个枚举值 基本语法列级 CHECK1column_name data_type CHECK (condition) 表级 CHECK(推荐,更清晰)1CHECK (condition) 只要 condition 结果不是 TRUE,插入或更新都会失败。 基础示例1️⃣ 简单条件 员工年龄必须 ≥ 18: 12345CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), age INT CHECK (age >= 18)); 尝试插入非...
Hexo云服务器博客搭建
随着静态博客方案的成熟,Hexo + 云服务器 依然是技术人搭建个人博客的经典组合。相比 GitHub Pages,自建在云服务器上的博客更灵活、可控性更强,也更适合长期运营。 本文将手把手教你: 使用 Hexo 在腾讯云服务器上搭建一个属于自己的博客网站。 安装node.js首先访问 Node.js 官网 下载并安装 Node.js(建议 LTS 版本): https://nodejs.org 安装完成后,Node.js 会自动附带安装 npm(Node 包管理工具)。 配置 npm 国内镜像源由于 npm 默认使用国外镜像,下载速度较慢,推荐切换到 淘宝 npm 镜像。 1npm config set registry https://registry.npmmirror.com 验证是否配置成功 1npm config get registry 安装 Hexo全局安装 Hexo CLI 1npm install -g hexo-cli 验证安装是否成功: 1hexo -v 创建博客目录并初始化 以 Windows 为例,在 D 盘创建 blog 目录: 12...



