-
2020-11-02 15:43:27
select a.column_name name,case when a.column_name=t.column_name then 1 else 0 end isKey from user_tab_columns a left join (select b.table_name,b.column_name from user_cons_columns b join user_constraints c on c.CONSTRAINT_NAME=b.CONSTRAINT_NAME where c.constraint_type ='P') t on a.table_name=t.table_name where a.table_name='TEST';
更多相关内容 -
Oracle判断表、列、主键是否存在的方法
2020-09-09 10:27:30主要介绍了Oracle判断表、列、主键是否存在的方法,下面是小编之家小编给大家带来的一些判断方法和大家分享下 -
SQL判断表是否有主键,如何添加主键和移除主键
2011-01-29 17:39:13SQL判断表是否有主键,如何添加主键和移除主键 这是一个很好的例子个大家分享,以后我会及时更新 -
如何区分SQL数据库中的主键与外键
2021-01-19 22:14:13一、什么是主键、外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一... -
SQL常用语句|创建表,设置主键......
2021-02-05 05:11:24\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\" set rs=conn.execute(sql) response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在 判断表的存在 select * from sysobjects where id = object_id(N...新建表
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,\'51WINDOWS.NET\')
删除数据
DELETE FROM [表名] WHERE [字段名]>100
更新数据
UPDATE [表名] SET [字段1] = 200,[字段2] = \'51WINDOWS.NET\' 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 \'51WINDOWS.NET\' 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)
Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\")
End Sub
\\\'更改字段通用函数
Sub ModColumn(TableName,ColumnName,ColumnType)
Conn.Execute(\"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=conn.execute(sql)
response.write 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
-
如何使用mysqli判断列是否为主键?
2021-07-16 19:03:45I am converting some of my code from the older mysql extension to the mysqli extension in PHP. Previously, with the mysql extension, I had used some code like this to find the primary key in a table:...I am converting some of my code from the older mysql extension to the mysqli extension in PHP. Previously, with the mysql extension, I had used some code like this to find the primary key in a table:
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
if ($meta->primary_key == 1){
$primary_key = $meta->name;
}
$i++;
}
$meta->primary_key == 1 was very convenient.
So far I have converted to code to using mysqli:
while ($i < $result->field_count) {
$meta = $result->fetch_field;
if ($meta->primary_key == 1){
$primary_key = $meta->name;
}
$i++;
}
Of course, from looking at the docs here we can see that $meta->primary_key doesn't exist in mysqli. I see that there is a $meta->flags. This is my best guess, although i am not sure of what value flags should be when I have a primary key.
Does anyone know how I tell which column is the primary key for a table using mysqli?
Thanks!
EDIT
Here is some working code:
//get primary key
$primary_key = '';
while ($meta = $result->fetch_field()) {
if ($meta->flags & MYSQLI_PRI_KEY_FLAG) {
$primary_key = $meta->name;
}
}
解决方案
You were very close, you will need the flags property.
The flag you are looking for is MYSQLI_PRI_KEY_FLAG, which means:
Field is part of a primary index
You can test for this flag with something like:
if ($meta->flags & MYSQLI_PRI_KEY_FLAG) {
//it is a primary key!
}
You are using & here as a Bitwise AND Operator.
-
Mysql主键和唯一键的区别点总结
2020-12-16 00:51:07什么是主键? 主键是表中唯一标识该表中每个元组(行)...在上面的示例中,roll_number属性永远不能具有相同的NULL值,因为在每个大学中注册的学生都拥有唯一的Roll_number,因此两个学生不能拥有相同的Roll_number,并 -
Oracle判断主键
2019-04-08 08:33:01Oracle判断主键 作者:邱名涛 撰写时间:2019年4月1日 关键技术:Oracle 1.如何判断那些表没有建立主键 2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。 3.其它相关数据字典解释 :user_...Oracle判断主键
作者:邱名涛
撰写时间:2019年4月1日
关键技术:Oracle1.如何判断那些表没有建立主键
2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。
3.其它相关数据字典解释 :user_tables 表
user_tab_columns 表的列
user_constraints 约束
user_cons_columns 约束与列的关系
user_indexes 索引
user_ind_columns 索引与列的关系例、CREATE TABLE text(
employee_id NUMBER(6) primary key , //(primary key:设置主键)
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25)constraint empl0_u unique,
salary NUMBER(8,2) check (salary>2000 and salary<50000),
commission_pct NUMBER(2,2),
hire_date date,
department_id NUMBER(4),
FOREIGN KEY (department_id) REFERENCES departments(department_id)
);//2.创建好所有表后,可以查询一下用户表。(查询最近新增的表)
例、select * from User_tables
3.再查询表的约束(加上Where条件,过滤带有主键’p’的数据)
例、select * from user_constraints --user_constraints:查询表的约束
where constraint_type=‘P’ --constraint_type:主键为P
4.最后查询用户表和约束表,将带有主键标识’p’和Table_name相同数据显示出来
SELECT table_name
FROM User_tables t
WHERE NOT EXISTS (SELECT table_name
FROM User_constraints c
WHERE constraint_type = ‘P’
AND t.table_name=c.table_name) -
mysql判断主键值是否存在,如果存在则更新,不存在则新增
2021-03-11 11:56:39ON DUPLICATE KEY UPDATE 可以达到以下目的: 向数据库中插入一条记录: 若该数据的主键值/ UNIQUE KEY 已经在表中存在,则执行更新操作, 即UPDATE 后面的操作。 否则插入一条新的记录。 示例: Step1 .... -
SQL语句判断某列是否是主键
2019-07-13 19:29:08主键 10 , isnull (b.COLUMN_DEFAULT, '' ) as 预设值 11 ,b.IS_NULLABLE as 是否允许空值 12 ,( SELECT value 13 FROM fn_listextendedproperty ( NULL , ' schema ' , a.Table_schema, ... -
SQL SERVER-主键的建立和删除
2020-12-14 23:50:06主键必须包含的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。主键约束操作包含了添加约束和删除约束,修改约束其实是添加约束或者删除约束。添加主键约束比较 简单,但是删除一... -
数据库插入前判断主键重复与否的方法
2021-01-19 02:02:28在数据库的插入前,往往需要判断添加的记录是否已经存在于数据库中,如果已经存在则不需要再进行插入操作了。作为程序员,我们的工作就是不断的遇到问题不断地解决问题。在遇到一些问题之后,在解决问题的过程中,... -
MySQL 处理插入过程中的主键唯一键重复值的解决方法
2020-12-15 14:56:09使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )... -
Mysq 给没有主键的表格,添加主键
2022-02-16 10:18:18Mysq 给没有主键的表格,添加主键 查出没有主键的表格,添加对应主键的内容: 1,查询没有添加主键的表格: SELECT table_schema, table_name FROM information_schema.tables WHERE (table_schema,table_... -
SQL SERVER判断表,表中字段及主键数据是否存在
2019-03-05 15:42:07SQL SERVER判断表,表中字段及主键数据是否存在 1.判断表A是否存在于数据库 IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id('A') AND OBJECTPROPERTY(id, 'IsUserTable') = 1) PRINT '存在' ELSE ... -
主键查询和设置(postgres )
2017-08-01 17:48:13今天库里需要建一张新表,需要三个字段...心里有点担心的自己的主键有没有设置成功,就查了一下本张表的主键是什么。 下面这个sql语句可以显示主键的名字:SELECT pg_constraint.conname AS pk_name FROM pg_cons -
数仓业务上判断一个表的唯一主键是哪几个字段
2022-04-26 10:46:13平时业务量比较大,一张HIVE表里面的字段也比较多,如何判断所select 的这几个字段是这张表的唯一主键,也就是,选取这几个主键,可以唯一确定只有一行数据 可以通过,select A,B,C from table group by A,B,C ... -
Entity Framework 表 主键设置
2016-10-23 00:09:46使用Entity Framework的表必须含有主键,否则会在db.SaveChange()时报错。 主键一般都是 int 并且自增类型的,这样就不用在客户端输入,后台自动生成。 -
SQL批量添加主键脚本
2021-01-19 03:46:25declare @TableName nvarchar(250)--游标中取出的数据表名declare @TableID INT--游标中取出的数据表编号declare @IdentityColum--SQL批量添加主键脚本--操作提示:运行此脚本前请记得备份您要操作的数据库--实现... -
MyBatis Plus主键设置策略
2020-04-10 16:52:32主键策略的几种类型 public enum IdType { /** * 数据库ID自增 ... * 该类型为未设置主键类型 */ NONE(1), /** * 用户输入ID * <p>该类型可以通过自己注册自动填充插件进行填充</p> */... -
Java探索之Hibernate主键生成策略详细介绍
2020-08-29 01:20:43主要介绍了Java探索之Hibernate主键生成策略详细介绍,具有一定参考价值,需要的朋友可以了解下。 -
Oracle 判断列、表、主键是否存在
2019-02-19 17:26:10判断表是否存在 declare n_count number; --声明变量存储要查询的表是否存在 begin select count(1) into n_count from user_tables t where t.table_name = upper('表名'); --从系统表中查询当表是否存在 if... -
主键生成策略
2021-02-08 01:34:55网上搜集下来的1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键... -
为PostgreSQL数据库中没有主键的表增加主键
2021-01-17 15:54:28PostgreSQL数据库测试环境中有多张表没有添加主键约束,只有一个serial的自增字段。现在需要把那些没有主键的表都加上,serial类型的字段为id 。首先是怎么找到PostgreSQL数据库中哪些表没有主键?我们看下pg_class... -
Mybatis批量插入,并返回主键id
2022-03-23 11:30:20Mybatis批量插入,并返回主键id -
mysql快速获得库中无主键的表实例代码
2020-09-09 00:50:17主要给大家介绍了关于mysql如何快速获得库中无主键的表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
MySQL添加、删除主键的操作方法介绍
2021-01-25 19:14:01修改的字符集: 在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集 1、查看建立表tablename的sql语句 Show create tmysql添加删除主键 操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,... -
oracle 创建触发器 设置主键id为uuid,crate_date为当前时间 建表语句
2019-04-10 10:34:45if :new.configurate_id is null then --判断主键id是否为空 :new.configurate_id:=sys_guid();--设置uuid end if; if :new.create_time is null then--判断创建时间是否为空 :new.create_time:=SYSDATE();--... -
nhibernate_template 模版(加了主键为空判断)
2018-04-23 15:33:24nhibernate_template 模版(加了主键为空判断)。如果有需要也可以在模版基础上自己定义内容。