【Mysql】添加、修改表字段和属性

MySQL · 2022-01-22 · 731 人浏览
【Mysql】添加、修改表字段和属性

mysql修改字段属性及修改是否非空

在使用mysql的时候肯定会因为接口返回数据与数据库字段类型不一致,或者int储存太小只能改为String。这个时候就需要我们在数据库里面修改字段类型。一般情况下是先删除字段,然后再添加,但是这样就会导致数据丢失。不过我们可以选择直接修改表的字段属性并且可以修改为是否非空。

SQL语句:

ALTER TABLE 表名 MODIFY column 字段名 字段类型  是否非空;

  • 1

列如:

ALTER TABLE t_user  MODIFY column user_id VARCHAR(255) NOT NULL;#不为空#或者ALTER TABLE t_user  MODIFY column user_id VARCHAR(255) DEFAULT NULL;#可以为空

  • 1

  • 2

  • 3

#mysql修改表company的字段company_name,varchar长度100、不为空、备注为单位名称

ALTERTABLEcompany  MODIFYcolumncompany_nameVARCHAR(100)NOTNULLCOMMENT'单位名称';

ALTER TABLE em_import_user  MODIFY column user_id VARCHAR(64) DEFAULT NULL COMMENT '用户标识';;#可以为空

大家可以根据自己的需求更改字段的类型及修改是否非空。

添加表字段:

ALTER TABLE 【表名】 ADD 【字段名】 【...属性】AFTER 【字段名】

  1. USEfincrm;

  2. ALTERTABLEfincrm_employeeADDuuidvarchar(40)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULLAFTERkey_id;

 修改字段名:

 ALTER TABLE 【表名】 MODIFY【字段名】 【...属性】

  1. USEemoji;

  2. ALTERTABLEfincrm_employeeMODIFYemployee_namevarchar(50)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'修改姓名';

修改已有字段名及属性:

ALTER TABLE 【表名】 CHANGE 【老字段名】【新字段名】 【...属性】

  1. USEemoji;

  2. ALTERTABLEfincrm_employeeCHANGEorgstestvarchar(100)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'test';

 

 删除属性:

ALTER TABLE 【表名】 DROP【字段名】

  1. USEemoji;

  2. ALTERTABLEfincrm_employeeDROPtest;

 

修改Mysql中已有字段属性

如何修改表中已有字段的属性

ALTER TABLE 表名 MODIFY 字段名 修改之后字段的属性;

例: ALTER TABLE teacher MODIFY student VARCHAR(20) DEFAULT NULL COMMIT ‘学生’;

运行之后,你的字段就会修改成你想要的属性

修改字段属性

ALTER TABLE person MODIFY age VARCHAR(125);

SELECT * FROM person WHERE address LIKE '%3%'

修改字段类型、长度、默认为空

ALTER TABLE crm_assets_delay_apply_detail MODIFY point INT(11) DEFAULT NULL;

select * from region A where A.region_name like concat( ‘%’ , ‘#{region_name}’ , ‘%’ )

and company_name likeCONCAT('%',#{companyName},'%')

mysql在某一字段后面添加新字段

ALTER TABLE em_user ADD COLUMN `forger_phone` varchar(32) null DEFAULT NULL comment '首次登陆绑定的手机号,只用于忘记密码发送短信' AFTER `phone`;

mysql 插入一个字段 id自增并设置为主键

ALTER TABLE em_import_user ADD id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;