# 建表
# unsigned 无符号,即非负数
# auto_increment 自增
# primary key 关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
create table if not exists runoob_tbl(
runoob_id int unsigned auto_increment (primary key),
runoob_title varchar(100) default '0' not null,
runoob_author varchar(40) not null,
submission_date date,
primary key ( runoob_id,runoob_title )
)engine=innodb default charset=utf8;
# 索引
create index indexname on mytable(username(length));
drop index [indexname] on mytable;
主键索引
该语句添加一个主键,这意味着索引值必须是唯一的,且不能为 null。
alter table tbl_name add primary key (column_list)
唯一索引
这条语句创建索引的值必须是唯一的(除了 null 外,null 可能会出现多次)。
alter table tbl_name add unique index_name (column_list)
普通索引
添加普通索引,索引值可出现多次。
alter table tbl_name add index index_name (column_list)
全文索引
该语句指定了索引为 fulltext ,用于全文索引。
alter table tbl_name add fulltext index_name (column_list)
命令行下显示查看索引
show index from table_name; \g
添加字段
alter table student add age int(4);
修改字段(修改字段名)
alter table 表名 change [column] 旧字段名 新字段名 新数据类型;
修改字段(修改字段类型)
alter table 表名 modify [column] 字段名 新数据类型 新类型长度 新默认值 新注释;
alter table table1 modify column column1 decimal(10,1) DEFAULT NULL COMMENT ' 注释 ';
修改表名
alter table 旧表名 rename to 新表名;
修改注释
alter table 表名 comment ' 新注释 '
在指定位置插入新字段
alter table 表名 add [column] 字段名 字段类型 是否可为空 comment ' 注释 ' after 指定某字段;
删除字段
alter table 表名 drop [column] 字段名;