Skip to content

创建

创建数据库

sql
CREATE DATABASE test
on
(name=test_data,filename='D:\data\test_data.mdf',size=5MB,maxsize=10MB,filegrowth=1MB)
log on
(name=test_log,filename='D:\data\test_log.ldf',size=10MB,maxsize=unlimited,filegrowth=20MB)

创建表

sql
-- 切换数据库(关键字大写,中文库名加方括号避免语法错误)
USE [学生];

-- 创建专业表(关键字大写 + 非空约束 + 规范命名 + 代码格式化)
CREATE TABLE [major]
(
    majorCode VARCHAR(10) NOT NULL,  -- 专业代码(补充非空:代码不能为空)
    majorID TINYINT NOT NULL PRIMARY KEY,  -- 专业ID(主键,非空)
    majorName VARCHAR(20) NOT NULL  -- 专业名称(加长长度+非空,原10位过短)
);

-- 创建学生表(关键字大写 + 全约束命名 + 非空 + 外键规范)
CREATE TABLE [stu]
(
    name NVARCHAR(10) NOT NULL UNIQUE,  -- 姓名(非空+唯一)
    id VARCHAR(10) NOT NULL PRIMARY KEY,  -- 学号(主键,非空)
    age TINYINT NOT NULL CHECK(age > 16),  -- 年龄(非空+校验)
    sex VARCHAR(1) NOT NULL CHECK(sex IN ('男','女')),  -- 性别(非空+枚举校验)
    college VARCHAR(20) NOT NULL,  -- 学院(加长长度+非空)
    majorID TINYINT NOT NULL FOREIGN KEY REFERENCES major(majorID),  -- 使用外键关联专业ID(非空)
    
    -- 使用外键的另一种方法:显式命名外键约束(便于后期维护)
    -- CONSTRAINT FK_stu_majorID 
    -- FOREIGN KEY (majorID) REFERENCES major(majorID)
);