sql sever 创建数据表相关知识汇总

想要创建数据表,首先你要使用某个数据库

use test --切换当前数据库为test,test为数据库名

创建数据表

--创建表语法
create table 表名
(
字段名1 数据类型
字段名2 数据类型
...
)

示例1:

use test --切换当前数据库为test,test为数据库名

--创建表
--我们这里以部门表为例
create table Department
(
--部门ID
DepartmentId int primary key identity(1,1),
--类型为int,
--primary key表示主键(不能有相同的,只能唯一),
--identity(1,1)表示自动增长,初始值为1,每次增长1

--部门名称
DepartmentName varchar(10) not null,
--varchar类似java里面的字符串类型String,10表示最多10个字符
--not null表示不能为空

--部门描述
DepartmentRemark text--对于长文本,可以用text类型
)

ps:字符串类型的一些区别

char:定长,比如char(10),无论存储数据是否真的到了10个字节,都要占用10字节
类似C语言的char[10],也就是10个字节大小的char数组

varchar:变长,比如varchar(10),是最多占10个字节,你里面放1个字节,就占1个字节

text:长文本,比如你有几千几万字,你就可以用这个

char,varchar,text前面加n(比如nvarchar):存储unicode字符,对中文友好,比如varchar(100):存储100个字母或者50个汉字,
nvarchar(100):存储100个字母或100个汉字,

示例2:

--员工表
create table People
(
PeopleId int primary key identity(1,1),--员工编号

PeopleName nvarchar(10) not null,--员工姓名

PeopleSex nvarchar(1) default('男') check(PeopleSex='男' or PeopleSex='女'),--性别
--default表示默认值,就是你不在这格里面填,那它默认就是男
--check表示对PeopleSex进行约束,
--check(),括号里面表示具体约束上述表示PeopleSex只能是男或女,
--or表示或的意思

PeopleBirth datetime not null,--生日
--日期可以用datetime或者date
--datetime可以存储年月日,时分秒
--date只能存储年月日
--ps:还有smalldatetime,表示范围比datetime范围小一点

PeopleSalary decimal(12,2) check(PeopleSalary>=1000 and PeopleSalary<=10000),--薪资
--浮点数类型还有float,但是float是有误差的,
--对于“钱”,我们用decimal精度更好一点
--decimal(12,2),12表示总长度12,2表示小数点两位

PeoplePhone varchar(20) unique not null,--电话
--unique表示唯一的意思,只能有唯一一个值

PeopleAddress varchar(50),--地址

PeopleAddTime smalldatetime default(getdate()),--入职时间
--default(getdate())就是默认值是当前填表的时间

DepartmentId int references Department(DepartmentId),--是哪个部门的
--reference表示外键,也就是我这个员工表的DepartmentId和Department里的DepartmentId关联上了
--意义就是,如果我现在Department表里面已经是规定了DepartmentId只有1 2 3这3个部门编号,
--那你在现在这个People表中DepartmentId就不能填上除了1 2 3以外的数字编号

--主键:唯一标识一行
--外键:就是把其他表里的主键作为我这个表的字段
)

删除数据表

--判断表是否存在,如果存在就删除
if exists(select * from sys.objects where name ='Department' and type='U')
--sys.objects表示当前库里面存储的一些对象,如果在里面能找到Department说明表之前就有了
--and表示而且的意思,类似其他语言中的&&
--type='U'表示是用户创建的
drop table Department--删除数据表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劲夫学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值