SQL SERVER-1-数据库的操作|表结构的操作|表约束的操作

1.数据库的操作

use master
go

--1.创建一个数据库School
--create database School;

--删除数据库School
--drop database School;


--创建数据库的时候指定一些选项
create database School
--设置数据库信息
on primary
(
    --设置数据文件的逻辑名称
    name='School',
    --文件存放地址
    filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\School.mdf',
    --数据文件的初始大小
    size=5MB,
    --设置数据文件的自增长每次增加10MB
    --filegrowth=10MB,
    --设置数据文件的自增长每次增加3%
    filegrowth=10%,--按照文件的百分比来增长
    --设置数据文件的最大大小
    maxsize=100MB
)
--设置日志信息
log on
(
    --设置数据日志的逻辑名称
    name='School_log',
    filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\School.ldf',
    size=3MB,
    filegrowth=3%,
    maxsize=20MB
)

2.表结构的操作

--切换数据库
--use School;
--go


---创建一个班级表
create table TblCalss
(
    --主键,不为空的自增增长列
    tclassId      int identity(1,1)  not null    primary key,
    tclassName      nvarchar(50)       not null,--班级名称
    tclassDesc      nvarchar(100)      null      --班级备注信息
)
go


--在School数据库中创建一个学生表。TblStudent
create table TblStudent
(
    --表中列的定义在这对小括号中
    --主键,不为空的自增长列
    --tsid        int identity(1,1) primary key,
    tsid        int identity(1,1)    not null    primary key,
    tsname        nvarchar(10)        not null,--学生名称
    tsgender    bit                    not null,--性别
    tsaddress    nvarchar(300)        null,    --住址
    tsphone        varchar(100)        null,    --电话
    tsage        int                    null,    --年龄
    tsbirthday  datetime            null,    --生日
    tscardId    varchar(18)            null,    --学号
    tsclassId    int                    not null --班级ID
)
go

扫描二维码关注公众号,回复: 5123462 查看本文章

--删除表
--drop table TblCalss

--删除所有数据,并且重置种子列
truncate table TblCalss

--表结构操作
--手动删除一列(删除EmpAddress列)
alter table Employees drop column EmpAddress

--手动增加一列(增加一列EmpAddr varchar(1000))
alter table Employees add EmpAddr varchar(500) not null

--手动修改一下EmpEmail的数据类型(varchar(200))
alter table Employees alter column EmpEmail varchar(200) not null


3.约束的操作
--约束的种类:
--1.主键约束
--2.外键约束
--3.唯一约束
--4.默认约束
--5.检查约束
--6.非空约束

--为EmpId增加一个主键约束
alter table Employees add constraint PK_Employees_EmpId primary key(EmpId)

--为EmpName增加一个非空约束
alter table Employees alter column EmpName varchar(50) not null

--为EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employees_EmpName unique(EmpName)

--为性别增加一个默认约束,默认为'男'
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender

--为年龄增加一个检查约束:年龄必须在1-120岁之间,含岁与岁。
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120)

--增加外键约束
alter table Employees add constraint FK_Employees_DepId foreign key(DepId) references Department(DepId)
--设置外键之后可以设置级联关系,在删除主键的时候级联删除外键数据,更新主键的时候级联更新外键数据

--通过sql语句删除约束
alter table Employees drop constraint UQ_Employees_EmpName

--通过一句代码来创建多个约束
alter table Employees add
constraint UQ_Employees_Empname unique(EmpName),--唯一约束
constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120),--检查约束
constraint DF_Employees_EmpGender default('男') for EmpGender,--默认值约束
constraint FK_Employees_Department foreign key(DepId) references Department(DepId) on delete cascade on update cascade  --外键约束(包括级联删除和级联更新)

--用一句话来删除相应的多个约束
alter table Employees drop constraint
UQ_Employees_EmpName,
FK_Employees_DepId,
CK_Employees_EmpAge,
DF_Employees_EmpGender

 


 

猜你喜欢

转载自blog.csdn.net/m0_37532448/article/details/82867261