在mysql中,如何改变列声明.

C

在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)

 

修改表 - 修改列的数据类型

使用 CHANGE COLUMN 来修改列的数据类型,还必须 设置 列名。 
使用 MODIFY COLUMN
不用输入2次列名。

mysql> ALTER TABLE test_tab

->   CHANGE COLUMN age age TINYINT;

-> //

Query OK, 0 rows affected (0.16 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE test_tab

->   MODIFY COLUMN age BIGINT NOT NULL;

-> //

Query OK, 0 rows affected (0.14 sec)

Records: 0  Duplicates: 0  Warnings: 0

修改表 - 修改列的默认值

通过MODIFY COLUMN来处理

mysql> ALTER TABLE test_tab

->   MODIFY COLUMN sex  VARCHAR(2) DEFAULT ‘男‘;

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

在mysql中,如何改变列声明.,布布扣,bubuko.com

时间: 2024-10-06 14:01:50

在mysql中,如何改变列声明.的相关文章

MySql中增加一列

如果想在一个已经建好的表中添加一列,可以用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null; 这条语句会向已有的表中加入新的一列,这一列在表的最后一列位置.如果我们希望添加在指定的一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME; 注意,上面这个命令的意思

MySql中根据一列状态值查询状态的个数

最近搞报表的项目,要写数据库sql语句,根据状态值查询状态的个数,这个开始难为到我了,不过已经有解决办法了. 在数据库表中有一个字段是状态(zt),这里面有1-7这7个状态,现在查询每个状态的数量,并且显示在一张表中,正常情况下查状态是: SELECT COUNT(*) draft  FROM `it_project_info` WHERE `it_project_info`.item_status`='1'; SELECT COUNT(*) checks FROM `it_project_in

读取mysql中的特定列值放入页面的下拉框中

1.使用的技术:JSP,Spring JDBC(Mapper) 2.代码 2.1 接口 public interface IMeetingRoomDao { public List<Mrcap> selectCap(); public List<Mrfloor> selectFloor(); } 2.2 实现类 @Override public List<Mrcap> selectCap() { List<Mrcap> caplist = new Array

在MySQL的表中增加一列

MySql中增加一列 如果想在一个已经建好的表中添加一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null; 这条语句向已有的表中加入新的一列,这一列在表的最后一列位置.如果希望添加在指定的一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null after COLUMN_NAME; 上面这个命令

mysql中生成列与JSON类型的索引

MySQL中支持生成列,生成列的值是根据列定义中包含的表达式计算的. 一个简单的例子来认识生成列! CREATE TABLE triangle( sidea DOUBLE, sideb DOUBLE, sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)) ); INSERT INTO triangle(sidea, sideb) VALUES(3,4),(6,8),(5,12); mysql> select * from triangle;

mysql中while循环以及变量声明以及dilimiter

首先我们查看一个正确的完整的一个存储过程 ①其中delimiter命令解释如下:默认情况下,delimiter是分号:.在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令. 这种默认以分号执行命令会使存储过程创建不完整就被执行,显然会报错.所以用delimiter命令将默认的:变成||(也可以是&& ,//什么的).执行完后 把某段语句写完之后,再用||结束,提交执行.最后用delimiter 命令修改回来. ②mysql中局部变量声明只可写在sql语句块中,

浏览器兼容的实现table中通过拖拽改变列宽的最佳实践

在企业级应用中,表格是非常常见的展现方式,这时当列数据较长时,一种比较自然,体验也较好的处理方式就是通过拖拽改变列宽,这个功能在一些重量级JS组件库中都有提供,实现原理各有不同,但是一个共同点就是实现比较复杂,那我们通过很少的代码,常规的table结构,能实现这个功能么?本文将提供一个经过实际验证的实践,供开发者参考,扩展思路. 总体思路: 1.HTML结构: 为了简化代码,采用标准的HTML结构,即table-tr-td模式,无其他限制,在我们的实际应用中,表格非常复杂,但是核心技术没有变:

mysql explain中的type列含义和extra列的含义

很多朋友在用mysql进行调优的时候都肯定会用到explain来看select语句的执行情况,这里简单介绍结果中两个列的含义. 1 type列 官方的说法,说这列表示的是“访问类型”,更通俗一点就是:mysql找到需要的数据行的方式.一下就是从效率最差到最好顺序分别介绍下: All 这个就是所谓的全表扫描,没有用到任何的index,mysql就是从头到尾把整个表遍历一边,找到所需要的数据行.效率是最差的.如下图,这个表中的usertype不是索引,这个查询中没有用到任何索引,所以就出现了全表扫描

MySQL中不允许使用列别名作为查询条件

在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件.比如有下面一个表: select     ID,     title,     concept,     conceptLength,     addUserId,     modifyTimefrom collections_wisdom 将SQL修改如下: select     ID+1 as newID,     title,     concept,     conceptLength,     addUserId,