MySQL 002: 表操作实例

创建表

AUTO_INCREMENT 自动增长列也是主键,只能有一个
there can be only one auto column and it must be defined as a key

 CREATE TABLE student(
    id INT(4) NOT NULL PRIMARY KEY UNIQUE AUTO_INCREMENT,
    num INT(10) NOT NULL UNIQUE,
    name VARCHAR(20) NOT NULL,
    gender VARCHAR(4) NOT NULL,
    birthday DATETIME,
    address VARCHAR(50),
    grade VARCHAR(4),
    class VARCHAR(10)
    );
    DESC student

在这里插入图片描述

将student表的name字段的数据类型改为VARCHAR(25)

修改字段数据类型的时候,如果不加NOT NULL,修改后的name字段其原有的NOT NULL约束就不再存在

ALTER TABLE student MODIFY name VARCHAR(25);

ALTER TABLE student MODIFY name VARCHAR(25) NOT NULL;

在这里插入图片描述

将address位置改到gender之后

ALTER TABLE student MODIFY address VARCHAR(50) AFTER gender;

DESCRIBE student;

在这里插入图片描述

那么如果是将name字段做移动呢?是否仍然需要加上原有的NOT NULL才能完整移动? 是!

 ALTER TABLE student MODIFY name VARCHAR(25) AFTER num;
 DESCRIBE STUDENT;

 ALTER TABLE student MODIFY name VARCHAR(25) NOT NULL AFTER num;
 DESC STUDENT;

在这里插入图片描述

将字段num改名为stuid

ALTER TABLE student CHANGE num stuid INT(10) NOT NULL;
DESC STUDENT;

在这里插入图片描述

将id改为ID,发现AUTO_INCREMENT和NOT NULL一样,字段改变时,之前设置的NOT NULL和AUTO_INCREMENT都会失效,PRIMARY KEY主键约束却不受影响

ALTER TABLE STUDENT CHANGE ID ID INT(4) NOT NULL;
DESCRIBE STUDENT;

ALTER TABLE STUDENT CHANGE ID ID INT(4) NOT NULL AUTO_INCREMENT;
DESC STUDENT;

在这里插入图片描述

在表中增加nationality字段,数据类型为VARCHAR(10)

ALTER TABLE STUDENT ADD nationality VARCHAR(10);
DESCRIBE STUDENT;

在这里插入图片描述

将student表名改为studentTab

ALTER TABLE student RENAME studentTab;
DESC STUDENTTAB;

在这里插入图片描述

posted @ 2023-06-13 15:51  在天边偷看小天使  阅读(20)  评论(0)    收藏  举报  来源