当前位置:首页 » 编程语言 » 查主键的sql语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

查主键的sql语句

发布时间: 2023-01-20 06:02:19

⑴ 在sql server中如何查看主键名并删除

以sqlserver2008为例。

1、登录SQL Server Management Studio。

2、进入后,查看左边的树,找到要查找的表所在的库。

3、依次点击数据库——系统数据库——表——系统表——表名左边的“+”——键

4、如图所示就是主键名:

⑵ sql 语句判断表是否有主键

--【查找主键】
--SQLSERVER
selectnameaspkNamefromdbo.sysobjectswherextype='PK'andparent_obj=(selectidfromdbo.sysobjectswherename='表名')
--ORACLE
SELECTCONSTRAINT_NAMEFROMUSER_CONSTRAINTSWHERETABLE_NAME=UPPER('表名')ANDCONSTRAINT_TYPE='P'

⑶ 在ORACLE,怎么用一个SQL语句查询一个已知表的主键字段

举个例子(但不是最优的),看是否有用,如查找scott.emp表的primary key字段.

1.以SCOTT用户登录。

2.执行以下代码。

SET PAGESIZE 0
SET LONG 90000
SELECT dbms_metadata.get_ddl('TABLE', table_name) FROM user_tables where table_name='EMP';

3.查找类似CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")的内容,后面部分就是表的主键字段。

如不知表所属的owner,可以用:select owner,table_name from dba_tables where table_name='表名';

希望以上对你有所启示。

⑷ MYSQL查询表的主键

SELECT
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';

测试执行结果如下:

mysql> SELECT
-> t.TABLE_NAME,
-> t.CONSTRAINT_TYPE,
-> c.COLUMN_NAME,
-> c.ORDINAL_POSITION
-> FROM
-> INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
-> WHERE
-> t.TABLE_NAME = c.TABLE_NAME
-> AND t.TABLE_SCHEMA = 'test'
-> AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
-> LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept | PRIMARY KEY | dept_id | 1 |
| order | PRIMARY KEY | id | 1 |
| tab | PRIMARY KEY | id | 1 |
+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)

⑸ 用sql语句如何查看主键名

SELECTTABLE_NAME,COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERETABLE_NAME='表名'

⑹ sql查询 复合主键的查询语句怎么写

查询什么,哪个列组合是主键?sql语句复合主键有2种比较常用的写法
,假如表a
,是以a1,a2组合作为主键,一种是同时写出a1,a2条件,一种是a1||a2作为主键

⑺ 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主外键查询语句

这是SQL课程里比较典型的数据库结构和查询例子了,就是一个多表连接查询的例子。course表里一般存的是课程信息,student表存储学生信息。这两个表一般是没有关系的,应该还有一个选课表,如sc表,存放学生选课的情况和考试成绩
如果你的course表存放了学生课程成绩之类信息的话,可以这样查
select c.sid,sname,courseid,score
from student s join course c
on s.sid=c.sid
不过具体写法还要看你的表结构。

⑼ 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