sqlserver找主键,SQL主键外键

sqlserver怎么获取主键的值

插入一条记录后想要立刻获取其数据表中的sql server主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、成都网站制作、外贸网站建设、网站策划、网页设计、主机域名、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

个人感觉最快的方式就是,在插入数据后直接获取sql server主键的值,然后返回过来。

方法如下:

sql语句如下:

INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName;

在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取sql server主键的值

在程序中获取返回值:

public int sqlexecutereader(string sql) { DBopen(); SqlCommand myComm = new SqlCommand(sql, Connection); int newID = Convert.ToInt32(myComm.ExecuteScalar()); DBclose(); return newID; }

当然在此处主键是int类型的自动增加的。DBopen();DBclose();的操作在此就不多说了。

Sql Server如何查询一个表的主键?

可以参考下面的代码

SELECT t.* from user_cons_columns t where t.table_name  = '表名' and t.position is not null;   --表名必zd须大写,如:

TABLE_TEST  ,column即为用户的主键,user_cons_columns即为用户要的主键名。

扩展资料:

SQL语句

添加主键

Alter table tabname add primary key(col)

说明:删除主键:Alter table tabname drop primary key(col)

创建索引

create [unique] index idxname on tabname(col…。)

删除索引:drop index idxname on tabname

参考资料来源:百度百科-SQL语句大全

sql 查询 一个数据库中的所有主键

SELECT

表名=case

when

a.colorder=1

then

d.name

else

''

end,

字段序号=a.colorder,

字段名=a.name,

标识=case

when

COLUMNPROPERTY(

a.id,a.name,'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

=

a.id

AND

colid=a.colid

)))

then

'√'

else

''

end,

类型=b.name,

占用字节数=a.length,

长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),

小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),

允许空=case

when

a.isnullable=1

then

'√'else

''

end,

默认值=isnull(e.text,'')

FROM

syscolumns

a

left

join

systypes

b

on

a.xtype=b.xusertype

inner

join

sysobjects

d

on

a.id=d.id

and

d.xtype='U'

and

d.name'dtproperties'

left

join

syscomments

e

on

a.cdefault=e.id

order

by

a.id,a.colorder

sqlserver查询字段是否为自增长或主键

/*查询标识字段或主键字段 [根据表名查询] *./ SELECT字段序号=a.colorder, 字段名=a.name, 字段类型=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '标识字段'else '主键字段' end FROM syscolumns a where id=object_id(N'loginuser') --要查询的表名 and( --标识字段 COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 or --主键字段 exists(SELECT 1 FROM sysobjects where xtype='PK' and name in ( SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))))order by a.id,a.colorder/*查询当前数据库所有 标识字段、主键字段 *./SELECT表名=case when a.colorder=1 then d.name else '' end, 字段名=a.name,

sqlserver如何查询一个表的主键都是哪些表的外键

外键(foreign

key)

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。换而言之,如果关系模式r中的某属性集不是r的主键,而是另一个关系r1的主键则该属性集是关系模式r的外键,通常在数据库设计中缩写为fk。在sql

server中,主键是一个表中的约束。这个约束,一张表只能有一个,一般作为id使用,这个约束一般给别人外键引用。这个约束的功能就是,不可重复,保证了唯一性,正是这种特性,使得大多数人都把他作为表中id的字段使用。一个表的外键

可以

是另一个表的主键

如何在sqlserver数据库表中建立复合主键

方法一:创建表之后,alter

table

table_name

add

primary

key(字段1,字段2)

方法二:CREATE

TABLE

表名

(字段名1

Int

Not

Null,

字段名2

nvarchar(13)

Not

Null

字段名3…………

字段名N…………)

GO

ALTER

TABLE

表名

WITH

NOCHECK

ADD

CONSTRAINT

[PK_表名]

PRIMARY

KEY

NONCLUSTERED

(

[字段名1],

[字段名2]

)

GO

方法三:建表后,右键--设计,选中作为符合主键的列,选中之后右击--设为主键


本文名称:sqlserver找主键,SQL主键外键
链接地址:http://azwzsj.com/article/hcegoo.html