公布MySQL对表的修正(增添或删减列,创立或作废索引等)
表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。MySQL创立了一个数据库后,接着创立了一张表,并增加了一些字段,那末我今后还想再增添字段怎样做?解答:利用altertable(修正表)!
ALTERTABLE语法:
ALTERTABLEtbl_name
alter_specification[,alter_specification]...
alter_specification:
ADDcolumn_definition
|ADD(column_definition,...)
|ADDINDEX(index_col_name,...)
|ADD]
PRIMARYKEY(index_col_name,...)
|ADD]
UNIQUE(index_col_name,...)
|ADD(index_col_name,...)
|ADD]
FOREIGNKEY(index_col_name,...)
|ALTERcol_name{SETDEFAULTliteral|DROPDEFAULT}
|CHANGEold_col_namecolumn_definition
|MODIFYcolumn_definition
|DROPcol_name
|DROPPRIMARYKEY
|DROPINDEXindex_name
|DROPFOREIGNKEYfk_symbol
|DISABLEKEYS
|ENABLEKEYS
|RENAMEnew_tbl_name
|ORDERBYcol_name
|CONVERTTOCHARACTERSETcharset_name
|CHARACTERSETcharset_name
|DISCARDTABLESPACE|IMPORTTABLESPACE|table_options
|partition_options
|ADDPARTITIONpartition_definition
|DROPPARTITIONpartition_names
|COALESCEPARTITIONnumber
|REORGANIZEPARTITIONpartition_namesINTO(partition_definitions)
|ANALYZEPARTITIONpartition_names
|CHECKPARTITIONpartition_names
|OPTIMIZEPARTITIONpartition_names
|REBUILDPARTITIONpartition_names
|REPAIRPARTITIONpartition_names
http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#alter-table
我的实例:
增添一个字段:
altertablebookaddnamevarchar(20);
以为20太小,修正为50
altertablebookchangenamenamevarchar(50);
增添几个字段:
altertablebookaddauthorsvarchar(100),addcategoryvarchar(20),add
pricedouble(10,2);
删除一列:
altertablebookdropcover;
在某个地位加上1列:
altertablebookaddcovervarchar(100)after(first)publishdate;
修正某笔记录某个字段或多个字段的值:
updatebooksetcolumn_name1=""wherecolumn_name2="";
删除一笔记录:
deletefromtable_namewherewhere_contion;
修正某个表中的纪录的按次:
altertablebookorderbybookid(默许为升序降序为desc);根据Evans的调查报告,“MySQL的使用在未来将继续呈成长趋势。” 是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。 微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。 换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。 总感觉自己还是不会SQL 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
页:
[1]