alter table modify(mysql中alter语句中change和modify的区别)

mysql中alter语句中change和modify的区别

比较明显的区别:
如果是只改变列的类型不改变名称时,
用change为ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
用modify 为alter table t1 modify b bingint not null; --不需要写两个相同的列名
当需要修改字段名称时使用change;当需要修改字段类型时使用modify,毕竟modify还是比change少写个字段名称的,因次还是比较节约系统资源的额 ^_^

modify和alter用法上有什么区别

modify是指现有的东西里面 比如文章的修改,和edit的意思差不多
alter是指改变,其中转换的成分更多些,不存在对原来的修改,类似于change

alter table modify 语法alter table alter column语法区别

alter table modify 语法和alter table alter column语法基本没有区别,且都是Visual Basic的基本语法。
Visual Basic编写程序要遵循一定的语法。
在Visual Basic中的基本语句包括:
一、赋值语句。
赋值语句的语法如下:
变量名或对象.属性=表达式
它的含义是把等号右边的值赋给等号左边的值。
二、判定结构。
一、If语句。
用If…Then结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:
If condition Then statement
If condition Then
Statements
End If
Condition 通常是比较式,但它可以是任何计算数值的表达式。Visual Basic 将这个值解释为True或False:一个为零的数值为False,而任何非零数值都被看作True。若condition为True,则Visual Basic执行Then
关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句。
注意:If…Then的单行格式不用End If语句。如果condition为True时要执行多行代码,则必须使用多行块If…Then…End If语法。
二、If…Then…Else语句。
用If…Then…Else块定义几个语句块,执行其中一个语句:
If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] …
[Else
[statementblock-n]]
End If
Visual Basic首先测试condition1。如果它为False,Visual Basic就测试
condition2,依次类推,直到找到一个为True的条件。当它找到一个为
True的条件时,Visual Basic就会执行相应的语句块,然后执行End If后面的代码。作为一个选择,可以包含Else语句块,如果条件都不是True,则Visual Basic执行Else语句块。
If…Then…ElseIf只是If…Then…Else的一个特例。注意,可以使用任意数量的
ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf
子句。
二、循环语句。
电脑最擅长的就是不厌其烦地重复做一项工作成千上万遍(即重复执行几行代码),这就是通过循环结构来完成的。VB支持的循环结构有:Do…Loop和For…Next。
用Do循环重复执行一个语句块,且重复次数不定。Do…Loop是以计算数值为条件以决定是否继续执行。条件必须是一个数值或者值为True或False的表达式。
在下面的Do…Loop循环中,只要条件为真就执行循环。
Do While 循环条件
循环语句块
Loop
当Visual Basic执行到这个Do循环时首先测试条件,条件为假时,跳过所有语句。如果条件为真,Visual Basic就会执行语句,退回到Do While语句测试条件。只要条件为真,循环可以随意执行几次。如果条件一开始便为假,则不会执行语句。
还有一种Do…Loop语句,是先执行语句,每次执行之后测试条件,循环中的语句至少执行一次。
Do
循环语句块
Loop While 循环条件
在不知道循环要执行几次语句时,用Do循环,知道循环次数时,可以使用For…Next循环。For循环使用一个叫做计数器的变量,重复一次循环之后,计数器的值会增加或减少。
For 计数器=初值To终止值Step增量
循环语句块
Next 计数器
计数器、初值、终止值和增量为数值型。执行For循环时,设置计数器等于初值,测试计数器是否大于终止值,是则退出循环,执行循环语句,计数器增加增量后重复以上步骤。
用Exit语句可以退出For循环、Do循环,它的语法是Exit Do和Exit For,在循环中出现的次数无限制。

sql语句中ALTER TABLE MODIFY和ALTER TABLE CHANGE的区别

