首页 > 数据库 > MySQL > 正文

MySQL ALTER号令

2022-07-31 18:43:25
字体:
来源:转载
供稿:网友
       当我们需要修改数据表名或者修改数据表字段时,就需要使用到 MySQL ALTER 命令。让我们先创建一张表,表名为: testalter_tbl 。
 
       root@host# mysql -u root -p password;
      Enter password:*******mysql> use OPENKETANG;
      Database changed mysql> create table testalter_tbl    
      -> (-> i INT,-> c CHAR(1)-> );
      Query OK, 0 rows affected (0.05 sec)
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       |
| c     | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
删除,添加或修改表字段
 
修改字段类型及名称
 
如果需要修改字段类型及名称 , 你可以在 ALTER 命令中使用 MODIFY 或 CHANGE 子句 。
 
例如,把字段 c 的类型从 CHAR(1) 改为 CHAR(10) ,可以执行以下命令 :
 
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
使用 CHANGE 子句 , 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。尝试如下实例:
 
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
<p 如果你现在想把字段 j="" 从 ="" bigint="" 修改为 ="" int , sql 语句如下: <="" p="">
 
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
 
 
ALTER TABLE 对 Null 值和默认值的影响
 
当你修改字段时,你可以指定是否包含只或者是否设置默认值。
 
以下实例,指定字段 j 为 NOT NULL 且默认值为 100 。
 
mysql> ALTER TABLE testalter_tbl
-> MODIFY j BIGINT NOT NULL DEFAULT 100;
如果你不设置默认值, MySQL 会自动设置该字段默认为 NULL 。
 

(编辑:错新网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表