--创建表
create table if not exists user10(
id smallint unsigned key auto_increment,
username varchar(20) not null unique key,
password char(20) not null,
email varCHAR(50) not null default '693244464@qq.com',
age tinyint unsigned default 18,
sex enum('男','女','保密'),
addr varchar(200) not null default '北京',
salary float(6,2),
regtime int unsigned,
face char(100) not null default 'default.jpg'
---修改表名
alter table tbl_name rename[to|as] new_name
alter table user10 rename to user11;
alter table user11 rename as user10;
alter table user10 rename user11;
rename table user11 to user10;
--添加字段
alter table tbl_name add 字段名称 字段类型[完整性约束条件] [first|after 字段名称]
alter table user10 add card char(18);
alter table user10 add test1 varchar(100) not null unique key;
alter table user10 add test2 varchar(20) not null first;
alter table user10 add test3 int not null default 100 after password;
--一词添加多个操作
alter table user10
add test4 int not null default 123 after password,
add test5 float(6,1) first,
add test6 set('a','b','c');
--删除字段
--alter table tbl_name drop 字段名称
alter table user10 drop test6;
alter table user10 drop test1;
--删除多个字段
alter table user10
drop test2,
drop test3,
drop test4,
drop test5;
--添加test字符段产出addr字段,后面一定要空格,这里要特别注意
alter table user10
add test int unsigned not null default 10 after sex,
drop addr;
--修改字段属性位置MODIFY,但是不能够修改字段的名称
--alter table tbl_name modify 字段名称 字段类型[完整性约束条件] [first|after 字段名称]
alter table user10 modify email varchar(200);
alter table user10 modify email varchar(50) not null default '693244464@qq.com';
alter table user10 modify card char(18) after test;
alter table user10 modify test char(32) not null default '123' first;
--修改字段名称 alter table tbl_name change 旧字段名称 新字段名称 字段类型[完整性 约束条件] [first|after 字段名称] CHANGE
alter table user10 change test test1 char(32) not null default '123';
alter table user10 change test1 test char(200) not null default '123' after username;
alter table user10 change test test int; #等同于modify
--添加默认值
--alter table tbl_name ater 字段名称 set default 默认值
create table if not exists user11(
id tinyint unsigned key auto_increment,
username varchar(20) not null unique key,
age tinyint unsigned
);
alter table user11 alter age set default 18;
alter table user11 add email varchar(50);
alter table user11 alter email set default '1@qq.com';
--删除默认值
alter table user11 alter age drop default;
alter table user11 alter email drop default;
--添加主键
--alter table tbl_name add [constraint[symbol]]] primary key[index_type](字段名称,.....)
create table if not exists user12 (
id int
);
alter table user12 add primary key(id);
create table if not exists user13 (
id int,
card char(18),
username varchar(20) not null
);
--添加复合主键
alter table user13 add primary key(id,card);
--删除主键
alter table user12 drop primary key;
alter table user13 drop primary key;
alter table user12 add constraint symbol primary key index_type(id);
create table if not exists test14(
id int unsigned key auto_increment
);
-先删除自增长,才能删除主键
alter table test14 modify id int;
alter table test14 drop primary key;
添加唯一性约束;
--alter table tbl_name add [constraint[symbol]] unique [index|key] [索引名称](字段名称,.....)
删除唯一性约束
--alter table tbl_name drop {index|key} index_name
--修改存储引擎
alter table user13 engine=myisam;
--修改自增长
alter table user13 auto_increment=100;
删除表操作
drop table [if exists] tbl_name
drop table if exists user12;
drop table if exists user11,user10,user9;
drop table if exists user8,user7,user6,user123;