1。创建一个列




tablename表添加NOT NULL默认'0' ColName型;



例:




修改表mmanapp_mmanmedia添加appid_id整数无效的默认372;



2。删除列




去掉表列ColName;



例:




修改表mmanapp_mmanmedia降柱appid_id;



三.在现有列上创建外键关联




修改表yourtablename加{ }外键约束符号{id}(index_col_name,…)参考tbl_name(index_col_name,…{删除{限制级)| |集} } {无行动更新{限制| | |级联空无行动| } }



例:




修改表mmanapp_mmanmedia添加约束fk_mdappid外键(appid_id)



4。删除外键组合:




修改表的外键fk_symbol yourtablename滴;



例:




修改表的外键fk_mdappid mmanapp_mmanmedia滴



文件的两份副本:

对列和表的A. Mysql相关操作

增加主键




修改表tabelname添加new_field_id int(5)符号默认0不空auto_increment。



添加一个新列




修改表信息添加字段不为空的默认0前;



删除列




删除表;



命令更改列类型




改变表b改变一个b整数;
修改表T1改变B bigint不空;
修改表的信息列表字段不为空的改变默认的'0';



重命名表




将表t1重命名为;



索引




MySQL > tablename表的变化depno depno int(5)不为空;
MySQL > tablename表添加索引名称(字段名1 {,字段名2…});
MySQL > tablename表添加索引emp_name(名称);



带主索引的索引




MySQL > tablename表添加主键(ID);



具有唯一限制条件的索引




MySQL > tablename表添加独特的emp_name2(卡号);



删除索引




MySQL >去掉表的索引emp_name;



两。表增加/删除约束

我们允许你添加一个新的外键约束的表表:




修改表yourtablename
加{ }外键约束符号{id}(index_col_name,…)
引用tbl_name(index_col_name,…)
{ {限制级联删除空| | |没有行动} }
{更新{限制级联空| | |没有行动} }



记住首先创建所需的索引。您还可以向表中添加一个自引用外键约束。

InnoDB也支持使用ALTER TABLE删除外键:




修改表的外键fk_symbol yourtablename滴;



当一个外键在年创造的,如果外键子句包含一个约束的名称,你可以参考这个名字删除外键。此外,当外键的值创建的,fk_symbol保证在InnoDB。当你想删除外键,找到痕迹,使用显示创建表的语句。例子如下:




MySQL >显示创建表ibtest11c G
*************************** 1。行***************************
表:ibtest11c
表的创建:创建表(ibtest11c
A int (11) NOT NULL auto_increment,
D int(11)不为空的默认'0',
B varchar(200)不为空的默认,
C varchar(175)默认为空,
主键(a,d,b),
键B(b,c),
键C(c),
0_38775外键约束(A,D)
引用ibtest11a(A,D)
关于更新级联删除级联的研究,
0_38776外键约束(B,C)
引用ibtest11a(B,C)
关于更新级联删除级联的研究
InnoDB引擎= = latin1字符集
1行集(0.01秒)

MySQL >修改表的外键0_38775 ibtest11c滴;



InnoDB解析器可以使你可以在外键子句中引用……(引号),桌上的名字,名字是围绕InnoDB的解析器也考虑到了lower_case_table_names系统变量的设置。

InnoDB外键定义返回表的显示输出部分创建表的语句:




显示创建表tbl_name;



从这个版本,就可以生成表的正确定义的转储文件和不忘的外键。

可以在表上显示外键约束,如下所示:




从db_name喜欢tbl_name表状态;



外键约束列在输出的注释列中。

当外键时,InnoDB设置一个共享行的孩子或父母记录看起来at.innodb立即检查外键约束检查的事务提交延迟级锁。

将外键关系表重新加载到转储文件中要容易得多。就自动包括一个声明在0场输出设置foreign_key_checks。这样可以避免的问题与一个表,必须经特殊订货时转储加载,你也可以手动设置此变量:




MySQL >设置foreign_key_checks = 0;
MySQL的源dump_file_name >;
MySQL >设置foreign_key_checks = 1;



如果转储文件包含在外部关键错误的顺序表,这将在任何订单进口。这也加快了导入操作。foreign_key_checks设置为0,并忽略外键限制负荷数据和修改表的操作非常有用。

我们不允许你删除一个表,引用外键表除非你设立foreign_key_checks = 0.when你删除一个表,在其创作中定义的约束也删除。

如果你重新创建表,删除,必须有如下的外键约束,也指的是它的定义,它必须有正确的列的名称和类型,而且,正如前面提到的,它必须被编入索引,引用的键。如果这些都不满意,MySQL返回错误1005点错误150错误消息字符串。