精华内容
下载资源
问答
  • 判断并设置主键
    千次阅读
    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判断表、列、主键是否存在的方法,下面是小编之家小编给大家带来的一些判断方法和大家分享下
  • SQL判断表是否有主键,如何添加主键和移除主键 这是一个很好的例子个大家分享,以后我会及时更新
  • 一、什么是主键、外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一...
  • 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

    展开全文
  • 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:...

    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.

    展开全文
  • 什么是主键主键是表中唯一标识该表中每个元组(行)...在上面的示例中,roll_number属性永远不能具有相同的NULL值,因为在每个大学中注册的学生都拥有唯一的Roll_number,因此两个学生不能拥有相同的Roll_number,
  • Oracle判断主键

    千次阅读 2019-04-08 08:33:01
    Oracle判断主键 作者:邱名涛 撰写时间:2019年4月1日 关键技术:Oracle 1.如何判断那些表没有建立主键 2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。 3.其它相关数据字典解释 :user_...

    Oracle判断主键
    作者:邱名涛
    撰写时间:2019年4月1日
    关键技术:Oracle

    1.如何判断那些表没有建立主键
    2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。
    3.其它相关数据字典解释 :user_tables 表
    user_tab_columns 表的列
    user_constraints 约束
    user_cons_columns 约束与列的关系
    user_indexes 索引
    user_ind_columns 索引与列的关系

    //1.创建一张测试表

    例、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)

    在这里插入图片描述

    展开全文
  • ON 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, ...
  • 主键必须包含的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键主键约束操作包含了添加约束和删除约束,修改约束其实是添加约束或者删除约束。添加主键约束比较 简单,但是删除一...
  • 在数据库的插入前,往往需要判断添加的记录是否已经存在于数据库中,如果已经存在则不需要再进行插入操作了。作为程序员,我们的工作就是不断的遇到问题不断地解决问题。在遇到一些问题之后,在解决问题的过程中,...
  • 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )...
  • Mysq 给没有主键的表格,添加主键 查出没有主键的表格,添加对应主键的内容: 1,查询没有添加主键的表格: SELECT table_schema, table_name FROM information_schema.tables WHERE (table_schema,table_...
  • SQL 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
  • 平时业务量比较大,一张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:25
    declare @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主键生成策略详细介绍,具有一定参考价值,需要的朋友可以了解下。
  • 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数据库测试环境中有多张表没有添加主键约束,只有一个serial的自增字段。现在需要把那些没有主键的表都加上,serial类型的字段为id 。首先是怎么找到PostgreSQL数据库中哪些表没有主键?我们看下pg_class...
  • Mybatis批量插入,返回主键id

    千次阅读 2022-03-23 11:30:20
    Mybatis批量插入,返回主键id
  • 主要给大家介绍了关于mysql如何快速获得库中无主键的表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 修改的字符集: 在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集 1、查看建立表tablename的sql语句 Show create tmysql添加删除主键 操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,...
  • if :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 模版(加了主键为空判断)。如果有需要也可以在模版基础上自己定义内容。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 177,390
精华内容 70,956
关键字:

判断并设置主键