精华内容
下载资源
问答
  • SQL Server向数据库表中添加主键列

    万次阅读 2018-02-28 19:47:50
    SQL 目录:...    SQL Server 数据库,已设置主键的数据库表中插入新一列,并设为主键。  首先从基础知识开始看,  建表: create table 表名 ( 字段名1 int not null, …………, ...

    SQL 目录:https://blog.csdn.net/dkbnull/article/details/87932858

     

            SQL Server 数据库,向已设置主键的数据库表中插入新一列,并设为主键。

            首先从基础知识开始看,

            建表:

    create table 表名 ( 
       字段名1 int not null,    …………,
       [constraint 约束名] primary key (字段名1, …)
    )

            对已有表添加主键约束

    alter table 表名 [add constraint 约束名] primary key(字段名1 ,… )
    

            删除主键

    alert table 表名 drop constraint 约束名
    

            SQL Server 数据库,向已设置主键的数据库表中插入新一列,并设为主键。

            SQL 语句如下

    if not exists (select 1 from syscolumns where name = '字段名1' and id = (select id from sysobjects where name = '表名' and type = 'U')) 
    begin 
      alter table 表名 add 字段名1 varchar(4) NOT NULL default '0';
      alter table 表名 drop constraint 约束名; 	
      alter table 表名 add constraint 约束名 primary key (字段名1, 字段名2, 字段名3);
    end

    约束名一般命名为  PK_表名

     

     

    展开全文
  • 在sql server执行下属语句 不会出错alter table grand_son add testCol varchar2(40) not nullDEFAULT '**';但是在oracle 里执行该语句时 提示ORA-30649: 缺少 DIRECTORY 关键字后发现语句 oracle 和sql server ...

    在sql server中执行下属语句 不会出错
    alter table grand_son add testCol varchar2(40)  not null DEFAULT '**';
    但是在oracle 里执行该语句时 提示 ORA-30649: 缺少 DIRECTORY 关键字
    后发现语句 oracle 和sql server 通用的支持方法
    把NOT null 放到 default 后面,就是如下写法,sql server 和 oracle 都能正常执行
    alter table grand_son add testCol varchar2(40) DEFAULT '**' not null; 

    转载于:https://www.cnblogs.com/string1992/p/4510297.html

    展开全文
  • 使用SQL语句数据表中添加列,我想大家都清楚该如何做,示例如下: use test go alter table testadd  add testid int not null default(1) 但是如果想将添加的列制定到某一列后呢,该如何实现呢?   今天...
    向SQL Server数据库中使用SQL Script向表添加列并指定添加列的位置
     
    使用SQL语句向数据表中添加列,我想大家都清楚该如何做,示例如下:
    use test
    go
    alter table testadd 
    add testid int not null default(1)
    但是如果想将添加的列制定到某一列后呢,该如何实现呢?
     
    今天我在网上查找了很久,没有很理想的实现,考虑到
    SQL Server 2008有很强大脚本生成功能,于是决定
    在企业管理器中给一个表手动增加一个列到指定列后,看系统是
    怎么样生成的sql的。  www.2cto.com  
    操作如下:


     
    下面点击生成修改的表的SQL Script,如下图:
     
     
    生成的脚本如下所示:
    /*
       2012年6月6日22:23:29
       用户: sa
       服务器: KEVIN
       数据库: test
       应用程序: 
    */
    /* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
    BEGIN TRANSACTION
    SET QUOTED_IDENTIFIER ON
    SET ARITHABORT ON
    SET NUMERIC_ROUNDABORT OFF
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_NULLS ON
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE dbo.testadd
     DROP CONSTRAINT DF__testadd__testid__03317E3D
    GO
    ALTER TABLE dbo.testadd
     DROP CONSTRAINT DF__testadd__testid2__0425A276
    GO  www.2cto.com  
    CREATE TABLE dbo.Tmp_testadd
     (
     id int NOT NULL IDENTITY (1, 1),
     code nvarchar(20) NOT NULL,
     name nvarchar(50) NULL,
     remark nvarchar(200) NULL,
     createdate datetime NULL,
     createuserid nvarchar(30) NULL,
     testaddcolumn nvarchar(50) NULL,
     endamount money NULL,
     testid int NOT NULL,
     testid2 int NOT NULL
     )  ON [PRIMARY]
    GO
    ALTER TABLE dbo.Tmp_testadd SET (LOCK_ESCALATION = TABLE)
    GO
    ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
     DF__testadd__testid__03317E3D DEFAULT ((1)) FOR testid
    GO
    ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
     DF__testadd__testid2__0425A276 DEFAULT ((2)) FOR testid2
    GO
    SET IDENTITY_INSERT dbo.Tmp_testadd ON
    GO
    IF EXISTS(SELECT * FROM dbo.testadd)
      EXEC('INSERT INTO dbo.Tmp_testadd (id, code, name, remark, createdate, createuserid, endamount, testid, testid2)
      SELECT id, code, name, remark, createdate, createuserid, endamount, testid, testid2 FROM dbo.testadd WITH (HOLDLOCK TABLOCKX)')
    GO
    SET IDENTITY_INSERT dbo.Tmp_testadd OFF
    GO
    DROP TABLE dbo.testadd
    GO
    EXECUTE sp_rename N'dbo.Tmp_testadd', N'testadd', 'OBJECT' 
    GO  www.2cto.com  
    ALTER TABLE dbo.testadd ADD CONSTRAINT
     PK__testadd__357D4CF87F60ED59 PRIMARY KEY CLUSTERED 
     (
     code
     ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    GO
    COMMIT
    系统的方法是,先生成一个和修改后的表一样的临时表,将原来的表中的数据放到临时表中,然后原来的表删除掉,
    再将临时表的名字改为原来的表的名称就可以了。
     
    呵呵,原来系统是使用临时表做桥梁完成的。
    展开全文
  • 使用SQL语句数据表中添加列,我想大家都清楚该如何做,示例如下: use test go alter table testadd add testid int not null default(1) 但是如果想将添加的列制定到某一列后呢,该如何实现呢? 今天我...

             使用SQL语句向数据表中添加列,我想大家都清楚该如何做,示例如下:

    use test
    go

    alter table testadd
    add testid int not null default(1)

    但是如果想将添加的列制定到某一列后呢,该如何实现呢?

    今天我在网上查找了很久,没有很理想的实现,考虑到

    SQL Server 2008有很强大脚本生成功能,于是决定

    在企业管理器中给一个表手动增加一个列到指定列后,看系统是

    怎么样生成的sql的。

    操作如下:

    下面点击生成修改的表的SQL Script,如下图:
     
     
    生成的脚本如下所示:

    /*
       2012年6月6日22:23:29
       用户: sa
       服务器: KEVIN
       数据库: test
       应用程序:
    */

    /* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
    BEGIN TRANSACTION
    SET QUOTED_IDENTIFIER ON
    SET ARITHABORT ON
    SET NUMERIC_ROUNDABORT OFF
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_NULLS ON
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE dbo.testadd
     DROP CONSTRAINT DF__testadd__testid__03317E3D
    GO
    ALTER TABLE dbo.testadd
     DROP CONSTRAINT DF__testadd__testid2__0425A276
    GO
    CREATE TABLE dbo.Tmp_testadd
     (
     id int NOT NULL IDENTITY (1, 1),
     code nvarchar(20) NOT NULL,
     name nvarchar(50) NULL,
     remark nvarchar(200) NULL,
     createdate datetime NULL,
     createuserid nvarchar(30) NULL,
     testaddcolumn nvarchar(50) NULL,
     endamount money NULL,
     testid int NOT NULL,
     testid2 int NOT NULL
     )  ON [PRIMARY]
    GO
    ALTER TABLE dbo.Tmp_testadd SET (LOCK_ESCALATION = TABLE)
    GO
    ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
     DF__testadd__testid__03317E3D DEFAULT ((1)) FOR testid
    GO
    ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
     DF__testadd__testid2__0425A276 DEFAULT ((2)) FOR testid2
    GO
    SET IDENTITY_INSERT dbo.Tmp_testadd ON
    GO
    IF EXISTS(SELECT * FROM dbo.testadd)
      EXEC('INSERT INTO dbo.Tmp_testadd (id, code, name, remark, createdate, createuserid, endamount, testid, testid2)
      SELECT id, code, name, remark, createdate, createuserid, endamount, testid, testid2 FROM dbo.testadd WITH (HOLDLOCK TABLOCKX)')
    GO
    SET IDENTITY_INSERT dbo.Tmp_testadd OFF
    GO
    DROP TABLE dbo.testadd
    GO
    EXECUTE sp_rename N'dbo.Tmp_testadd', N'testadd', 'OBJECT'
    GO
    ALTER TABLE dbo.testadd ADD CONSTRAINT
     PK__testadd__357D4CF87F60ED59 PRIMARY KEY CLUSTERED
     (
     code
     ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    GO
    COMMIT

    系统的方法是,先生成一个和修改后的表一样的临时表,将原来的表中的数据放到临时表中,然后原来的表删除掉,

    再将临时表的名字改为原来的表的名称就可以了。

    呵呵,原来系统是使用临时表做桥梁完成的。


     

     
     
     
     
     
     
     
     
     
     
     
     
     

    转载于:https://www.cnblogs.com/kevinGao/archive/2012/06/06/2555417.html

    展开全文
  • 我用java程序本地的sql server 2000中添加一条记录,java控制台提示成功![图片说明](https://img-ask.csdn.net/upload/201702/04/1486204123_720929.png)但是用查询分析器select之后并没有这条记录。![图片说明]...
  • 在实现充值功能时,向数据库表中添加数据时,出现了这样的错误提示:    也就是说在添加时没有向serial字段添加任何信息,而serial字段又不允许为空,导致向表中添加数据失败。  原因分析:SQL数据库中,建立表...
  • alter table yourTableName add yourField nvarchar(100) null; //新增字段 //将yourTableName换成你的名称  //将yourField换成你的字段 ALTER TABLE yourTableName DROP column yourField
  • 向数据库中插入4000000条数据 ①创建dept #创建DEPT CREATE TABLE dept( /*部门*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, dname VARCHAR(20) NOT NULL DEFAULT "", loc VARCHAR(13) NOT NULL ...
  • 向数据库添加图片

    2004-09-16 21:32:00
    下面的代码实现SQL Server数据库添加图片和文字的功能。 首先,在SQL查询分析器执行下面的SQL语句,以创建和存储过程。CREATE TABLE Photos ( [name] varchar(50), [photo] image NULL)GOCREATE ...
  • 1.向表中添加字段 2.对已有字段的修改 (1)修改某个字段的数据类型和约束 (2)修改某个字段的名字 3.删除字段 1.向表中添加字段 如: ALTER TABLE temp ADD address VARCHAR(20) NOT NULL, ADD descri
  • 例如员工: 字段名 数据类型 姓名 nvarchar 性别 int 其中“性别”是允许为空的,当新员工在注册自己信息时没有在textBox这些控件填这项的时候,如何往数据库插入null值? 解答:(ClementDik(剑问天)) 1. 我...
  • 1.创建数据库表:create table 表名(id char(10) not...2.向表中添加信息:insert into 表名 values(123,"李阳","上海");insert int 表名(id,name,address) values(456,"小吾","...
  • 下面的代码实现SQL Server数据库添加图片和文字的功能。首先,在sql查询分析器执行下面的sql语句,以创建和存储过程。create TABLE Photos ( [name] varchar(50), [photo] image NULL)GOcreate PROCEDURE sp...
  • 下面的代码实现SQL Server数据库添加图片和文字的功能。 首先,在SQL查询分析器执行下面的SQL语句,以创建和存储过程。 CREATE TABLE Photos ([name] varchar(50),[photo] image NULL)GO CREATE PROCEDURE...
  • 范例:CREATE TABLE product( -- 主键列,自动增长 id INT PRIMARY KEY AUTO_INCREMENT, -- 商品名字,可变字符,非空 pname VARCHAR(100) NOT NULL, -- 商品的价格,...1.数据表中添加数据 insert 格式: insert into ...
  • OrderDaoImpl(向数据库底层添加数据) [code="java"] public class OrderDaoImpl extends GenericHibernateDaoImpl,Integer> implements OrderDao { boolean success =false; public boolean addOrder...
  • 下面的代码实现SQL Server数据库添加图片和文字的功能。 首先,在SQL查询分析器执行下面的SQL语句,以创建和存储过程。CREATE TABLE Photos ( [name] varchar(50), [photo] image NULL)GOCREATE ...
  • 一 表约束 -- 1建库关键字____: 数据定义:创建:create,删除:drop, 更改;alter 数据操纵:插入:insert,更新update,删除delete,添加:add ...Default 向表中插入数据时,没有为default供值,此列使用默认值 Chec
  • 下面的代码实现SQL Server数据库添加图片和文字的功能。首先,在SQL查询分析器执行下面的SQL语句,以创建和存储过程。CREATE TABLE Photos ( [name] varchar(50), [photo] image NULL)GOCREATE PROCEDURE sp_...
  • 我们直接向表中添加自增的非主键字段时会报错,错误信息如下: 该信息提示我们设为自增的字段必须作为键(并非一定是主键)。 所以我们可以这样做: (1)先添加字段,设置字段类型等基本属性:  alter table ...
  • mysql数据库添加非主键自增字段

    千次阅读 2018-06-14 11:02:54
    我们直接向表中添加自增的非主键字段时会报错,错误信息如下: 该信息提示我们设为自增的字段必须作为键(并非一定是主键)。 所以我们可以这样做: (1)先添加字段,设置字段类型等基本属性:  alter ...
  • 2 向表中指定的字段添加数据 例 向数据库XSCJ中的xs_kc2表添加数据 mysql> insert into xs_kc2(学号,课程号,成绩) -> values'2016030101'101,null; 注xs_kc2作为从表其学号是主表xsqk2的主键学号的外键课程号是主表...
  • 1、Loginfo中添加新列“newcomlum1” ,int型, ALTER TABLE Loginfo ADD newcomlum1 int NULL 2、表:LogInfo 代码 1--判断要添加列的表中是否有主键2ifexists(select1fromsysobjectswhereparent_obj=...
  • 如果想在一个已经建好的表中添加一列,可以用诸如: alter table t1 add column addr varchar(20) not null; 这条语句会已有的表t1中加入一列addr,这一列在表的最后一列位置。如果我们希望添加在指定的一列,...
  • 下面代码是“Table_1”表中增加"Order"字段,类型为int ,可空,默认值是99 alter table Table_1 add "Order" int null default 99 下面代码是“Table_1”表中增加"age"字段,类型为int ,不能为空 alter ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 243
精华内容 97
关键字:

向数据库表中添加null