账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    MySQL:给表中的字段建索引,这两种写法有什么区别?
    13
    0

    想给test_user表中的的uid,cardid,carid建立普通索引,用navicat for mysql 建索引,生成的SQL语句,有下面两种写法,请问有什么区别吗?

    
    CREATE TABLE `test_user` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增唯一主键ID',
      `uid` smallint(11) DEFAULT NULL COMMENT '用户ID',
      `cardid` smallint(5) DEFAULT NULL COMMENT '卡号',
      `carid` varchar(20) DEFAULT NULL COMMENT '车辆ID',
      `intime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '数据写入时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `base` (`uid`,`cardid`,`carid`) USING BTREE
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='车辆信息表(测试用)';
    
    -----------------------------------------------------------------------------
    CREATE TABLE `test_user` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增唯一主键ID',
      `uid` smallint(11) DEFAULT NULL COMMENT '用户ID',
      `cardid` smallint(5) DEFAULT NULL COMMENT '卡号',
      `carid` varchar(20) DEFAULT NULL COMMENT '车辆ID',
      `intime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '数据写入时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `uid` (`uid`) USING BTREE,
      KEY `cardid` (`cardid`) USING BTREE,
      KEY `carid` (`carid`) USING BTREE
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='车辆信息表(测试用)';
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在MySQL中,给表中的字段建立索引有多种写法,每种写法都有其特点和适用场景。

      1. 使用CREATE INDEX语句:

      CREATE INDEX语句用于在数据库表中创建索引。例如,CREATE INDEX idx_name ON table_name (name);。在这个例子中,idx_name是索引的名称,table_name是表的名称。索引是为表中的特定字段创建的一种数据结构,用于快速查找和更新表中的数据。CREATE INDEX语句只适用于已经存在的表。

      1. 使用CREATE INDEX语句的参数:

      CREATE INDEX语句的参数可以包括索引的名称、表的名称、索引的列的名称等。例如,CREATE INDEX idx_name ON table_name (name);。在这个例子中,idx_name是索引的名称,table_name是表的名称,name是索引的列的名称。这种写法可以创建一个针对所有列的索引。

      1. 使用ALTER INDEX语句:

      ALTER INDEX语句用于修改现有的索引。例如,ALTER INDEX idx_name ON table_name (name);。在这个例子中,idx_name是索引的名称,table_name是表的名称,name是索引的列的名称。ALTER INDEX语句可以添加、删除或修改索引。

      总的来说,CREATE INDEX语句和ALTER INDEX语句都可以用来为表中的字段创建索引,但是CREATE INDEX语句只能用于创建索引,而ALTER INDEX语句可以用于修改和删除现有的索引。在实际使用中,需要根据实际情况和需求来选择使用哪种写法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部