1. 修改表时一定要注意表之间的依赖性:
如果几张表相互之间具有一些关联性,诸如外键约束等等,必须先理清对表的操作符不符合这些已经存才的依赖性,如果不符合则需要解除这些依赖性再对表进行相应的修改,否则会导致其他表错误,比如在教师表中删除了一名教师,但是在另一张选课表中还存在该教师则出现了错误;
2. 重命名、删除表:
a. 图形界面下,直接在对象资源管理器中指定表名上右键点击重命名或者删除,完成后点击确定即可,同样也可以使用快捷键F2和Delete来完成;
b. 使用T-SQL语句对表进行重命名和删除:
USE XXX
EXEC sp_rename '原表名', '新表名' //注意该过程为rename要和前面修改数据库名的renamedb相区别
DROP TABLE XXX //将逻辑名为XXX的表删除(是将表和表中的数据全部删除,即整张表都丢失了)
DELETE TABLE XXX //将罗继明为XXX的表中的数据删除,但是表的列属性和表本身还是被保留了下来,即只删除光表中的全部记录
//注:这三条句可以在一条USE语句下连用
3. 图形界面下修改列:
a. 在对象资源管理器中选择指定表,在表名上右键→设计即可;
b. 可以在编辑区域自由地添加列,修改列属性;
c. 删除列则需要在相应的列上右键→删除→确定即可;
4. 使用T-SQL语句修改列:
a. 添加列:
USE XXX
ALTER TABLE XXX
ADD 属性名 类型 各个选项
注意:
(1)所有修改列的语句(包括后面要讲的DROP COLUMN和ALTER COLUMN语句)都不能在一条ALTER TABLE语句下连用,但是USE语句可以只写一次,因此如果要使用多条语句来修改列则可以只写一个USE语句并每条语句都对应一个ALTER TABLE语句;
(2)ADD中列类型必须写,否则会报错;
(3)后面的选项可写可不写,如果要写则必须遵循以下规则(前三点的前提是原表非空):
*1. 如果填写是否允许NULL选项则必须填写NULL,否则报错,也就是说系统都是默认为NULL的,因此这项没必要写;
*2. 可以写IDENTITY和DEFAULT选项;
*3. 不可以写PRIMARY KEY等约束选项;
*4. 如果原表为空,则可以像创建表那样自由地为该属性添加选项;
b. 删除列:
USE XXX
ALTER TABLE XXX
DROP COLUMN XXX //即删除名为XXX的列
c. 修改列属性:
USE XXX
ALTER TABLE XXX
ALTER COLUMN 属性名 修改后的内容
注:其中修改的内容可以有类型、允许NULL等等;
!!!注意:这里假设所有修改都是建立在此表和其它表没有建立联系的前提下的,如果有和其它表建立某种联系则这些操作不一定能成立,可能会报错,要求你要先解除这些联系后才能进行相应的修改;
5. 表的关系图:
a.