@Chiang
2019-09-18T22:23:42.000000Z
字数 1407
阅读 602
MySQL
# 选择数据库
use database_name;
# 创建数据表
create table if not exists `table_name` (
# unsigned 无符号, not null 不为空, auto_increment 自增, primary key 主键
`id` int(10) unsigned not null auto_increment primary key,
# collate 校对规则, default 默认值, unique 唯一
`name` varchar(255) collate utf8mb4_unicode_ci not null default 'fazhan' unique,
`age` int(11) not null default 18,
`deptId` int(11) not null default 1,
`orgId` int(11) not null default 1,
# 多字段联合主键
constraint `key_name` primary key (`id`,`name`),
# 外键约束
constraint `foreign_key_name` foreign key (`deptId`,`orgId`) references `tb_dept1` (`id`,`orgId`),
# 唯一性约束
constraint `unique_name` unique (`name`),
) engine=InnoDB auto_increment=1 default charset=utf8mb4 collate=utf8mb4_unicode_ci;
# 查看数据表基本结构
describe table_name;
desc table_name;
# 查看表详细结构
show create table table_name \G;
# 修改表名
alter table table_old_name rename to table_new_name;
# 修改字段的数据类型
alter table table_name modify column_name varchar(30);
# 修改字段名
alter table table_name change column_old_name column_new_name int(11);
# 添加字段
alter table table_name add column_new_name int(11) not null default 1 first;
alter table table_name add column_new_name int(11) not null default 1 after column_name;
# 删除字段
alter table table_name drop column_name;
# 修改字段的排列顺序
alter table table_name modify column_name int(11) first;
alter table table_name modify column_name1 int(11) after column_name2;
# 更改表的存储引擎
alter table table_name engine=InnoDB;
# 删除表的外键约束
alter table table_name drop foreign key `foreign_key_name`;
# 删除数据表
drop table if exists `table_name1`, `table_name2`;
参考资料:
MySQL5.7从入门到精通
对比:
索引