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;

浙公网安备 33010602011771号