当前位置:首页 » 编程语言 » sql获取表主键

sql获取表主键

发布时间: 2022-03-07 06:47:13

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

② 如何取得SQL数据库中某个数据表的主键

不同的数据库系统取法不一致

就是取系统字典表里关于表结构定义的部分

③ sqlserver怎么获取主键的值

插入一条记录后想要立刻获取其数据表中的sql server主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。
个人感觉最快的方式就是,在插入数据后直接获取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 数据库一个表的主键设置

SELECT
col.name AS 列名,
typ.name as 数据类型,
col.max_length AS 占用字节数,
col.precision AS 数字长度,
col.scale AS 小数位数,
col.is_nullable AS 是否允许非空,
col.is_identity AS 是否自增,
case when exists
( SELECT 1
FROM
sys.indexes idx
join sys.index_columns idxCol
on (idx.object_id = idxCol.object_id)
WHERE
idx.object_id = col.object_id
AND idxCol.index_column_id = col.column_id
AND idx.is_primary_key = 1
) THEN 1 ELSE 0 END AS 是否是主键
FROM
sys.columns col left join sys.types typ on (col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id)
WHERE
col.object_id =
(SELECT object_id FROM sys.tables WHERE name = ' 你的表的名字 ')

⑤ 用SQL语句获得PostgreSQL表的主键

你会用PLSQL Developer吗 你说的这些要求 这个工具能完成 直接右键点你的表 选择viwe 就可以清楚的看到你所需要的东西了 如果没有PLSQL Developer就按这个名字去网上下一个很小 安装很简单

⑥ sqlite 中如何用sql语句取得某个表的主键

Select
col_name(object_id('表'),colid) 主键字段
From sysobjects as o
Inner Join sysindexes as i On i.name=o.name
Inner Join sysindexkeys as k On k.indid=i.indid
Where
o.xtype = 'PK' and parent_obj=object_id('表') and k.id=object_id('表')

⑦ SQL怎么获取一个表中的主键列名,并把列明赋值给一个变量

我只知道查看一个表创建主键的列名
sp_pkeys 表名,column_name是主键所在的列
或者
sp_helpconstraint 表名
constraint_keys即是主键所在的列

⑧ SQL语句怎么查询表的主键

1、打开【SQL Server Management Studio】管理工具,连接数据库。

⑨ mysql数据库中怎么获取表的主键

在SYBASE的ASE和ASA中,可以使用如下的系统存储过程来获取主键:
exec
sp_pkeys
'table_name';
sql
server也是一样的!
至于mysql,我没这个环境,相信应该有类似的存储过程的!

⑩ sql查询表中主键字段

看你查出数据来没有,跟踪SQL然后在查询分析器里面执行看有没有数据
21行开始代码修改为
DataSet dataSet = new DataSet();
da.Fill(dataSet);
if(0<dataSet.Tables.Count){
context.Response.write(DataTableToJson(dataSet.Tables[0]));

}

热点内容
php判断手机访问 发布:2025-01-13 10:46:06 浏览:762
数据库十张表 发布:2025-01-13 10:41:50 浏览:395
仿php 发布:2025-01-13 10:41:40 浏览:811
后缀解压什么意思 发布:2025-01-13 10:35:17 浏览:185
索尼安卓11如何退回安卓10 发布:2025-01-13 10:24:09 浏览:127
程序编译结构 发布:2025-01-13 10:24:08 浏览:90
创建邮箱地址服务器连接错误 发布:2025-01-13 09:49:24 浏览:723
linux编辑文档 发布:2025-01-13 09:47:51 浏览:435
二手制冷压缩机 发布:2025-01-13 09:43:59 浏览:585
网鱼电脑密码多少 发布:2025-01-13 09:33:46 浏览:464