mysql把表(表已有数据)的某列属性由空到非空,以及常用列操作

//先把CLSF_ID为空的设置默认值
UPDATE aop_dictionaries_info SET CLSF_ID=0 WHERE CLSF_ID=‘‘ OR CLSF_ID IS NULL;
//把CLSF_ID设置为非空
ALTER TABLE aop_dictionaries_info CHANGE CLSF_ID CLSF_ID varchar(20) NOT NULL COMMENT 分类ID;

想要设置默认值

UPDATE aop_dictionaries_info SET CLSF_ID=0 WHERE CLSF_ID=‘‘ OR CLSF_ID IS NULL;

ALTER TABLE aop_dictionaries_info CHANGE CLSF_ID CLSF_ID varchar(20) NOT NULL DEFAULT 0 COMMENT 分类ID;

如果表已有数据的话,仅仅

ALTER TABLE aop_dictionaries_info CHANGE CLSF_ID CLSF_ID varchar(20) NOT NULL DEFAULT ‘0‘ COMMENT ‘分类ID‘;

这条语句是不行的,会报错,得先把原有的数据为空的项设置值之后才可以。

 

1、修改列属性的语法

ALTER TABLE <数据表名>

CHANGE [COLUMN]<字段名>

<字段名><属性>

2、修改列名也是这个语法

ALTER TABLE <数据表名>

CHANGE [COLUMN]<旧字段名>

<新字段名><属性>

ALTER TABLE AOP_DICT_CLASSIFY_INFO CHANGE CLSF_CN_NM CLSF_NM VARCHAR(50) DEFAULT NULL COMMENT 分类名称;

3、删除列

ALTER TABLE AOP_DICT_CLASSIFY_INFO DROP COLUMN CLSF_NM;

4、插入指定列的数据,其余列为空

INSERT INTO AOP_DICT_CLASSIFY_INFO (CLSF_ID,CLSF_NM,CLSF_DESCR) VALUES(0,默认分类,默认分类);
INSERT INTO AOP_DICT_CLASSIFY_INFO (CLSF_ID,CLSF_NM,CLSF_DESCR) VALUES(5,a,b),(6,c,d);

5、不指定插入,则需要按字段顺序都设置值

INSERT INTO AOP_DICT_CLASSIFY_INFO VALUES(3,miaoshu,1,‘‘,‘‘,‘‘,‘‘,‘‘);
INSERT INTO AOP_DICT_CLASSIFY_INFO VALUES(3,miaoshu,1,‘‘,‘‘,‘‘,‘‘,‘‘),(4,miaoshu,1,‘‘,‘‘,‘‘,‘‘,‘‘);

6、修改数据指定列的值

UPDATE aop_dictionaries_info SET CLSF_ID=0 WHERE CLSF_ID=‘‘ OR CLSF_ID IS NULL;

 

mysql把表(表已有数据)的某列属性由空到非空,以及常用列操作

上一篇:并查集应用:敌人和朋友


下一篇:Centos7安装MySQL(多图)