数据库修改表结构


修改表结构
	* 更改字段类型长度
		alter tablealter column 字段名 类型的长度 --比如: alter column cno nchar(60)  --课程编号
	* 更改字段类型
		alter tablealter column 字段名 更改后的类型
	* 添加 not null约束
		alter tablealter column 字段名 int not null
	* 设置主键
		alter tableadd constraint 主键名(KID) primary key(字段名)
	* 更改字段名
		EXEC sp_rename '表名.字段名',
		'更改后的字段名','COLUMN'
	* 添加字段名
		ALTER TABLEADD 字段名 字段类型 DEFAULT null
	* 删除表
		DROP TABLE table_name[,....n]
   

create table student   --创建学生信息student表
(
	--创建列开始
	sno nchar(10) not null,		--学号
	sname nvarchar(8),			--姓名	
	sex nchar(1),				--性别
	birthday datetime,			--出生日期
	clno nchar(6),				--班级编号
	point smallint,				--入学成绩
	phone nchar(11),			--电话
	email nvarchar(30)			--电子信箱
)

create table course   --创建课程信息course表
(
	cno nchar(6) not null,		--课程编号
	cname nvarchar(20),			--课程名称
	type nvarchar(8),			--类别
	period tinyint,				--学时
	credit numeric(4,1)			--学分

)
create table score   --创建成绩信息score表
(
	sno nchar(10) not null,		--学生编号
	cno nchar(6) not null,		--课程编号
	usually numeric(6,2),		--平时成绩
	final numeric(6,2)			--期末成绩

)
create table teacher   --创建教师信息teacher表
(
	tno nchar(6) not null,		--教师编号
	tname nvarchar(8),			--教师姓名
	major nvarchar(10),			--专业
	prof nvarchar(10),			--职称
	department nvarchar(12)		--院系部门
)
create table class   --创建班级信息class表
(
	clno nchar(6) not null,		--班级编号
	classname nvarchar(12),		--班级名称
	department nvarchar(12),	--院系部门
	monitor nvarchar(8)			--联系人
)
create table teach_class   --创建教师授课信息teach_class表
(
	tno nchar(6) not null,		--教师编号
	clno nchar(6) not null,		--班级编号
	cno nchar(6) not null		--课程编号
)

-- a) 为student表增加nation列(民族),数据类型为nchar(10),允许为空
	alter table student
	add nation nchar(10)

-- b) 修改student表中nation列的数据类型为varchar(10)
	alter table student 
	alter column nation varchar(10)

--  c)删除student表中的nation列
	alter table student
	drop column nation

/*	问题一:出现错误DF__users__realname__1A14E395
	原因:	就是添加realname字段时设置了默认值,导致SQL Server给realname字段关联了'DF__users__realname__1A14E395'约束。
	解决方法:  只需要删除'DF__users__realname__1A14E395'约束,就可以删除realname字段了。
	
*/
ALTER TABLE student 
DROP CONSTRAINT DF__student__nation__2A4B4B5E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值