修改数据库的sql语句_alter的使用

有的时候数据库表建好了,发现有些字段需要修改后者添加某些字段,对于sql熟悉的话那还好,对于sql不熟悉的话那可就要小心点咯,特别是生产环境涉及一些金额但又必须做出修改的时候就更加要小心了,因为如果修改不当的话很有可能会造成交易失败,那现在就来看下,具体应该怎么使用alter语句修改表:


1.假如对表table_control,添加字段operator,长度32,类型为varchar,不为空,注释“操作员”,可这样写:

alter table trans_control add operator varchar(32) not null comment '操作员';


2.假如对表table_key如果有很多字段需要添加可这样写:

alter table table_key
add uuid varchar(32) not null comment 'uuid',
add description varchar(64) not null comment 'key描述信息',
add trans_total_no int comment '交易总笔数',
add trans_day_no int comment '日交易总笔数控制',
add trans_month_no int comment '月交易总笔数控制',
add card_auth_day_no int comment '单卡每日鉴权笔数控制',
add card_auth_month_no int comment '单卡每月鉴权笔数控制',
add operator varchar(32) not null comment '操作员';


3.有的时候只需要修改字段的一些属性,比如长度啊等等,我们可以这样写:

alter table authkey_bitmap
modify debit_bitmap_id varchar(2) null,
modify credit_bitmap_id varchar(2) null,
modify bankbook_bitmap_id varchar(2) null;


上面都是我在公司遇到的一些问题,修改的语句有一部分也就是上面这些,因为这些语句必须直接在生产环境做修改,所以也是在测试环境跑了一遍之后才敢直接更新到生产的,希望能帮助到你!


使用Transact-SQL语句ALTER DATABASE可以对`studb`数据库的各种属性进行修改,例如文件大小、填充因子、恢复模式等。以下是一些常见的ALTER DATABASE操作示例: 1. 修改数据文件大小: ```sql ALTER DATABASE studb MODIFY FILE (NAME = database_file_name, SIZE = new_size_in_MB); ``` 将`database_file_name`替换为你要更改的数据文件名称,并将`new_size_in_MB`替换为你想要的新大小(单位为MB)。 2. 修改日志文件大小: ```sql ALTER DATABASE studb MODIFY FILE (NAME = log_file_name, SIZE = new_log_size_in_MB); ``` 同样地,`log_file_name`代表日志文件名,`new_log_size_in_MB`指新大小。 3. 调整填充因子(影响数据存储效率): ```sql ALTER DATABASE studb SET填充因子 TO new_fill_factor; ``` `new_fill_factor`应介于0(完全填充)到1(未填充)之间。 4. 更改恢复模式(如从简单改为完整恢复): ```sql ALTER DATABASE studb SET RECOVERY = simple | full | bulk_logged | simple_with_rapid_failover; ``` 根据需要选择合适的恢复模式。 5. 重命名数据库: ```sql EXEC sp_rename 'dbname = studb', 'newname'; ``` 这将会永久改变数据库的名称,记得备份数据再做此操作。 在执行此类操作前,请确保拥有足够的权限,并在每次更改后考虑是否需要重启数据库服务以使变更生效。另外,你需要以WITH ROLLBACK IMMEDIATE选项来防止事务回滚导致的问题,除非你想确认更改会成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值