SQL Server 创建表

USE DBTEST
--创建表的基本语法
--create table 表名
--(
--    字段名1 数据类型,
--    字段名2 数据类型
--)
--判断表是否存在
if exists(select * from sys.objects where name = 'Department' and type = 'U')
 drop table Department
--建表(职位,职级,员工)
create table Department
(
  --部门编号,primary key:主键,identity(1,1):自动增长,初始值1,增长步长1
  DepartmengtId int primary key identity(1,1),
  --部门名称
  DeparmentName nvarchar(50) not null,
  --部门描述
  DepartmentRemark text
)
--char:定长,char(10),能且仅能占用10个字节
--varchar:变长,varchar(10),最多占10个字节
--text:长文本
--char,varchar,text前面加n:存储unicode字符,中文友好
--varchar(100)存储100个字母或者50个汉字。
--nvarchar(100) 存储100个字母或者100个汉字。
create table [Rank]
(
  --职级编号,primary key:主键,identity(1,1):自动增长,初始值1,增长步长1
  RankId int primary key identity(1,1),
  --职级名称
  RankName nvarchar(50) not null,
  --职级描述
  RankRemark text
)
--员工
create table People
(
 PeopleId int primary key identity(1,1),--员工编号
 DepartmentId int references Department(DepartmengtId) not null,--部门(引用外键)
 RankId int references [Rank](RankId) not null,--职级(引用外键)
 PeopleName nvarchar(50) not null,--姓名
 PeopleSex nvarchar(1) default('男') check(PeopleSex='男'or PeopleSex='女'),--性别
 PeopleBirth smalldatetime not null,--生日
 PeopleSalary decimal(12,2) check(PeopleSalary >=1000 and PeopleSalary <=1000000)not null,--月薪
 PeoplePhone varchar(20) unique not null,--电话
 PeopleAdress varchar(300),--地址
 PeopleAddTime smalldateTime default(getdate())--添加时间

)

------------------------------------------------------------------------------------------------------------

--修改表结构
--(1)添加列
--alter table 表名 add 新列明 数据类型
--给员工表添加一列邮箱
alter  table People add PeopleMail varchar(200)

--(2)删除列
--alter table 表名 drop column 列名
alter table People drop column PeopleMail

--(3)修改列
--alter table 表名 alter column 列名 数据类型
alter table People alter column PeopleAdress varchar(200)

----------------------------------------------------------------------------------------------------------

--向部门表插入数据
insert into Department(DeparmentName,DepartmentRemark)
values('市场部','.....')
insert into Department(DeparmentName,DepartmentRemark)
values('软件部','.....')
insert into Department(DeparmentName,DepartmentRemark)
values('企划部','.....')

--简写
insert into Department
values('硬件部','.....')

--一次性插入多行数据
insert into Department(DeparmentName,DepartmentRemark)
select'测试部','.....'union
select'实施部','.....'union
select'产品部','.....'

--向职级表插入数据----------------------------------
insert into [Rank](RankName,RankRemark)
values ('初级','....')
insert into [Rank](RankName,RankRemark)
values ('中级','....')
insert into [Rank](RankName,RankRemark)
values ('高级','....')

--向员工表插入数据-------------------------------
insert into People(DepartmentId,RankId,PeopleName,PeopleSex,PeopleBirth,PeopleSalary,
PeoplePhone,PeopleAdress,PeopleAddTime)
values (5,1,'刘备','男','1988-8-8',5000,'13888888888','中国',GETDATE())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值