文章目录
innoDB
myisam
memory
create table [name](
id int primary key not null auto_increment,
stu_id int not null unique,
sex boolean not null,
score double defaule 0,
);
describe [table name];
desc [table name];
alter table [oldname] rename [newname];
alter table [name] modify name(字段名) varchar(30)(字段属性);
alter table [name] change oldname newname 新数据类型;
alter table [name] add 字段名 约束条件 first (在表头部添加)
alter table [name] add 字段名 约束条件 after(old字段名) //在老的字段名后添加字段
alter tabe [name] drop 字段名
alter table [name] modify 属性名1 数据类型 first|after 属性名2;
alter table [name] modify 属性名 数据类型 first //修改到第一个位置
alter table user engine=innodb;
索引
索引的分类
普通索引
唯一性索引
全文索引
单列索引
多列索引
空间索引
创建索引
create table index1(id int not null ,
name varchar(20) not null,
sex boolean,
index(id)); //id作为index 的普通索引
create table index2(id int not null ,
name varchar(20) not null,
sex boolean,
unique index index_id (id ASC)); //id作为index2 的唯一性索引
//目前只有myisam 支持全文索引,innodb 还不支持全文索引
create table index3(id int not null ,
name varchar(20) not null,
sex boolean,
fulltext index index_id3(name)); //id作为index 的全局索引
create table index4(id int not null,
name varcar(20),
index index_id4(name(10)));//创建单列索引
//使用多列索引时,只有使用索引中的第一个字段的时候才会触发索引
create table index5(int not null,
name varchar(20),
sex boolean,
index index_id5(name,sex)); //创建多列索引
//创建空间索引
create table index6(int not null,
name geometry not null,
spatial index index_id6(name)
);//创建的时候使用spatial创建 。
在已有表的基础上创建索引
create index index_id1 on [表名](字段名);//创建普通索引
create unique index index_id2 on [表名](字段名);//创建唯一性索引
create fulltext index index_id3 on [表名](字段名);//创建全文索引
create index index_id4 on [表名](字段(n)); 创建单列索引
create index index_id5 on(表名)(字段名1,字段名2,。。);//创建多列索引
create spatial index index_id6 on[表名](字段名);//创建空间索引
alter 语句创建索引
alter table [表名] add unique index index_id1(id);//其余索引形式与这个类似
删除索引
drop index 索引名 on 表名;
常见问题及其解答
触发器
创建只有一个执行语句的触发器
create trigger tri_test before insert on test1
for each row insert trigger_time values(now());
创建有多个执行语句的触发器
视图
视图的作用