CREATE TABLE TABLE_NAME(
COLUMN_NAME DATATYPE
[NOT NULL | NULL] [DEFAULT default_value | (expression)]
[AUTO_INCREMENT] [ZEROFILL] [UNIQUE [KEY] | [PRIMARY] KEY]
[INVISIBLE] [{WITH|WITHOUT} SYSTEM VERSIONING]
[COMMENT 'string'] [REF_SYSTEM_ID = value]
[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
[reference_definition],
...
);
CREATE TABLE TABLE_NAME(
COLUMN_NAME INT(11) NOT NULL DEFAULT 0,
FOREIGN KEY (COLUMN_NAME) REFERENCES FK_TABLE(FK_COLUMN)
);
ALTER TABLE TABLE_NAME ADD COLUMN COLUMN_NAME DATATYPE [OPTIONS];
ALTER TABLE TABLE_NAME MODIFY COLUMN COLUMN_NAME DATATYPE [OPTIONS];
ALTER TABLE TABLE_NAME CHAGE COLUMN COLUMN_NAME CHANGE_COLUMN_NAME DATATYPE [OPTIONS];
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;
ALTER TABLE TABLE_NAME ADD FOREIGN KEY (COLUMN_NAME) REFERENCES FK_TABLE(FK_COLUMN);
ALTER TABLE TABLE_NAME DROP FOREIGN KEY 'foreign_key_name';
SHOW CREATE TABLE TABLE_NAME;
| table_name | CREATE TABLE `table_name` (
...,
KEY `id` (`id`),
CONSTRAINT `[name]_ibfk_1` FOREIGN KEY (`id`) REFERENCES `fk_table` (`fk_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
여기서 [name]_ibfk_1가 foreign_key_name 이다.
ALTER TABLE TABLE_NAME RENAME CHANGE_TABLE_NAME;
python manage.py inspectdb > '저장 위치'/models.py