操作数据表

6.1 创建数据表

创建数据表使用 CREATE TABLE语句。语句如下:

CREATE TABLE table_name (column_name column_type);

       

Debezium从mysql到pg_字段

6.2 查看表结构

6.2.1 使用SHOW COLUMNS语句查看

 语句:SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];

                    

Debezium从mysql到pg_查看表结构_02

6.2.2 使用DESCRIBE语句查看

语句:DESCRIBE 数据表名;

其中,DESCRIBE可以简写成DESC;在查看表结构时,也可以只列出某一列的信息,语法:DESCRIBE 数据表名 列名;

                  

Debezium从mysql到pg_查看表结构_03

                            

Debezium从mysql到pg_查看表结构_04

6.3 修改表结构

修改表结构使用ALTER TABLE语句;修改表结构指增加或删除字段,修改字段名称或者字段类型,设置取消主外键,设置取消索引以及修改表的注释第,语法如下:

ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...| table_options

参数说明:(1)[IGNORE]:可选性,表示如果出现重复关键的行,则只执行一行,其他重复的行被删除;

      (2)数据表名: 用于指定要修改的数据表的名称;

      (3)alter_spec子句:用于定义要修改的内容,其语法结构如下:

                        

Debezium从mysql到pg_修改表结构_05

      上面的语法,各参数说明如下:

  • create_definition:用于定义列的数据类型和属性;
  • [FIRST|AFTER column_name]:用于指定位于哪个字段的前面(FIRST)或者后面(AFTER),其中column_name表示字段名;
  • [index_name]:可选性,用于指定索引名;
  • (index_col_name,...) :用于指定索引列名;
  • {SET DEFAULT literal |DROP DEFAULT}子句:为字段设置或者删除默认值,其中literal参数为要设置的默认值;
  • old_col_name:用于指定要修改的字段名;
  • new_tbl_name:用于指定新的表名;

     (4) table_options:用于指定表的一些特性参数,其中大多数选项涉及的表数据如何存储及储存在何处,如ENGINE选项用于定义表的存储引擎。在大多数情况下,用户不必指定表选项。

说明:ALTER TABLE语句允许指定多个动作,其动作间使用逗号分隔,每个动作表示对表的一个修改。

6.3.1 添加新字段及修改字段定义

在MySQL的ALTER TABLE语句中,可以通过使用ADD [COLUMN] create_definition [FIRST|AFTER column_name]子句来添加新字段;使用 MODIFY [COLUMN] create_ definition子句可以修改已定义的字段;

                     

Debezium从mysql到pg_字段_06

说明:通过ALTER语句修改表列,其前提是必须将表中数据全部删除,然后才可以修改表列。

6.3.2 修改字段名

在MySQL的ALTER TABLE语句中,使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型。

例:ALTER TABLE db_admin.tb_usernew1 
      CHANGE COLUMN user username VARCHAR(30) NULL DEFAULT NULL ;

                     

Debezium从mysql到pg_创建数据表_07

6.3.3 删除字段

在MySQL的ALTER TABLE语句中,使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型。

实现效果:

                                     

Debezium从mysql到pg_字段_08

6.3.4 修改表名

在MySQL的ALTER TABLE中,使用RENAME [AS] new_tbl_name子句可以修改表名。

实现效果:

                           

Debezium从mysql到pg_查看表结构_09

6.4 重命名表

在MySQL中,重命名数据表可以使用RENAME TABLE语句来实现。 RENAME TABLE语句的基本语法格式如下:

RENAME TABLE 数据表名1 To 数据表名2

说明:该语句可以同时对多个数据表进行重命名,多个表之间用逗号“,”隔开;

实现效果:

                   

Debezium从mysql到pg_修改表结构_10

6.5 复制表

创建表的CREATE TABLE命令还有另外一种语法结构,在一张已经存在的数据表的基础上创建一份该表的拷贝,也就是复制表。 这种用法的语法格式如下:

              CREATE TABLE [IF NOT EXISTS] 数据表名   

                          {LIKE 源数据表名 | (LIKE 源数据表名)}

6.6 删除表

删除数据表的操作很简单,同删除数据库的操作类似,使用DROP TABLE语句即可实现。

DROP TABLE语句的基本语法格式: DROP TABLE [IF EXISTS] 数据表名;

实现效果:

                         

Debezium从mysql到pg_创建数据表_11