MySQL 数据定义语句

表相关

修改表名

alter table grade rename hang;

新增表字段

alter table grade add `name` varchar(100);

修改表字段类型

alter table grade modify `name` varchar(100);

修改表字段名和类型

alter table grade change `name` `name1` varchar(10);

删除表字段

alter table grade drop `name`;

表增加外键

alter table student
add constraint `FK_gradeID`
foreign key (`gradeID`) references `grade` (`id`);

删除表

drop table grade;

删除表(如果存在)

drop table if exists grade;

创建表(含主键外键)

create table if not exists `student` (
    `id` int(4) not null auto_increment comment '学号',
    `name` varchar(30) not null default '匿名' comment '名字',
    `pwd` varchar(20) not null default '123456' comment '密码',
    `birthday` datetime default null comment '出生日期',
    `address` varchar(100) default null comment '家庭住址',
    `email` varchar(50) default null comment '邮箱',
    `gradeID` int(10) comment '年级ID',
    primary key (`id`),
    key `FK_gradeID` (`gradeID`),
    constraint `FK_gradeID` foreign key (`gradeID`) references `grade` (`id`)
)ENGINE=InnoDB default charset = utf8;
create table if not exists `grade` (
    `id` int(10) not null auto_increment comment 'ID',
    `name` varchar(30) null comment '名称',
    primary key (`id`)
)ENGINE=InnoDB default charset = utf8;

清空表数据

truncate table `grade`;

delete和truncate区别

相同点

都能删除数据,都不会删除表结构

不同点

truncate会重新设置自增列,计数器会归零

truncate不会影响事务

posted @ 2021-05-31 13:46  天航星  阅读(69)  评论(0编辑  收藏  举报