【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 【字段名】
USEfincrm;
ALTERTABLEfincrm_employeeADDuuidvarchar(40)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULLAFTERkey_id;
修改字段名:
ALTER TABLE 【表名】 MODIFY【字段名】 【...属性】
USEemoji;
ALTERTABLEfincrm_employeeMODIFYemployee_namevarchar(50)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'修改姓名';
修改已有字段名及属性:
ALTER TABLE 【表名】 CHANGE 【老字段名】【新字段名】 【...属性】
USEemoji;
ALTERTABLEfincrm_employeeCHANGEorgstestvarchar(100)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'test';
删除属性:
ALTER TABLE 【表名】 DROP【字段名】
USEemoji;
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},'%')
ALTER TABLE em_user ADD COLUMN `forger_phone` varchar(32) null DEFAULT NULL comment '首次登陆绑定的手机号,只用于忘记密码发送短信' AFTER `phone`;
ALTER TABLE em_import_user ADD id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;
评论功能已关闭