濮阳杆衣贸易有限公司

主頁 > 知識庫 > sql server建庫、建表、建約束技巧

sql server建庫、建表、建約束技巧

熱門標簽:如何在地圖標注自己店鋪 400外呼系統(tǒng)合法 寧波人工外呼系統(tǒng)有效果嗎 真人語音電銷機器人 電銷機器人被曝光 怎樣把地圖標注導入公司地址 地圖標注一個圓圈怎么用 洛陽外呼系統(tǒng)平臺 廣州人工電銷機器人費用

下面給大家分享下sql server建庫、建表、建約束技巧,下文介紹有文字有代碼。

--創(chuàng)建School數(shù)據(jù)庫之前:首先判斷數(shù)據(jù)庫是否存在,若存在則刪除后再創(chuàng)建,若不存在則創(chuàng)建--
--exists關鍵字:括號里邊能查詢到數(shù)據(jù)則返回‘true' 否則返回‘false'

if exists(select * from sysdatabases where name = 'School')
--exists返回‘true'則執(zhí)行刪除數(shù)據(jù)庫操作--
drop database School

--exists返回‘false'則表明數(shù)據(jù)庫不存在,直接創(chuàng)建 
create database School
on primary
(
--主數(shù)據(jù)庫文件--
name = 'School', --主數(shù)據(jù)文件邏輯名
fileName = 'D:\project\School.mdf', --主數(shù)據(jù)文件物理邏輯名
size = 5MB, --初始值大小
maxsize = 100MB, --最大大小
filegrowth = 15% --數(shù)據(jù)文件增長量
)
log on
(
--日志文件--
name = 'School_log',
filename = 'D:\project\School_log.ldf',
size = 2MB,
filegrowth = 1MB
)
go

----------------------------------------使用T-SQL創(chuàng)建employee數(shù)據(jù)庫------------------------------------

create database employee
on primary
(
--主要數(shù)據(jù)文件--
name = 'employee1',
filename = 'D:\project\employee1.mdf',
size = 10MB,
filegrowth = 10%
),
(
--次要數(shù)據(jù)文件--
name = 'employee2',
filename = 'D:\project\employee2.ndf',
size = 20MB,
maxsize = 100MB,
filegrowth = 1MB
)
log on
(
--第一個日志文件--
name = 'employee_log1',
filename = 'D:\project\employee_log1.ldf',
size = 10MB,
filegrowth = 1MB
),
(
--第二個日志文件--
name = 'employee_log2',
filename = 'D:\project\employee_log2.ldf',
size = 10MB,
maxsize = 50MB,
filegrowth = 1MB
)

---------------------------------查詢已存在的數(shù)據(jù)庫信息---------------------------

select * from sysdatabases

---------------------------------刪除數(shù)據(jù)庫------------------------------------

復制代碼 代碼如下:

drop database School

---------------------------------創(chuàng)建Student數(shù)據(jù)庫表----------------------------

復制代碼 代碼如下:

--1、選擇操作的數(shù)據(jù)庫--
use School
go

--判斷表是否存在--

復制代碼 代碼如下:

if exists(select * from sysobjects where name = 'Student')
drop table Student

--2、創(chuàng)建表---

create table Student
(
--具體的列名 數(shù)據(jù)類型 列的特征(是否為空)--
StudentNo int identity(2,1) not null,
LoginPwd nvarchar(20) not null,
StudentName nvarchar(20) not null,
Sex int not null,
GradeId int not null,
phone nvarchar(50) not null,
BornDate datetime not null,
Address nvarchar(255),
Email nvarchar(50),
IDENTITYcard varchar(18)
)
go

---查看所有數(shù)據(jù)庫對象(數(shù)據(jù)庫表)---

復制代碼 代碼如下:

select * from sysobjects
drop table Student

----------------------創(chuàng)建subject課程表-------------------

復制代碼 代碼如下:

-----1、判斷表是否存在;若存在則刪除再創(chuàng)建,若不存在則直接創(chuàng)建--------
if exists(select * from sysobjects where name = 'subject')
drop table subject

use School
go

---創(chuàng)建subject課程表--
create table subject
(
SubjectNo int not null identity(1,1),
SubjectName nvarchar(50),
ClassHour int,
GradeID int
)

----------------------------------------創(chuàng)建Result成績表-------------------

復制代碼 代碼如下:

-----1、判斷表是否存在;若存在則刪除再創(chuàng)建,若不存在則直接創(chuàng)建--------
if exists(select * from sysobjects where name = 'Result')
drop table Result
use School
go

---創(chuàng)建Result成績表--

復制代碼 代碼如下:

create table Result
(
StudentNo int not null,
SubjectNo int not null,
ExamDate Datetime not null,
StudentResult int not null
)

-----------------------------------------創(chuàng)建Grande年級表-------------------

復制代碼 代碼如下:

-----1、判斷表是否存在;若存在則刪除再創(chuàng)建,若不存在則直接創(chuàng)建--------
if exists(select * from sysobjects where name = 'Grade')
drop table Grade
use School
go

