SQLServer数据表的创建
文章目录
- 1 SQLServer数据表的创建
- 1.1 创建数据表的语法
- 1.2 标识列的特殊说明
- 1.3 建表举例
1 SQLServer数据表的创建
1.1 创建数据表的语法
create table 表名
{字段1 数据类型 列的特征,字段2 数据类型 列的特征,...
}
go
列的特征包含的内容如下:
- 是否为空(NULL):在输入数据时,数据库的列允许为空时,可以不输入数据,否则必须输入。列是否为空要根据数据库设计的具体要求决定,对于关键列必须禁止为空。
- 是否是标识列(自动编号)。
- 是否有默认值:如果数据表的某列在用户不输入数据的时候,希望提供一个默认的内容,比如用户如果不输入学员地址,则默认‘地址不详’。
- 是否为主键:主键是实体的唯一标识,保证实体不被重复。一个数据表必须有主键才有意义,否则更新和删除实体可能会出异常。
1.2 标识列的特殊说明
标识列使用的意义: 有时候,一个数据表存储的实体,很难找到不重复的列作为主键列,比如学员成绩表中存储着学生的多次考试成绩,则学号也很容易重复,其他列更无法做到不重复。SQLServer提供了一个“标识列”,也叫“自动增长列”或“自动编号”,它本身没有什么具体意义,但我们也可以让它表示特殊意义。比如学生成绩表中的自动表示列Id,不表示实体属性;但学生信息表中的StudentId也是标识列,但它表示学生实体属性(学号)。
标识列的使用方法:
- 该列必须是整数类型,或没有小数位数的精确类型。
- 标识种子:标识列的起始大小。
- 表示增量:标识列每次递增(自动增加)的值。
注意问题:
- 有标识列的数据被删除某一行时,数据库会将该行空缺,而不会填补。
- 标识列由系统自动维护,用户既不能自己输入数据,也不能修改数值。
- 标识列可以同时定义为主键,也可以不定义为主键,根据需要决定。
1.3 建表举例
建表举例1:
--创建学员信息数据表
use StudentManageDB
goif exists(select * from sysobjects where name='Students')
drop table Students
go
create table Students
(StudentId int identity(10000,1),--学号StudentName varchar(20) not null,--姓名Gender char(2) not null,--性别Birthday datetime not null,--出生日期StudentIdNo numeric(18,0) not null,--身份证号Age int not null,--年龄PhoneNumber varchar(50),StudentAddress varchar(500),ClassId int not null --班级外键
)
go
--创建班级表
if exists(select * from sysobjects where name='StudentClass')
drop table StudentClass
go
create table StudentClass
(ClassId int primary key,--班级编号ClassName varchar(20) not null
)
go
--创建成绩表
if exists(select * from sysobjects where name='ScoreList')
drop table ScoreList
go
create table ScoreList
(Id int identity(1,1) primary key,StudentId int not null,--学号外键CSharp int null,SQLServer int null,UpdateTime datetime not null--更新时间
)
go
--创建管理员表
if exists(select * from sysobjects where name='Admins')
drop table Admins
go
create table Admins
(LoignId int identity(1000,1) primary key,LoginPwd varchar(20) not null,--登录密码AdminName varchar(20) not null
)
go
建表举例2:
--指向要操作的数据库
use CourseManageDB
go
--创建讲师表
if exists(select * from sysobjects where name='Teacher')
drop table Teacher
go
create table Teacher
(TeacherId int identity(1000,1) primary key , --讲师编号,主键LoginAccount varchar(50) not null, --登录账号LoginPwd varchar(18) not null, TeacherName varchar(20) not null,Phonenumber char(11) not null, --电话NowAddress nvarchar(100) not null --住址
)
go
--课程分类表
if exists (select * from sysobjects where name='CourseCategory')
drop table CourseCategory
go
create table CourseCategory
(CategoryId int identity(10,1) primary key,CategoryName varchar(20) not null
)
go
--课程表
if exists (select * from sysobjects where name='Course')
drop table Course
go
create table Course
(CourseId int identity(1000,1) primary key,CourseName nvarchar(50) not null ,CourseContent nvarchar(500) not null,ClassHour int not null,--课时Credit int not null, --学分CategoryId int not null, --外键约束TeacherId int not null
)
go
参考资料:
- .NET/C#工控上位机VIP系统学习班【喜科堂互联教育】
SQLServer数据表的创建相关推荐
- python数据库建表_mysql数据表如何创建
在 MySQL 中,可以使用 CREATE TABLE 语句创建表.其语法格式为:CREATE TABLE <表名> ([表定义选项])[表选项][分区选项]; 其中,[表定义选项]的格式 ...
- Python框架篇之Django(Models数据表的创建、数据库配置)
文章目录 一.数据库的配置 二.Models数据表的创建 三.在Pycharm中显示 一.数据库的配置 1. django默认支持 sqlite,mysql, oracle,postgresql数据库 ...
- 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
原文:学习ASP.NET Core Razor 编程系列三--创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 ...
- MySQL数据库与数据表的创建
MySQL数据库与数据表的创建 文章目录 MySQL数据库与数据表的创建 前言 一.创建数据库 二.使用数据库 三.创建数据表 前言 MySQL的介绍 什么叫数据库: 作用:存储数据,能够长期保存(断 ...
- Mysql数据库和数据表的创建和信息更改的常用指令
文章目录 数据库和数据表的创建和信息更改 后续小实验做准备 一. 关于数据库和数据表的其它操作 1)数据库 ①创建数据库 ②显示目前所有的数据库 ③数据库重命名 2.1 先创建新库: 2.2 使用`R ...
- db2查询字段备注_通过逐浪数据精灵管理sqlserver数据表备注以及字段说明
通过逐浪数据精灵管理sqlserver的数据表备注以及字段说明备注(附脚本方法) 基本介绍 逐浪数据精灵,是由逐浪软件团队提供的生成态产品,可以快速的方便的管理数据表,目前对商业用户开放. 管理数据库 ...
- MySQL数据表的创建、查看、插入
数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2.开始创建一个表 ...
- mysql数据表的创建-数据类型
库建好了,开始要建表了 >建表的语句 一个库中可以存在多个表 具体来看每一张表的情况 以表格为例子 >表格 >主键 一行信息的唯一标识 特点: 非空 唯一 >数据类型 总的分三 ...
- SQL基础:数据表的创建
1. 先选择创建表所在的数据库 2. 创建表 3. 查看表是否创建成功 4. 主键:要求主键列的数据唯一,且不允许为空.主键能够唯一的标识表中的每一条记录,可以结合外键来定义不同数据表之间的关系,并且 ...
最新文章
- CUDA运行时Runtime(三)
- 轻松学Pytorch–环境搭建与基本语法
- 【Linux】34. shell脚本判断当前年份是否正确
- ES6,Array.copyWithin()函数的用法
- GitLab初次安装后,登录GitLab网页的管理员账号和密码各是什么?
- url映射 ccf (Java正则表达式80分解法)
- SAP Cloud for Customer里的Sales Lead和Lead
- crbug/1173575, non-JS module files deprecated.
- CCF NOI1061 Wifi密码
- Windows 有哪些值得推荐的必装软件?
- python调用java接口或者类_python如何调用java类
- html语言怎么修改form边框,form表单样式案例 定义html表单细边框样式
- 局域网中电脑ping不通解决办法
- 一张图搞懂什么是M0、M1 、M2
- 中国步进电机市场现状研究分析与发展前景预测报告(2022)
- rsync和inotify远程同步
- 内存条 udimm rdimm 等和 ECC 功能
- Python视频剪辑Auto-Editor一键预处理口播无声片段
- 一天一个机器学习小知识——Lasso、Ridge以及ElasticNet
- 获取Keycloak的Token示例