内容要点:
1.表创建/删除
2.修改表字段
3.主键和外键设定
4.查询库中所有表名和查询指定表所有列名
1.创建/删除
create table userinfo --创建表userinfo
(ID int primary key not null, --字段名,数据类型,主键,不允许空值
name varchar(10) not null,
age int null) --允许空值
drop table userinfo2 --删除表
2.修改表字段
alter table userinfo
alter column name varchar(15) not null; --修改类型长度,不允许空值
alter table userinfo2
add grade int null --添加字段grade
alter table userinfo2
drop column grade --删除字段grade,如果字段名为中文,不需要添加''
exec sp_renamedb '数据库名','新数据库名' --修改数据库名
exec sp_rename '表名','新表名' --修改表名
exec sp_rename 'userinfo.grade','usergrade','column' --修改表的字段名
*只允许添加满足下述条件的列: 列可以包含 Null 值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。
3.主键和外键设定
alter table userinfo
add constraint KID primary key (ID) --增加主键 名为KID,对应字段为ID
alter table userinfo
add constraint FK_S foreign key(username)
references userinfo1(name) --增加外键 名为FK_S,对应外表字段username,关联主表主键name
alter table userinfo
drop constraint KID,FK_S --删除主键KID和外键FK_S
4.查询库中所有表名和查询指定表所有列名
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' ----读取库中的所有表名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='useri') --读取指定表useri的所有列名
*转载于https://www.cnblogs.com/xingyadian/p/9056269.html
对于主键和外键的理解:
主键,表的唯一标识字段(属性),不重复,不允许空值,确认表的识别作用;一个主键可由多个字段组成
外键,作为表之间的链接作用,延伸记录内容;A表的外键指向B表的主键
两者结合使用,确保数据的完整、详细以及避免数据错误修改