`
- 浏览:
4225 次
- 性别:
- 来自:
成都
-
[size=small]数据库修改表结构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;
[size=medium]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在项目做好后实施了以后,可能因为需求...只能更改表结构,而这时有可能因为更改的表结构比较多,而出现有的表忘了更新. 改程序可以对比两个数据库下所有表的表结构的不同.并显示 同时也有源程序 改代码已支持sql2008
本教程给大家介绍修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库,涉及到sqlserver数据库命令的相关知识,对sqlserver数据库命令感兴趣的朋友可以参考下本
数据库原理及应用实验一(创建数据库和表),一、 实验目的 熟悉SQL Server Management Studio;掌握通过SQL Server Management ...掌握通过SQL语句修改表结构的方法;掌握通过SQL语句添加、修改、删除表数据的方法。
数据库表结构管理工具是一个以asp进行开发的在线数据库管理系统。 做这个程序的初衷是为了在写程序的时候,如果程序过于庞大,数据库表结构复杂,用于随时查询自己的表说明,通过访问Index.asp能直观的看见所有表...
达梦数据库_SQL语言手册.pdf 数据库快照定义语句 数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子...
4.理解和掌握SQL语言: 能够熟练地使用create/alter/drop语句创建、修改和删除数据库、基本表;能够使用insert语句;理解和掌握基本的Select语句。 二、实验要求: 理解和掌握create, alter, drop, insert, 以及...
两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...
数据库表结构管理工具是一个以asp进行开发的在线数据库管理系统。 做这个程序的初衷是为了在写程序的时候,如果程序过于庞大,数据库表结构复杂,用于随时查询自己的表说明,通过访问Index.asp能直观的看见所有表...
SELECT COLUMN_NAME 列名, -- COLUMN_TYPE 数据类型, ...-- database为数据库名称,到时候只需要修改成你要导出表结构的数据库即可 table_schema ='haust-shop' AND -- table_name为表名 table_name = 'dts_user'
可用于线上和本地之间的数据库结构更新小工具,不用再手动记录每次在本地修改、新增、删除了哪些字段和表,直接生成线上需要执行的sql文件,本工具不会对数据库进行写入(安全起见)。
运行环境:.net4.5,原创工具 导出后无需修改sql即可执行导入。 SqlServer转Oracle工具 支持表结构、主键及表数据导出
SQLServer数据库生成修改工具 源码描述: 一、源码特点 1、自己开发的简易的sqlserver数据库建库工具。,免费分享给大家 二、菜单功能 1、首先用默认的EXCEL模板配置好数据库名和数据表结构,每个sheet等同于数据...
根据MyBatis或iBatis的SQLMapper文件解析生成数据库表,通常是指通过解析MyBatis或iBatis的SQLMapper文件中的SQL语句,...执行SQL语句: 最后,将生成的数据库表结构信息通过执行相应的SQL语句来创建或者修改数据库表。
开发软件时候 经常要改动数据库结构,如何快速地对比和修改数据库呢,并且能快速对比样本数据,并同步数据库的结构,约束,主键,字节,小数点 ,以及存储过程,本工具就是为这个目的开发。界面比较粗糙但挺实用, ...
如何用sql语句创建Access数据库,修改表结构
你可以根据你的具体需求来自定义这个表结构,例如添加更多列或更改列的数据类型和约束。一旦表被创建,你可以使用 INSERT 语句来向表中插入学生的数据,使用 SELECT 语句来查询学生的信息,以及使用其他 SQL 语句来...
SQL Server中数据库表结构的动态修改 (1).pdf
SQL Server中数据库表结构的动态修改 (2).pdf
实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000企业管理器和查询分析器创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束...
金和软件C6 数据库表结构文档v2.pdf