---創(chuàng)建Grande年級表--

復制代碼 代碼如下:

create table Grade
(
GradeId int not null,
GrandeName nvarchar(50)
)

-----------------------------------------T-SQL添加約束-------------------------

復制代碼 代碼如下:

--給StudentNo添加主鍵約束---
alter table Student
add constraint pk_StuNo primary key(StudentNo)

--給身份證添加唯一約束--

復制代碼 代碼如下:

alter table Student
add constraint uq_StuIdcard unique(IDENTITYcard)

---給地址address添加默認約束--

復制代碼 代碼如下:

alter table Student
add constraint df_stuaddress default('地址不詳') for Address

---刪除地址address默認約束---

復制代碼 代碼如下:

alter table Student
drop constraint df_stuaddress


----------出生日期添加檢查約束--------

復制代碼 代碼如下:

alter table Student
add constraint ck_stuBorndate check(Borndate > '1980-01-01')

---------與Grand(年級表)建立主外鍵關系--------

--1、添加Grade主鍵(操作Grade)---

復制代碼 代碼如下:

alter table Grade
add constraint pk_graid primary key(GradeId)

--2、添加Grade外鍵(操作Student)--

復制代碼 代碼如下:

alter table Student
add constraint fk_stuGradeID foreign key(GradeId) references Grade(GradeId)

-------------------給subject課程表添加約束-----------------------

復制代碼 代碼如下:

----給subjectNo列添加主鍵約束------
alter table subject
add constraint pk_SubID primary key(SubjectNo)

------給課程名稱subjectName添加非空約束;-----

復制代碼 代碼如下:

-----with nocheck:已經存在數(shù)據(jù)不通過check約束-------
alter table subject with nocheck
add constraint ck_subName check(SubjectName is not null)

-----學時必須大于0-----

復制代碼 代碼如下:

alter table subject with nocheck
add constraint ck_ClassHour check(ClassHour > 0)

-----與Grade年級表添加主外鍵約束----

復制代碼 代碼如下:

alter table subject with nocheck
add constraint fk_GradeID foreign key(GradeID)
references Grade(GradeID)


----------給result成績表添加約束------------

-------添加多個約束---------

復制代碼 代碼如下:

alter table Result
add
constraint pk_No_subID_date primary key(StudentNo,SubjectNo,ExamDate),
constraint df_examdate default(getdate()) for ExamDate,
constraint ck_StudentResult check(StudentResult between 0 and 100),
constraint fk_StuNo foreign key(StudentNo) references Student(StudentNo),
constraint fk_subNo foreign key(SubjectNo) references Subject(SubjectNo)

--刪除多個約束--

復制代碼 代碼如下:

alter table Result
drop constraint pk_No_subID_date,fk_subNo,fk_StuNo,ck_StudentResult,df_examdate

--------更改列的數(shù)據(jù)類型----------

復制代碼 代碼如下:

alter table Result
alter column StudentResult int

以上就是本文全部內容,希望大家喜歡。

您可能感興趣的文章:
  • mysql建庫時提示Specified key was too long max key length is 1000 bytes的問題的解決方法
  • Mysql 建庫建表技巧分享
  • SQL Server--怎樣用ADO在SQL SERVER中建庫,建表
  • 詳解在MySQL中創(chuàng)建表的教程
  • mysql建表常用sql語句個人經驗分享
  • Oracle新建用戶、角色,授權,建表空間的sql語句
  • SQL Server 2008 阻止保存要求重新創(chuàng)建表的更改問題的設置方法
  • 必須會的SQL語句(二) 創(chuàng)建表、修改表結構、刪除表
  • 一條SQL語句修改多表多字段的信息的具體實現(xiàn)
  • 用SQL語句添加刪除修改字段、一些表與字段的基本操作、數(shù)據(jù)庫備份等
  • 用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null)的語句
  • SqlServer編寫數(shù)據(jù)庫表的操作方式(建庫、建表、修改語句)

標簽:石家莊 咸寧 南昌 珠海 北海 東營 晉中 煙臺

巨人網(wǎng)絡通訊聲明:本文標題《sql server建庫、建表、建約束技巧》,本文關鍵詞  sql,server,建庫,建表,建,約束,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql server建庫、建表、建約束技巧》相關的同類信息!
  • 本頁收集關于sql server建庫、建表、建約束技巧的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    车险| 肇庆市| 辉县市| 海门市| 大邑县| 兴仁县| 安泽县| 伊川县| 交城县| 疏附县| 长沙市| 理塘县| 广水市| 沙雅县| 雷州市| 行唐县| 台山市| 阳朔县| 南昌市| 徐州市| 尼木县| 当阳市| 乌什县| 麻江县| 临泉县| 宾川县| 上栗县| 无锡市| 南安市| 永宁县| 郴州市| 许昌县| 黑河市| 永德县| 和田市| 沁阳市| 崇礼县| 陵水| 邛崃市| 虎林市| 汝阳县|