大锤python日记(数据库之alter的使用)

116 阅读2分钟

在MySQL中,ALTER是一种用于修改表结构的SQL命令。下面是ALTER命令的详细用法:

  1. 添加列

要向现有的表中添加新列,可以使用以下语法:

ALTER TABLE table_name ADD column_name data_type;

其中,table_name是要修改的表名,column_name是要添加的列名,data_type是列的数据类型。

例如,要向students表中添加一列age,数据类型为INT,可以使用以下命令:

ALTER TABLE students ADD age INT;
  1. 删除列

要从表中删除列,可以使用以下语法:

ALTER TABLE table_name DROP COLUMN column_name;

其中,table_name是要修改的表名,column_name是要删除的列名。

例如,要从students表中删除age列,可以使用以下命令:

ALTER TABLE students DROP COLUMN age;
  1. 修改列

要修改现有列的定义(例如数据类型、约束等),可以使用以下语法:

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;

其中,table_name是要修改的表名,column_name是要修改的列名,new_data_type是新的数据类型。

例如,要将students表中的age列的数据类型更改为VARCHAR(10),可以使用以下命令:

ALTER TABLE students MODIFY COLUMN age VARCHAR(10);
  1. 重命名列

要将列重命名为新名称,可以使用以下语法:

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

其中,table_name是要修改的表名,old_column_name是要重命名的列名,new_column_name是新的列名。

例如,要将students表中的age列重命名为new_age,可以使用以下命令:

ALTER TABLE students RENAME COLUMN age TO new_age;
  1. 添加主键、外键或唯一约束

要添加主键、外键或唯一约束,可以使用以下语法:

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...);
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column) REFERENCES parent_table(parent_column);
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column);

其中,table_name是要修改的表名,constraint_name是要添加的约束名称,column1、column2等是要包含在约束中的列名。在第二个语句中,parent_table和parent_column分别是父表和父表中的列。

例如,要向students表添加一个名为PK_students的主键约束,包括id和name两列,可以使用以下命令:

ALTER TABLE students ADD CONSTRAINT PK_students PRIMARY KEY (id, name);
  1. 删除主键、外键或唯一约束

要删除主键、外键或唯一约束,可以使用以下语法:

ALTER TABLE table_name DROP CONSTRAINT constraint_name;

其中,table_name是要修改的表名,constraint_name是要删除的约束名称。

例如,要从students表中删除名为PK_students的主键约束,可以使用以下命令:

ALTER TABLE students DROP CONSTRAINT PK_students;

总之,ALTER命令是非常强大且灵活的,可以用来修改表结构,包括添加、删除和修改列、添加和删除约束等。