mysql怎么更改字段名

mysql怎么更改字段名,第1张

修改字段类型、字段名、字段注释类型长度、字段默认值

mysql修改字段类型:

--能修改字段类型、类型长度、默认值、注释

--对某字段进行修改

ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度 新默认值 新注释

-- COLUMN关键字可以省略不写

alter table table1 modify column column1 decimal(10,1) DEFAULT NULL COMMENT '注释'-- 正常,能修改字段类型、类型长度、默认值、注释

alter table table1 modify column1 decimal(10,2) DEFAULT NULL COMMENT '注释'

-- 正常,能修改字段类型、类型长度、默认值、注释

mysql修改字段名:

ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型

alter table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'-- 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释

alter table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释

alter table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释

alter table table1 change column1 column2-- 报错

mysql>alter table white_user change column name nick_name varchar(50) null comment '昵称'-- 正确

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

2 修改表名

ALTER TABLE 旧表名 RENAME TO 新表名

MySQL 数据库的语法, 与其它数据库的, 有些差异。

使用 CHANGE COLUMN 来修改列的名字,还必须 设置 列的数据类型

mysql>desc test_tab

+-------+-------------+------+-----+---------+-------+

| Field | Type| Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id| int(11) | NO | PRI | 0 | |

| name | varchar(10) | YES | | NULL| |

| age | int(11) | YES | | NULL| |

| val | varchar(10) | YES | | NULL| |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

mysql>ALTER TABLE test_tab

-> CHANGE COLUMN val val2 VARCHAR(10)

Query OK, 0 rows affected (0.13 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql>desc test_tab

+-------+-------------+------+-----+---------+-------+

| Field | Type| Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id| int(11) | NO | PRI | 0 | |

| name | varchar(10) | YES | | NULL| |

| age | int(11) | YES | | NULL| |

| val2 | varchar(10) | YES | | NULL| |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.02 sec)

注: RENAME COLUMN 是 Oracle 与 DB2 与 PostgreSQL 的语法:

例如:

Oracle:

SQL>ALTER TABLE test_tab

2RENAME COLUMN val TO val2

Table altered.

DB2:

db2 =>ALTER TABLE test_tab

db2 (cont.) => RENAME COLUMN val TO val2

DB20000I SQL 命令成功完成。

db2 =>select * from test_tab

ID NAME AGE VAL2

----------- ---------- ----------- ----------

0 条记录已选择。

PostgreSQL

Test=# ALTER TABLE test_tab RENAME COLUMN val TO val2

ALTER TABLE

Test=# \d test_tab

资料表 "public.test_tab"

栏位 | 型别 | 修饰词

------+-----------------------+--------

id | integer | 非空

name | character varying(10) |

age | integer |

val2 | character varying(10) |

索引:

"pk_test_tab" PRIMARY KEY, btree (id)

检查约束限制

"test_tab_age_check" CHECK (age >0 AND age <150)

MySQL中可以使用rename table这个SQL语句来修改表名。

rename table这个SQL语句来修改表名的基本语法是:

RENAME TABLE <旧表名>TO <新表名>

我们来把test表修改为test1表。

1、首先查看一下当前数据库中有哪些表。

mysql>show tables

+-------------------+

| Tables_in_cainiao |

+-------------------+

| test |

| test2 |

+-------------------+

2 rows in set (0.00 sec)

2、执行重命名 *** 作,把test修改为test1。

mysql>rename table test to test1

Query OK, 0 rows affected (0.08 sec)

3、再次查看一下结果。

mysql>show tables

+-------------------+

| Tables_in_cainiao |

+-------------------+

| test1 |

| test2 |

+-------------------+

2 rows in set (0.00 sec)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8538359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存