精华内容
下载资源
问答
  • 本教程给大家介绍修改SQL-SERVER数据库表结构的SQL命令sql命令行修改数据库,涉及到sqlserver数据库命令的相关知识,对sqlserver数据库命令感兴趣的朋友可以参考下本
  • SQL 修改表结构

    千次阅读 2011-08-11 17:17:41
    数据库修改表结构SQL 修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行。 1、 增加字段 ...
    数据库修改表结构SQL 
    修改表结构包括:
    增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。
    所有这些动作都是用 ALTER TABLE 命令执行的。
    1、    增加字段
    ALTER TABLE products ADD description text;
    你也可以同时在该字段上定义约束,使用通常的语法:
    ALTER TABLE products ADD  description text CHECK (description <> '');实际上,所有在 CREATE TABLE 里描述的可以应用于字段之选项都可以在这里使用。不过,我们要注意的是缺省值必须满足给出的约束,否则 ADD 将会失败。 另外,你可以在你正确填充了新字段的数值之后再增加约束(见下文)。
    2、 删除字段
    要删除一个字段,使用下面这样的命令:
    ALTER TABLE products DROP COLUMN description;不管字段里有啥数据,都会消失。和这个字段相关的约束也会被删除。 不过,如果这个字段被另外一个表的外键所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用 CASCADE 来授权删除任何依赖该字段的东西:
    ALTER TABLE products DROP COLUMN description CASCADE;
     3、增加约束
    要增加一个约束,使用表约束语法。比如:
    ALTER TABLE products ADD CHECK (name <> '');
    ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
    ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;
    ALTER TABLE Teacher add constraint df_sex default('男') for sex
    要增加一个不能写成表约束的非空约束,使用下面语法:
    ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
    这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。
    4、 删除约束
    要删除一个约束,你需要知道它的名字。如果你给了它一个名字, 那么事情就好办了。否则系统会分配一个生成的名字,这样你就需要 把它找出来了。psql 的命令 \d tablename 在这儿可以帮忙; 其它接口可能也提供了检查表的细节的方法。然后就是这条命令:
    ALTER TABLE products DROP CONSTRAINT some_name;(如果你在处理一个生成的约束名,比如 $2,别忘了你需要给它 添加双引号,让它成为一个有效的标识符。)
    和删除字段一样,如果你想删除有着被依赖关系地约束,你需要用 CASCADE。 一个例子是某个外键约束依赖被引用字段上的唯一约束或者主键约束。
    除了非空约束外,所有约束类型都这么用。要删除非空类型,用
    ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;(要记得非空约束没有名字。)
    5、改变一个字段的缺省值
    要给一个字段设置缺省值,使用一个象下面这样的命令:
    ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;请注意这么做不会影响任何表中现有的数据行, 它只是为将来 INSERT 命令改变缺省值。
    要删除缺省值,用
    ALTER TABLE products ALTER COLUMN price DROP DEFAULT;这样实际上相当于把缺省设置为空。 结果是,如果我们删除一个还没有定义的缺省值不算错误,因为缺省隐含就是空值。
    6、 修改一个字段的数据类型
    ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);只有在字段里现有的每个项都可以用一个隐含的类型转换转换城新的类型时才可能成功。如果需要更复杂的转换,你可以增加一个 USING 子句,它声明如何从旧值里计算新值。
    PostgreSQL 将试图把字段的缺省值(如果存在)转换成新的类型, 还有涉及该字段的任何约束。但是这些转换可能失败,或者可能生成奇怪的结果。 在修改某字段类型之前,你最好删除那些约束,然后再把自己手工修改过的添加上去。
    7、给字段改名字
    ALTER TABLE products RENAME COLUMN product_no TO product_number;
    8、. 给表改名字
    ALTER TABLE products RENAME TO items;
    展开全文
  • 尊重原创:转自博客园let it be所写的文章,原文链接:修改SQL-SERVER数据库表结构的SQL命令 向表中增加一个 varchar 列:  ALTER TABLE distributors ADD COLUMN address varchar(30);  从表中删除一个字段: ...

       尊重原创:转自博客园let it be所写的文章,原文链接: 修改SQL-SERVER数据库表结构的SQL命令 

           向表中增加一个 varchar 列: 
      ALTER TABLE distributors ADD COLUMN address varchar(30);
      从表中删除一个字段: 
      ALTER TABLE distributors DROP COLUMN address RESTRICT;
      在一个操作中修改两个现有字段的类型: 
      ALTER TABLE distributors
      ALTER COLUMN address TYPE varchar(80),
      ALTER COLUMN name TYPE varchar(100);
      使用一个 USING 子句, 把一个包含 UNIX 时间戳的 integer 字段转化成 timestamp with time zone: 
      ALTER TABLE foo
      ALTER COLUMN foo_timestamp TYPE timestamp with time zone
      USING
      timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';
      对现存字段改名: 
      ALTER TABLE distributors RENAME COLUMN address TO city;
      更改现存表的名字:
      ALTER TABLE distributors RENAME TO suppliers;
      给一个字段增加一个非空约束: 
      ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;
      从一个字段里删除一个非空约束: 
      ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;
      给一个表增加一个检查约束: 
      ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
      删除一个表和它的所有子表的监查约束: 
      ALTER TABLE distributors DROP CONSTRAINT zipchk;
      向表中增加一个外键约束: 
      ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
      给表增加一个(多字段)唯一约束: 
      ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
      给一个表增加一个自动命名的主键约束,要注意的是一个表只能有一个主键: 
      ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
      把表移动到另外一个表空间: 
      ALTER TABLE distributors SET TABLESPACE fasttablespace;

    展开全文
  • sql修改表结构

    2011-10-27 20:59:21
    修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行。 1、 增加字段 ALTER TABLE products ADD ...
     修改表结构包括:
    增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。
    所有这些动作都是用 ALTER TABLE 命令执行的。
    1、 增加字段
    ALTER TABLE products ADD description text;
    你也可以同时在该字段上定义约束,使用通常的语法:
    ALTER TABLE products ADD  description text CHECK (description <> '');实际上,所有在 CREATE TABLE 里描述的可以应用于字段之选项都可以在这里使用。不过,我们要注意的是缺省值必须满足给出的约束,否则 ADD 将会失败。 另外,你可以在你正确填充了新字段的数值之后再增加约束(见下文)。
    2、 删除字段
    要删除一个字段,使用下面这样的命令:
    ALTER TABLE products DROP COLUMN description;不管字段里有啥数据,都会消失。和这个字段相关的约束也会被删除。 不过,如果这个字段被另外一个表的外键所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用 CASCADE 来授权删除任何依赖该字段的东西:
    ALTER TABLE products DROP COLUMN description CASCADE;
     3、增加约束
    要增加一个约束,使用表约束语法。比如:
    ALTER TABLE products ADD CHECK (name <> '');
    ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
    ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;
    ALTER TABLE Teacher add constraint df_sex default('男') for sex
    要增加一个不能写成表约束的非空约束,使用下面语法:
    ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
    这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。
    4、 删除约束
    要删除一个约束,你需要知道它的名字。如果你给了它一个名字, 那么事情就好办了。否则系统会分配一个生成的名字,这样你就需要 把它找出来了。psql 的命令 \d tablename 在这儿可以帮忙; 其它接口可能也提供了检查表的细节的方法。然后就是这条命令:
    ALTER TABLE products DROP CONSTRAINT some_name;(如果你在处理一个生成的约束名,比如 $2,别忘了你需要给它 添加双引号,让它成为一个有效的标识符。)
    和删除字段一样,如果你想删除有着被依赖关系地约束,你需要用 CASCADE。 一个例子是某个外键约束依赖被引用字段上的唯一约束或者主键约束。
    除了非空约束外,所有约束类型都这么用。要删除非空类型,用
    ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;(要记得非空约束没有名字。)
    5、改变一个字段的缺省值
    要给一个字段设置缺省值,使用一个象下面这样的命令:
    ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;请注意这么做不会影响任何表中现有的数据行, 它只是为将来 INSERT 命令改变缺省值。
    要删除缺省值,用
    ALTER TABLE products ALTER COLUMN price DROP DEFAULT;这样实际上相当于把缺省设置为空。 结果是,如果我们删除一个还没有定义的缺省值不算错误,因为缺省隐含就是空值。
    6、 修改一个字段的数据类型
    ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);只有在字段里现有的每个项都可以用一个隐含的类型转换转换城新的类型时才可能成功。如果需要更复杂的转换,你可以增加一个 USING 子句,它声明如何从旧值里计算新值。
    PostgreSQL 将试图把字段的缺省值(如果存在)转换成新的类型, 还有涉及该字段的任何约束。但是这些转换可能失败,或者可能生成奇怪的结果。 在修改某字段类型之前,你最好删除那些约束,然后再把自己手工修改过的添加上去。
    7、给字段改名字
    ALTER TABLE products RENAME COLUMN product_no TO product_number;
    8、. 给表改名字
    ALTER TABLE products RENAME TO items;
    展开全文
  • 修改数据库表结构的SQL命令

    千次阅读 2011-05-16 15:50:40
    中增加一个 varchar 列: ALTER TABLE distributors ADD COLUMN address varchar(30);从中删除一个字段: ALTER TABLE ...在一个操作中修改两个现有字段类型: ALTER TABLE distributors ALTER COL...

    向表中增加一个 varchar 列: 
      ALTER TABLE distributors ADD COLUMN address varchar(30);
    从表中删除一个字段: 
      ALTER TABLE distributors DROP COLUMN address RESTRICT;
    在一个操作中修改两个现有字段的类型: 
      ALTER TABLE distributors
      ALTER COLUMN address TYPE varchar(80),
      ALTER COLUMN name TYPE varchar(100);
    使用一个 USING 子句, 把一个包含 UNIX 时间戳的 integer 字段转化成 timestamp with time zone: 
      ALTER TABLE foo
      ALTER COLUMN foo_timestamp TYPE timestamp with time zone
      USING
      timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';
    对现存字段改名: 
      ALTER TABLE distributors RENAME COLUMN address TO city;
    更改现存表的名字:
      ALTER TABLE distributors RENAME TO suppliers;
    给一个字段增加一个非空约束: 
      ALTER TABLE distributors ALTER COLUMN street SET NOT NULL;
    从一个字段里删除一个非空约束: 
      ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;
    给一个表增加一个检查约束: 
      ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
    删除一个表和它的所有子表的监查约束: 
      ALTER TABLE distributors DROP CONSTRAINT zipchk;
    向表中增加一个外键约束: 
      ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
    给表增加一个(多字段)唯一约束: 
      ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
    给一个表增加一个自动命名的主键约束,要注意的是一个表只能有一个主键: 
      ALTER TABLE distributors ADD PRIMARY KEY (dist_id);
    把表移动到另外一个表空间: 
      ALTER TABLE distributors SET TABLESPACE fasttablespace;

    展开全文
  • SQL修改表结构 总结

    2011-04-27 18:07:00
    修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行。 1、 增加字段 ALTER ...
  • 中增加一个 varchar 列: ALTER TABLE distributors ADD COLUMN address varchar(30); 从中删除一个字段: ALTER TABLE distributors ... 在一个操作中修改两个现有字段类型: ALTER TABLE distributors 
  • SQL数据库表结构的修改sql2005) 一 、ALTER TABLE命令 ALTER TABLE 语句用于在已有的表中添加、修改或删除列。 二、添加列 语法 :ALTER TABLE table_name ADD column_name datatype eg: ALTER...
  • 修改表结构的内幕并非所有的ALTER TABLE变动在ALTER TABLE命令使用时都需要SQL Server去更改每一行。SQL Server可以以三种基本方式去执行ALTER TABLE命令1. 它可能只需要更改元数据2. 它可能需要检查所有现有数据, ...
  • 增加字段要增加一个字段,使用下面这样的命令:ALTER TABLE products ADD COLUMN description text;新增的字段对于中已经存在的行而言最初将先填充所给出的缺省值(如果你没有声明DEFAULT子句,那...
  • sql语句修改表结构

    2012-03-30 20:13:00
    修改表结构包括:增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。所有这些动作都是用 ALTER TABLE 命令执行。1、增加字段ALTER TABLE products ADD description ...
  • 数据库修改表结构SQL

    2012-03-21 10:05:50
    [size=medium][size=small]数据库修改表结构SQL 修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行...
  • mysql实例之使用alter table命令修改表结构 mysql alter table语句可以修改表基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单实例向大家介绍...
  • mysql alter table语句可以修改表的基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单实例向大家介绍mysql alter table使用方法。  实例一:...
  • 有时候需要修改表结构所以这里记录了一些sql修改表结构的命令 方式 增加列 alter table tableName add columnName varchar(30) 修改列类型: alter table tableName alter column columnName ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 955
精华内容 382
关键字:

sql修改表结构的命令