sql 存在检测、建库、 建表、约束、外键、级联删除

简介:
sql  存在检测、建库、 建表、约束、外键、级联删除
-- 打开库master
use master
go
-- 判断删除已存在的数据库 stuDB
if exists(select * from sysdatabases where name = 'stuDB')
drop database stuDB
-- 新建数据库 stuDB
create database stuDB
on primary(
name='stuDBdata',
filename='d:\sql\stuDBdata.mdf',
size=5mb,
maxsize=unlimited,
filegrowth=10%
)
log on
(
name='stuDBlog',
filename='d:\sql\stuDBdata.ldf',
size=1mb,
maxsize=unlimited,
filegrowth=1mb
)
go
-- 打开
use stuDB
go
-- 判断是否已存在要创建的表
if exists(select * from sysobjects where name = 'stuinfo')
drop table stuInfo
-- 新建表
create table stuInfo
(
stuName varchar(20) not null,
stuNo varchar(20) not null,
stuSex varchar(20) not null,
stuAge int not null,
stuSeat int identity(1,1) not null,
stuAddress text not null
)
go
exec sp_help stuInfo -- 查看表属性
-- 为表添加约束
alter table stuInfo
-- with nocheck  --
在创建约束时忽略已存在的坏数据
add
constraint pk_stuNo primary key (stuNo),
constraint ck_stuNo check(stuNo like 's253__'),//
 constraint ck_stuNo check(stuNo like 's253[0-9][0-9]'),这样会全面些。
constraint ck_stuSex check(stuSex in ('
','')),
constraint ck_stuAge check(stuAge between 15 and 40),
constraint ck_stuSeat check(stuSeat between 1 and 30),
constraint df_stuAddress default '
地址不祥' for stuAddress
go

exec sp_helpconstraint stuInfo  --
查看约束
-- nocheck - 临时禁用现有约束
alter table stuInfo
nocheck
constraint pk_stuNo
go
-- check - 恢复现有约束
alter table stuInfo
check
constraint pk_stuNo
go
-- 添加数据
insert into stuInfo
 values('
小强','s25301','',18,'北京海淀')
insert into stuInfo
 values('
旺财','s25303','',22,'河南洛阳')
insert into stuInfo
 values('
梅超风','s25302','',31,default)
insert into stuInfo
 values('
欧阳俊雄','s25304','',28,'新疆威武哈')
-- 查看表中数据
select * from stuinfo
-- 打开stuDB数据库
use stuDB
go
-- 检查stuMarks表是否存在
if exists(select * from sysobjects where name='stuMarks')
drop table stuMarks
go
-- 新建stuMarks
create table stuMarks
(
marksId int identity(101,1) not null,
stuNo varchar(20) not null,
writtenExam float not null,
labExam float not null
)
go
-- 查看表属性
exec sp_help stuMarks
-- stuMarks建立约束
alter table stuMarks
add
constraint pk_marksId primary key(marksId),
constraint fk_stuNo foreign key(stuNo)
references stuInfo(stuNo)
on update no action --
级联更新(无操作)
on delete cascade,--
级联删除
constraint ck_writtenExam check(writtenExam between 0 and 100),
constraint ck_labExam check(labExam between 0 and 100)
go
-- 查看表约束
exec sp_helpconstraint stuMarks
insert into stuMarks
values('s25301',80,65)
insert into stuMarks
values('s25302',87,95)
insert into stuMarks
values('s25303',83,69)
insert into stuMarks
values('s25304',70,74)
 

--
查看表中是否存在约束名为 ck%
select * from sysobjects where name like 'ck%'
--
存在检测
if exists(select * from sysobjects where name = 'ck_stuAge')
alter table stuInfo
drop constraint ck_stuAge
go
-- 创建stuAge约束
alter table stuinfo
add
constraint ck_stuAge check (stuAge between 15 and 40)
go
 

本文转自9pc9com博客,原文链接:   http://blog.51cto.com/215363/758802       如需转载请自行联系原作者

目录
打赏
0
0
0
0
24
分享
相关文章
|
5月前
|
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
172 4
|
5月前
|
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
180 11
|
5月前
|
sql约束条件
【10月更文挑战第28天】sql约束条件
106 8
SQL整库导出语录及其实用技巧与方法
在数据库管理和备份恢复过程中,整库导出是一项至关重要的任务
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
161 1
SQL整库导出语录:全面解析与高效执行策略
在数据库管理和维护过程中,整库导出是一项常见的需求,无论是为了备份、迁移还是数据分析,掌握如何高效、准确地导出整个数据库至关重要
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
788 1
使用SQL_语句创建,使用,删除第一个数据库
使用SQL_语句创建,使用,删除第一个数据库
36 1
|
6月前
|
SQL_语句常见的操作创建,使用,删除表和表级约束
SQL_语句常见的操作创建,使用,删除表和表级约束
61 0

热门文章

最新文章