我是从EXCEL中导入到mysql中,但是表结构与要求的不一样,为了修改表结构,我查了sql语句,在navicat的新建查询,然后写的sql代码。但是后来才发现在右击所需要修改的表,有设计表,点进去直接就可以修改表结构了。所以有两种方法(推荐第二种)。
方法一:sql语句
- ## 修改表: test
-- 修改表名
-- ALTER TABLE `tableName` RENAME TO `test`;
-- 增加主键
-- alter table `test` add `f` int(5) unsigned default 0 not null auto_increment ,add primary key (`f`);
-- 修改ID为自增,并设置为主键
-- alter table `test` modify `id` int auto_increment primary key;
-- 增加字段
-- ALTER TABLE `test` ADD `h` INT default 0;
-- 修改字段:after
-- ALTER TABLE `test` ADD COLUMN `d` INT DEFAULT '0' COMMENT ' ' AFTER `a`;
-- ALTER TABLE `test` ADD COLUMN `d` INT DEFAULT '0' COMMENT ' ' AFTER `a`;
-- 修改原字段名称及类型
-- ALTER TABLE test CHANGE `d` `e` varchar(50) DEFAULT NULL;
-- 修改一个字段的类型
-- alter table `test` MODIFY `e` VARCHAR(100) DEFAULT NULL;
-- 调整字段顺序
-- ALTER TABLE `test` CHANGE `e` `e` varchar(50) DEFAULT NULL AFTER `c`;
-- 删除字段
-- ALTER TABLE `test` DROP `e`;
-- ++ 索引操作
-- 添加PRIMARY KEY(主键索引)
-- ALTER TABLE `test` ADD PRIMARY KEY ( `e` );
-- 添加UNIQUE(唯一索引)
-- ALTER TABLE `test` ADD UNIQUE (`e`);
-- 添加INDEX(普通索引)
-- ALTER TABLE `test` ADD INDEX index_name ( `e` );
-- 添加FULLTEXT(全文索引)
-- ALTER TABLE `test` ADD FULLTEXT (`e`);
-- 添加多列索引
-- ALTER TABLE `test` ADD INDEX index_name ( `a`, `b`, `c` )
方法二:在navicat中操作
例如要修改test表的结构
右击表test,点击修改表,修改里面的字段值,主键,自增长等。