SQL Server语句创建数据库和表——并设置主外键关系

时间:2022-04-29 07:42:04

简单的创建数据库的 SQL 语句:

 1 use master
2 go
3
4 if exists(select * from sysdatabases where name='Test')
5 begin
6 select '该数据库已存在'
7 drop database Test --如果该数据库已经存在,那么就删除它
8 end
9 else
10 begin
11 create database Test
12 on primary --表示属于 primary 文件组
13 (
14 name='stuDB_data', -- 主数据文件的逻辑名称
15 filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称
16 size=5mb, --主数据文件的初始大小
17 maxsize=100mb, -- 主数据文件增长的最大值
18 filegrowth=15% --主数据文件的增长率
19 )
20 log on
21 (
22 name='stuDB_log', -- 日志文件的逻辑名称
23 filename='D:\stuDB_log.ldf', -- 日志文件的物理名称
24 size=2mb, --日志文件的初始大小
25 maxsize=20mb, --日志文件增长的最大值
26 filegrowth=1mb --日志文件的增长率
27 )
28 end

接下来是创建数据表的 SQL 语句:

1 use Test    --表示设置为在该数据库(Test)执行下面的SQL语句
2 go

可以先执行一下以上语句。

SQL Server语句创建数据库和表——并设置主外键关系

或者在这里选择数据库。

 1 use Test    --表示设置为在该数据库(Test)执行下面的SQL语句
2 go
3
4 if exists(select * from sysobjects where name='Student')
5 begin
6 select '该表已经存在'
7 drop table Student --删除表
8 end
9 else
10 begin
11 create table Student
12 (
13 S_Id int not null identity(1,1) primary key, --设置为主键和自增长列,起始值为1,每次自增1
14 S_StuNo varchar(50) not null,
15 S_Name varchar(20) not null,
16 S_Sex varchar(10) not null,
17 S_Height varchar(10) null,
18 S_BirthDate varchar(30) null
19 )
20 end
21
22 --添加约束
23 alter table Student add constraint
24 UQ_S_StuNo --约束名
25 unique --约束类型(唯一约束)
26 (S_StuNo) --列名
27
28 --删除约束
29 alter table Student drop constraint
30 UQ_S_StuNo --约束名

SQL语句创建表变量:

 1 declare @Score table
2 (
3 Id int not null,
4 Name varchar(50) null
5 )
6
7 insert into @Score
8 select '1','刘邦' union
9 select '2','项羽'
10
11 select * from @Score

SQL语句创建临时表:

 1 -- ## 表示全局临时表
2 create table ##temp
3 (
4 Id int not null,
5 Name varchar(10) null
6 )
7
8 -- # 表示局部临时表
9 create table #temp
10 (
11 Id int not null,
12 Name varchar(10) null
13 )

SQL 语句创建表并设置主外键关系:

 1 if exists(select * from sysObjects where name='Course')
2 begin
3 select '该表已经存在'
4 drop table Course
5 end
6 else
7 begin
8 create table Course
9 (
10 --列名 字段类型 是否为空 标识外键列(外键列名) 关联表的表名(关联的字段名)
11 Stu_Id int null foreign key(Stu_Id) references Student(S_Id),
12 C_Id int not null identity(1,1) Primary key,
13 C_Name varchar(100) not null
14 )
15 end

注意:表变量和临时表都不能添加约束,具体的特征和适用场景请参见:

http://www.cnblogs.com/kissdodog/archive/2013/07/03/3169470.html