modify能修改字段类型和约束,而change不能。
change用来字段重命名,不能修改字段类型和约束;
modify不用来字段重命名,只能修改字段类型和约束;
试验比较:
1、字段重命名:
1)change
mysql》 alter table t1 change number id char(2);
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
2)modify
mysql》 alter table t1 modify id num int(2);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’num int(2)’ at line 1
mysql》
结论:能用change重命名,而modify不能。
2、修改字段类型和约束
1)modify
mysql》 alter table t1 modify id int(2);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql》 alter table t1 modify id int(2) not null;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
2)change
mysql》 alter table t1 change id char(2);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’char(2)’ at line 1
mysql》 alter table t1 change id char(2) not null;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’char(2) not null’ at line 1
结论:modify能修改字段类型和约束,而change不能。
最终结论:change用来字段重命名,不能修改字段类型和约束;
modify不用来字段重命名,只能修改字段类型和约束;

“alter table modify,alter table alter column”的区别

“alter table modify,alter table alter column”语法上基本没有区别。两者都是Visual Basic的基本语法。

【知识延展】

Visual Basic编写程序要遵循一定的语法。

在Visual Basic中的基本语句包括:
一、赋值语句。二、判定结构。三、循环语句。

ALTER TABLE相关命令及change和modify的区别

表结构改变的时候,比如添加列alter table 表名 add 列名 类型,修改列alter table 表名 modify(列名 类型) ,添加约束alter table 表名 add constraint 约束名 primary key (字段) using index;

modify structure和alter table的区别是什么

modify 是vfp的命令,alter是 sql的命令。

alter 是针对表整体,modify是对表中的某一项字段进行修改。

修改表结构包括:增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表等,这些操作都是用 alter table 命令来完成。

常用用法如下:

1、增加字段:ALTER TABLE 表名 ADD 字段名 字段类型;

2、删除字段:ALTER TABLE 表名 DROP COLUMN 字段列名;

3、增加约束:ALTER TABLE 表名 ADD CHECK(字段名《》’’)或者 ALTER TABLE 表名 ADD
CONSTRAINT 约束名 UNIQUE(字段名);
4、删除约束:ALTER TABLE 表名 DROP CONSTRAINT 约束名;

5、修改字段缺省值:ALTER TABLE 表名
 ALTER COLUMN 字段名 SET DEFAULT 默认值;

6、 修改字段数据类型:ALTER TABLE 表名 ALTER COLUMN 字段名TYPE l类型;

7、重命名字段:ALTER TABLE 表名 RENAME COLUMN 旧字段名TO 新字段名;

8、重命名表:ALTER TABLE 表名 RENAME TO 新表名。

alter table 学生 modify (所在系 char(30));是哪里错啦!!!!!

未指定是否可为空吧?试试这个
alter
table
学生
modify
所在系
char(30)
not
null
这个是不是由于你表里面有记录?对于表里面有记录的更改后的字段类型必须兼容以前数据类型
你往大点调试试
alter
table
学生
modify
所在系
char(50)
not
null
另外你用的是sql
server
2000还是?

modify structure和alter table 的区别【vfp知识点】

