sqlserver建库建表建约束,删库删表删约束的示例总结

举报
穆雄雄 发表于 2022/12/09 22:23:59 2022/12/09
【摘要】 1.创建一个数据库catedb,保存在本地D盘下面的DB中,主数据文件的初始大小为5MB,最大为200MB,增长率为10%,日志文件的初始大小为3MB,无限制增长,其增长率为2MB,请使用sql语句检测master数据库中是否存在该数据库,如果存在则删之再建,下面是代码展示。use masterif exists (select * from sysdatabases where name ...

1.创建一个数据库catedb,保存在本地D盘下面的DB中,主数据文件的初始大小为5MB,最大为200MB,增长率为10%,日志文件的初始大小为3MB,无限制增长,其增长率为2MB,请使用sql语句检测master数据库中是否存在该数据库,如果存在则删之再建,下面是代码展示。

use master

if exists (select * from sysdatabases where name = 'catedb')
--删除
drop database catedb

go
create database catedb
on
(
  name = 'catedb_data',
    filename = 'd:\db\catedb_data.mdf',
    size = 5MB,
    maxsize = 200MB,
    filegrowth = 10%
)log on 
(
  name = 'catedb_log',
    filename = 'd:\db\catedb_log.ldf',
    size = 3MB,
    filegrowth = 2MB
)

说明:我们需要先进入master数据库,然后才能操作别的。
name表示数据库的名字
size:表示大小
maxsize:最大大小
filegrowth表示文件增长率

2.在catedb数据库中,新建表,信息如下:

表名:users

列有:

列名 类型 说明
uid int 主键,自增,非空
uname varchar(50) 用户名,唯一的
usex varchar(2) 性别,只有男和女
uaddress varchar(50) 地址,默认为山东济南
uroleid int 角色编号,外键
use catedb

go
if exists (select * from sysobjects where name = 'users')
--删除表
drop table users

--新建表
create table users
(
  uid int identity(1,3) primary key ,
    uname varchar(50) not null,
    usex varchar(2) not null,
    uaddress varchar(50) not null,
    uroleid int not null
)

3.新增几条测试数据给users表中

insert into users values('琴莘莘','女','山东济南',1);
insert into users values('范啸天','男','山东济南',2);
insert into users values('王炎霸','男','山东济南',3);
insert into users values('唐三娘','女','山东济南',4);
insert into users values('顾子敬','男','山西吕梁',5);

4.给users表中的uid列添加主键约束。

alter table users
add constraint pk_uid primary key (uid);

5.给users表的uname列添加唯一约束

alter table users
add constraint uq_uname unique (uname);

6.给users表的uaddress列添加默认约束,默认为山东济南

alter table users
add constraint df_uaddress default ('山东济南') for uaddress;

7.给users表的usex添加检查约束,性别只有男和女

alter table users
add constraint ck_usex check (usex ='男' or usex ='女');

8.给users表的uroleid添加外键约束,外键表为role,列为rid

alter table users
add constraint fk_uroleid foreign key (uroleid) references role (rid);

9.删除约束(users表中的fk_uid)

alter table users
drop constraint pk_uid;

10.添加约束时,不对数据表中的数据进行检查。

alter table users  with nocheck
add constraint ck_usex check(usex = '男' or usex = '女')
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。