学习thinkphp之旅1-mysql和sql server的不同之处,索引区别


mysql的写法是:

CREATE TABLE  'o2o_category'(


'id' int(11) unsigned NOT NULL auto_increment,  //其表名,列名均用‘ ’,
'name' VARCHAR(50) NOT NULL default '',
'parent_id' int(10) unsigned NOT NULL default 0,
'listorder' int(8) unsigned NOT NULL default 0,
'status' tinyint(1) NOT NULL default 0,
'create_time' int(11) unsigned NOT NULL default 0,
'update_time' int(11) unsigned NOT NULL default,0

PRIMARY KEY ('id'),                  //mysql主键写在下面


KEY parent_id('parent_id')         //Key是索引约束,对表中字段进行约束索引的,都是通过primary foreign unique

                                                     等创建  的。///常见有foreign key,外键关联用的。 
                                                      KEY forum (status,type,displayorder)  # 是多列索引(键) 

                                                      KEY forum (status,type,displayorder)  # 是多列索引(键) 

                                                      KEY tid (tid)                         # 是单列索引(键)

                                                      KEY wh_logrecord_user_name (user_name) 
                                                     本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键 
                                                     括号外是建立外键的对应表,括号内是对应字段 

                                                       key的用途:主要是用来加快查询速度的。



)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

SQL SERVER的写法

CREATE TABLE o2o_category(

id int(11) unsigned NOT NULL auto_increment PRIMARY KEY,     // 主键写于约束条件中
name VARCHAR(50) NOT NULL default '',
parent_id int(10) unsigned NOT NULL default 0  ,
listorder int(8) unsigned NOT NULL default 0,
status tinyint(1) NOT NULL default 0,
create_time int(11) unsigned NOT NULL default 0,
update_time int(11) unsigned NOT NULL default 0




)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


CREATE INDEX parent_id ON o2o_category (parent_id);     //建立索引=MYSQL 中的KEY parent_id('parent_id') 


参考:https://blog.csdn.net/inaoen/article/details/24108969


你可能感兴趣的:(MYSQL)