语法:ALTER TABLE 表名字 ADD PRIMARY KEY ( 字段名字 )
- -- 给 user 表中的 id字段 添加主键索引(PRIMARY key)
- ALTER TABLE `user` ADD PRIMARY key (id);
3、独一索引(UNIQUE)
语法:ALTER TABLE 表名字 ADD UNIQUE (字段名字)
- -- 给 user 表中的 creattime 字段添加独一索引(UNIQUE)
- ALTER TABLE `user` ADD UNIQUE (creattime);
4、全文索引(FULLTEXT)
语法:ALTER TABLE 表名字 ADD FULLTEXT (字段名字)
- -- 给 user 表中的 description 字段添加全文索引(FULLTEXT)
- ALTER TABLE `user` ADD FULLTEXT (description);
5、添加多列索引
语法: ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3)
- -- 给 user 表中的 name、city、age 字段添加名字为name_city_age的平凡索引(INDEX)
- ALTER TABLE user ADD INDEX name_city_age (name(10),city,age);
6、成立索引的机缘
在WHERE和JOIN中呈现的列必要成立索引,但也不完全云云:
- MySQL只对<,<=,=,>,>=,BETWEEN,IN行使索引
- 某些时辰的LIKE也会行使索引。
- 在LIKE以通配符%和_开头作查询时,MySQL不会行使索引。
- -- 此时就必要对city和age成立索引,
- -- 因为mytable表的userame也呈此刻了JOIN子句中,也有对它成立索引的须要。
- SELECT t.Name FROM mytable t LEFT JOIN mytable m ON t.Name=m.username WHERE m.age=20 AND m.city='上海';
- SELECT * FROM mytable WHERE username like'admin%'; -- 而下句就不会行使:
- SELECT * FROM mytable WHERE Name like'%admin'; -- 因此,在行使LIKE时应留意以上的区别。
十、建设后表的修改
1、添加列
语法:alter table 表名 add 列名 列数据范例 [after 插入位置];
示例:
- -- 在表students的最后追加列 address:
- alter table students add address char(60);
- -- 在名为 age 的列后插入列 birthday:
- alter table students add birthday date after age;
- -- 在名为 number_people 的列后插入列 weeks:
- alter table students add column `weeks` varchar(5) not null default "" after `number_people`;
2、修改列
语法:alter table 表名 change 列名称 列新名称 新数据范例;
- -- 将表 tel 列更名为 telphone:
- alter table students change tel telphone char(13) default "-";
- -- 将 name 列的数据范例改为 char(16):
- alter table students change name name char(16) not null;
- -- 修改 COMMENT 前面必需得有范例属性
- alter table students change name name char(16) COMMENT '这里是名字';
- -- 修改列属性的时辰 提议行使modify,不必要重建表
- -- change用于修改列名字,这个必要重建表
- alter table meeting modify `weeks` varchar(20) NOT NULL DEFAULT '' COMMENT '开放日期 周一到周日:0~6,隔断用英文逗号离隔';
- -- `user`表的`id`列,修改成字符串范例长度50,不能为空,`FIRST`放在第一列的位置
- alter table `user` modify COLUMN `id` varchar(50) NOT NULL FIRST ;
3、删除列
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|