一、SQL语言基础与规范
1.1 SQL语言概述
结构化查询语言(Structured Query Language)是关系型数据库的标准交互工具,具备以下核心优势:
跨平台通用性(支持Oracle/MySQL/SQL Server等主流数据库)
自然语言式交互(SELECT/INSERT/UPDATE等直观指令)
ANSI标准支持(保障基础语法的通用性)
1.2 SQL操作分类体系
分类 全称 典型指令 功能说明
DDL 数据定义语言 CREATE/ALTER/DROP 数据库对象结构管理
DML 数据操作语言 INSERT/UPDATE/DELETE 数据记录操作
DCL 数据控制语言 GRANT/REVOKE 权限管理体系
DQL 数据查询语言 SELECT 数据检索分析
二、数据库设计规范
2.1 范式理论实践
第一范式(1NF)
确保字段原子性:每个字段存储不可再分的独立数据单元
反例修正:将"收货地址"拆分为省/市/区/详细地址等独立字段
第二范式(2NF)
消除部分依赖:订单明细表需包含完整订单ID+商品ID作为联合主键,避免商品信息仅依赖订单ID
第三范式(3NF)
消除传递依赖:员工表中部门名称不应直接存储,应通过部门ID关联部门表获取
2.2 字段类型选型指南
类型 典型值 存储范围 适用场景
INT 4字节 (-2^31, 2^31-1) 用户ID/订单编号
DECIMAL(7,2) 10进制 99999.99 金融金额存储
VARCHAR(255) 变长字符串 0-65535字节 用户名/地址信息
DATETIME 8字节 1000-9999年 精确时间记录
TEXT 长文本 65,535字符 商品描述/日志内容
三、数据库对象操作全流程
3.1 数据库生命周期管理
-- 创建业务数据库
CREATE DATABASE ecommerce
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 查看数据库元信息
SHOW CREATE DATABASE ecommerce;
-- 安全删除操作
DROP DATABASE IF EXISTS test_db;
3.2 数据表管理规范
-- 创建商品表
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY