SELECT
表名=case
when
acolorder=1
then
dname
else
''
end,
字段序号=acolorder,
字段名=aname,
标识=case
when
COLUMNPROPERTY(
aid,aname,'IsIdentity')=1
then
'√'else
''
end,
主键=case
when
exists(SELECT
1
FROM
sysobjects
where
xtype='PK'
and
name
in
(
SELECT
name
FROM
sysindexes
WHERE
indid
in(
SELECT
indid
FROM
sysindexkeys
WHERE
id
=
aid
AND
colid=acolid
)))
then
'√'
else
''
end,
类型=bname,
占用字节数=alength,
长度=COLUMNPROPERTY(aid,aname,'PRECISION'),
小数位数=isnull(COLUMNPROPERTY(aid,aname,'Scale'),0),
允许空=case
when
aisnullable=1
then
'√'else
''
end,
默认值=isnull(etext,'')
FROM
syscolumns
a
left
join
systypes
b
on
axtype=bxusertype
inner
join
sysobjects
d
on
aid=did
and
dxtype='U'
and
dname<>'dtproperties'
left
join
syscomments
e
on
acdefault=eid
order
by
aid,acolorder
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default \'默认值\' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表名]
插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,\'51WINDOWSNET\')
删除数据:
DELETE FROM [表名] WHERE [字段名]>100
更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = \'51WINDOWSNET\' WHERE [字段三] = \'HAIWA\'
新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename \'表名\', \'新表名\', \'OBJECT\'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= \'2000-1-1\')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT \'51WINDOWSNET\' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
删除Sql Server 中的日志,减小数据库文件大小
dump transaction 数据库名 with no_log
backup log 数据库名 with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption \'数据库名\', \'autoshrink\', \'true\'
\\\'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
ConnExecute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\")
End Sub
\\\'更改字段通用函数
Sub ModColumn(TableName,ColumnName,ColumnType)
ConnExecute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\")
End Sub
\\\'检查表是否存在
sql=\"select count() as dida from sysobjects where id = object_id(N\'[所有者][表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"
set rs=connexecute(sql)
responsewrite rs(\"dida\")\'返回一个数值,0代表没有,1代表存在
判断表的存在:
select from sysobjects where id = object_id(N\'[dbo][tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1
某个表的结构
select from syscolumns where id = object_id(N\'[dbo][你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1
1、打开SQL Server Management Studio管理工具,连接数据库。
2、新建表时设置主键- 打开新建表界面,展开要新建表的数据库,右键表菜单,依次选择新建->表。
3、新建表时设置主键- 设置主键。
4、修改表主键- 打开设计表界面。右键选择要修改的表,选择设计菜单,即可打开此表的设计界面,此时,可以修改列名、列类型、长度等等。
5、联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择设置主键,对于有数据的表,如果修改后的主键存在数据重复行,则会提示修改失败,此时,需要视具体业务场景删除重复记录或者更改另外的列作为主键。
6、sql语句删除主键。
7、在查询窗口中输入截图的命令添加主键ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 )。
8、在查询窗口中输入截图的命令修改主键,如果表存在主键,需要先删除原主键得到消息“命令已成功完成”即可。
首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:
alter table 你的表名 add constraint pk_name primary key (字段1,字段2);
或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就OK了
主键是数据完整性的保障之一,具体说是实体完整行,主键不允许为空也不能知重复。
假如你做了一个员工表格
有一列是身份z号
如果这个人没有身份z号,那么你就是雇黑工,如果有两个人身份z号相同,那么一个人是伪造的身份。哈道哈
所以正常情况下这两种情况都不允许出现。这是你只要给身份号这一列设置了主键,那么你插入或者修改数据时,数据库管理系统就会自动要求他们不版能为空也不能有两条记录的号码相同。
这就是主键的作用
你那个id
是个标识列,dbms会自动为他赋值,而且保证其唯权一性,所以你就不用给他赋值了
可以用如下方法进行设置:
第一,如果是用SQL语句建表,如下:(假设要让a和c组合作为主码)
create
table
t1(
a
int,
b
varchar(20),
c
int,
primary
key(a,c)
)
第二,如果用图形化界面做,按住ctrl键,然后选择a和c两个列,接着右键菜单选择“设置为主键”即可。
一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary
key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。
*** 作步骤如下:
1、首先我们在这个StudentNo列上用你的鼠标右击,然后选择里面的修改,进行点击,d出
界面。
2、接着会有如下图中所示的窗口内容,这里选择里面的StudentNo,然后右击选择设置主键。
3、设置完毕之后,选择ctrl + S 保存。
4、保存完毕之后,再查看设置的主键时候,没有显示设置成功,这里需要在表上右击,选择刷
新。
5、刷新之后,就可以看到你设置的主键了,在主键列表中也可以看到已将设置成功。
以上就是关于sql 查询 一个数据库中的所有主键全部的内容,包括:sql 查询 一个数据库中的所有主键、数据库中添加主键约束的SQL语句是什么样的,请高手帮忙!!! 是在修改表格的时候,用SQL语句...、SQL语句怎么查询表的主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)