mysql 怎么给表增加字段

哎,跟你说个事,前几天我在公司里给一个表加了个字段,那个坑啊,差点让我头大。
话说那天我正在数据库里忙活,突然老板说:“小王啊,给那个user表加个字段吧,叫address,长度别超过2 5 5 个字符,这个得能空着。
” 我一听,心想这不简单,就是按步骤来嘛。

第一步,我连接到MySQL数据库,用命令行工具,就那么一行行输:mysql -u用户名 -p密码 数据库名,然后输密码,一看提示符变成了mysql>,知道成功连接上了。

第二步,我通过SHOW TABLES;命令查了一下当前数据库里所有的表,然后确定我要操作的表名,用USE 数据库名;切换到那个数据库。

第三步,这步就开始搞了。
我用ALTER TABLE 表名 ADD 字段名 数据类型[约束条件];这语法来操作,比如我要给user表加个address字段,数据类型是VARCHAR(2 5 5 ),还能空着,就这么写的:ALTER TABLE user ADD address VARCHAR(2 5 5 ) NULL; 再来一个例子,给age字段设置一个默认值,这样每个新用户没有输入年龄时默认是0:ALTER TABLE user ADD age INT NOT NULL DEFAULT 0;
关键参数嘛,数据类型要根据实际情况来定,约束条件那些像NOT NULL、DEFAULT、UNIQUE之类的,可以根据需要添加。

第四步,搞完之后我得验证一下,我就用DESCRIBE 表名;或者SHOW COLUMNS FROM 表名;命令查了一下表结构,一看,新字段确实加进去了,数据类型和约束条件都符合预期,这就放心了。

第五步,这步是可选的,就是给现有的记录填充数据,我用UPDATE 表名 SET 字段名=值[WHERE 条件];来操作。
比如,我想把id为1 的用户地址设为“北京市朝阳区”,就这么写:UPDATE user SET address='北京市朝阳区' WHERE id=1 ;
注意事项嘛,操作前先备份数据库,这个很重要,避免出意外。
另外,字段命名的时候得注意别用MySQL的保留字,比如order、group这些,用了就麻烦了,得用反引号引起来。
大表加字段可能会导致表锁定,影响业务,建议在业务量小的时候操作。
至于版本兼容性嘛,MySQL 5 .7 及以上版本支持更复杂的字段添加操作,低版本可能需要特别小心。

就这样,经过一番操作,表字段终于顺利加上了。
哎,这活儿啊,还是得多经验。

Mysql表批量添加字段

上周试过加字段。

用ALTER TABLE。

表名是user。

加了age和sex。

age是INT。

sex是VARCHAR。

很简单。

但批量加就不一样了。

有几种方法。

一是手动一个个加。

表名table1
表名table2
这样。

慢。

二是写脚本。

把所有ALTER TABLE写在一个.sql文件里。

用循环或者变量替换表名。

比如table_1
table_2
这样。

一个文件搞定。

效率高。

但写起来要小心。

三是用MyBatis。

这个不直接支持。

得自己写SQL。

然后参数化。

在Java里执行。

有点麻烦。

但可以封装。

以后用方便。

重点是备份数据库。

以防万一。

加了字段要检查。

别冲突。

类型要对。

忘了就完了。

你看着办。