MySQL数据库表的管理(修改表,复制,新增、修改列,删除表列)

    xiaoxiao2021-03-25  58

    关系型数据库的数据通常都是以表的形式存储和展现,因此可以简单而粗暴地讲,一个关系就是一个表。在创建表格后,在后期对数据库表的管理工作中,表的维护、修改是重要工作,如增加一个新列,删除一列,修改某属性的数据类型等,本篇文章总结MySQL数据库表管理的基本操作。包括复制和删除表,新增、修改、删除列等。

    0 数据库表管理相关命令

    进行的操作命令只复制列构造CREATE TABLE 新表名 LIKE 旧表名;复制数据INSERT INTO 新表名 SELECT * FROM 旧表名;复制列构造+数据CREATE TABLE 新表名 SELECT * FROM 旧表名;删除表DROP TABLE 表名;修改列数据类型ALTER TBALE 表名 MODIFY 列名 新数据类型;新增列ALTER TABLE 表名 ADD 列名 数据类型[FITRST/AFTER COL];修改列位置ALTER TABLE 表名 MODIFY 列名 数据类型 AFTER col名;修改列名和数据类型>ALTER TABLE 表名 CHANGE 列名 新列名 类型;删除列ALTER TABLE 表名 DROP 列名;

    1 复制表 和删除表

    创建表格的命令大家都很熟悉,CREATE TABLE 表名 (列名1 数据类型 选项,...),但是在数据库管理过程中,如果要复制一张一模一样的表,重新创建表格、插入数据显然是麻烦且耗时耗力的一件事情。 (1)只复制列构造(不复制记录数据)

    如我想要只复制表格customer的列构造并命名新表格为visitor,可以使用命令:

    >CREATE TABLE visitor LIKE customer;

    查看 表格visitor 可以看到它的构造和customer一模一样,而执行查询时,可以看到该表是一张空表。

    (2)复制数据到表

    通过上述操作命令,复制了一张列构造一样的表格,但是现在想要将数据复制到该表,可以通过执行命令:

    >INSERT INTO visitor SELECT * FROM customer;

    执行结束后查询表记录,可以看到customer的数据完全复制到visitor;

    (3)同时执行列构造和数据的复制 想要复制包括列构造和数据完全一样的表,也可以一部到位:

    >CREATE TABLE customerH SELECT * FROM customer;

    (4)删除表DROP TABLE 删除表使用DROP 命令,删除是不可逆的,不能恢复:

    >DROP TABLE customerH;

    通过SHOW TABLES查看数据库表名,可以看到通过DROP TABLE命令删除了表customerH;

    2 修改表列

    (1)修改表列数据类型MODIFY

    使用MODIFY修改数据类型:

    >ALTER TBALE 表名 MODIFY 列名 新数据类型;

    如将visitor 中nam由varchar(20)改为varchar(30)

    列的数据类型可以修改,但是一定要慎重,因为修改数据类型可能会导致数据出现错误,如原本是VARCHAR(100)修改为VARCHAR(50),原本50个字符以外的数据将丢失。

    (2)增加新列ADD

    增加一列年龄 ,数据类型int到表visitor,默认的位置是增加到表的最后: >ALTER TABLE visitor ADD old INT;

    如果想要在表头增加列,可以通过ALTER TALE 表名 ADD 列名 数据类型 FIRST; >ALTER TABLE visitor ADD old INT FIRST;

    也可以在任意位置追加列,使用after来确认位置: >ALTER TBALE visitor ADD old INT AFTER nam;

    (3)修改列的位置

    上述命令可以在新增列时确定列的位置,如果列已经存在了,使用MODIFY 来修改列的位置:

    >ALTER TABLE visitor MODIFY old INT AFTER nam;

    (4)修改列名和数据类型

    可以通过CHANGE 来修改表的列名和类型,

    >ALTER TABLE 表名 CHANGE 列名 新列名 类型;

    如将表visitor.birh修改为birthday ,数据类型为DATE;

    (3)删除列 删除列同样通过drop;

    >ALTER TABLE 表名 DROP 列名;

    总结:凡是修改表中列的命令,都是ALTER TBALE EXPR col的形式,以ALTER TABLE 开头,以函数如 MODIFY ,CHANGE ,ADD结尾。

    转载请注明原文地址: https://ju.6miu.com/read-50095.html

    最新回复(0)