MODIFY STRUCTURE
显示表设计器,从而修改一张表的结构。
说明
在早期版本的 FoxPro 中,MODIFY STRUCTURE 打开表结构对话框。
如果在当前选定工作区中没有表打开,则显示打开对话框,从而选择要修改的表。
可以改变表的结构,包括添加和删除字段;修改字段名、宽度和数据类型;添加、删除或修改索引标识;以及对字段空值(null)的支持。
警告:
改变字段数据类型可能不能完全转换字段内容,或根本不转换。例如,如果将日期型字段转换为数值型,则字段内容不转换。
改变表的结构之前,Visual FoxPro 自动备份当前表。
当修改完成后,将备份表中包含的数据追加到新修改的表结构中。如果表中存在备注字段,也会创建一个备注备份文件。表备份文件为 .bak 扩展名,备注备份文件为
.tbk 扩展名。
如果接受结构的更改,然后中断数据复制过程,则新表不包含原表的所有记录。
请记住 Visual FoxPro 为原始表文件创建一个 .bak 文件,且如果表中存在备注字段,还会为原始备注文件创建一个 .tbk
文件。如果使用 MODIFY STRUCTURE 时出现任何问题,您可以删除新文件,并且将 .bak 文件和 .tbk
文件(如果存在)改名为原始文件扩展名(.dbf 和 .fpt)。
当修改一个存在备注字段的表结构时,备注文件块儿大小采用当前块儿大小的设置。您可以用 SET BLOCKSIZE
命令指定备注文件块儿大小。
ALTER TABLE – SQL 命令
以编程方式修改表结构。
说明
使用 ALTER TABLE 可以修改还没有添加到数据库中的表的结构。然而,在修改自由表时,如果包含了
DEFAULT、 FOREIGN KEY、 PRIMARY KEY、 REFERENCES 或
SET 子句,Visual FoxPro 将产生一个错误。
ALTER TABLE 可以通过建立新表头和向表头中添加记录来重建表。例如,改变字段类型和宽度可以使表重建。
表经过重建后,将对所有改变了类型或宽度的字段执行字段有效性规则。如果改变了表中所有字段的类型或宽度,将执行表的有效性规则。
如果修改已含有记录的表的字段有效性规则或表有效性规则,Visual FoxPro
将检查新的字段有效性规则或表有效性规则是否与已存在的数据相符合,并在发现的首个不符之处发出警告。
如果启用了字段的自动增量,则不能在 DEFAULT 子句中指定值或表达式。
要移去自动增量, 可以使用 ALTER TABLE – SQL 来修改 COLUMN 但不包括
AUTOINC 子句。
自动增量字段的字段验证将保持有效。你可能想用验证来返回一个新的自动增量值。
当你想修改一个不包含自动增量字段的表使其包含自动增量字段时,无论是使用 ALTER TABLE
或表设计器,自动增量都将开始于下一个添加的记录。表中已有的记录不会从第一条记录就用自动增量值更新。您需要确保结果中不会有冲突发生。
当使用 CREATE CURSOR 命令创建的 Visual FoxPro 临时表(cursors)时,ALTER
TABLE 可能产生不一致的结果。特别是,你在创建一个有特点的 Visual FoxPro
临时表时,如长字段名,这通常只在作为数据库容器中的表中才可用。ALTER TABLE
保存一个临时表的临时复制,因此适用于自由表的规则也适用,同时任何要求数据库支持的特点被取消或修改为不可用状态。因此,除非经过测试并知道结果,否则通常情况下应该避免在
Visual FoxPro 临时表(cursors)上使用 ALTER TABLE 。
如果省略 NULL 和 NOT NULL,当前的 SET NULL
命令设置决定字段是否允许空值(null)。但是,如果省略了 NULL 和 NOT NULL ,但是包括了 PRIMARY
KEY 或 UNIQUE 子句,Visual FoxPro 忽略当前的 SET NULL设置,并且字段默认为 NOT
NULL。
如果 CHECK 子句指定的有效性规则不允许在添加的记录中出现空的字段值,Visual FoxPro 将产生一个错误。
在使用主索引或候选索引的字段中,不允许 Null 值和重复记录。如果您使用 ADD COLUMN 创建一个支持 null
值的主索引或候选索引新字段,Visual FoxPro 不产生错误信息。但是,如果您试图输入一个 null 或重复值到主索引或候选索引字段中,Visual
FoxPro 将会产生一个错误。
注意:
使用带有 UNIQUE 选项的 CREATE TABLE – SQL 或 ALTER TABLE – SQL
命令创建候选索引(为了 ANSI 兼容),与带有 UNIQUE 选项的 INDEX 命令创建的索引是不同的。用带有
UNIQUE 选项的 INDEX 命令创建的索引允许重复的索引关键字;候选索引不允许重复的索引关键字。关于 INDEX
命令的 UNIQUE 选项的更多信息,请参见INDEX 命令。术语 CANDIDATE
和 UNIQUE 的作用类似,可以根据您的选择代替。
 
如果修改一个已经存在的字段,且主索引表达式或候选索引表达式由表中的字段组成,Visual FoxPro
检查字段是否包含空值(null)或重复记录。如果包含,Visual FoxPro 产生一个错误,并且表不会改变。
如果表被转换到另一个代码页,指定了 NOCPTRANS 的字段不会被转换。