开始因为执行alter table bb add COLUMN expireTime datetime null;时间特别慢,网上有说是去掉default null,但是去掉之后还是慢(数据有41万条数据,后来经查时那台机器问题),没办法,只能先做备份,再导数据,以下方法:
select count(*) from bb;
create table bb_bak as select * from bb;
select count(*) from bb_bak;
TRUNCATE table bb;
alter table bb add COLUMN expireTime datetime null;
insert into bb(id,version,repeatCount,channel_id,FLEXICACHE_ID) select b.id,b.version,b.repeatCount,b.channel_id,b.FLEXICACHE_ID from bb_bak b limit 0,100000;
insert into bb(id,version,repeatCount,channel_id,FLEXICACHE_ID) select b.id,b.version,b.repeatCount,b.channel_id,b.FLEXICACHE_ID from bb_bak b limit 100000,200000;
insert IGNORE into bb(id,version,repeatCount,channel_id,FLEXICACHE_ID) select b.id,b.version,b.repeatCount,b.channel_id,b.FLEXICACHE_ID from bb_bak b limit 200000,250000;
select count(*) from bb;
TRUNCATE table bb_bak;
DROP table bb_bak;
注意上的limit是从0游标开始取100000个,不是到100000,ignore可以忽略重复key的异常,第三个insert会有重复值,这里用了ignore,则不会有问题了,select为了确保数据准确,truncate快。
分享到:
相关推荐
ALTER TABLE 表名 ADD COLUMN 字段名 数据类型 [位置]; ``` 其中,`表名`是你想要修改的表,`字段名`是你要添加的新字段的名称,`数据类型`指明新字段的数据类型(如INT, VARCHAR等),`位置`可选,用于指定字段...
SQL Server 中 Alter Table 语句的主要作用是对已经创建的表进行修改、添加、删除约束、修改表结构等操作。下面是 Alter Table 语句的一些用法: 添加约束 Alter Table 语句可以用来添加约束到已经创建的表中,...
ALTER TABLE test ADD COLUMN name VARCHAR(10); ``` 这条命令向`test`表中添加了一个名为`name`的新列,其数据类型为VARCHAR,长度为10个字符。 3. **删除表列**: ```sql ALTER TABLE test DROP COLUMN name...
- 示例:`ALTER TABLE employees ADD COLUMN age INT;` 2. **修改列** - `MODIFY [COLUMN] col_name column_definition`: 修改指定列的数据类型或属性。 - 示例:`ALTER TABLE employees MODIFY COLUMN age INT...
- **添加字段**:`ALTER TABLE table_name ADD (字段类型 数据类型)` 语句用于向现有的表中添加新的列。 - **字段类型**:新列的名称。 - **数据类型**:新列的数据类型,与修改字段时的数据类型相同。 #### ...
例如:ALTER TABLE table_name ADD COLUMN new_column integer; 2. DROP COLUMN:从表中删除一个字段。如果该字段相关的索引和表约束也会被自动删除。如果任何表之外的对象依赖于这个字段,必须使用 CASCADE。 ...
`ALTER TABLE table_name ADD column_name datatype`添加新列,`ALTER TABLE table_name DROP COLUMN column_name`删除列。`AS (alias for column)`和`AS (alias for table)`用于创建列和表的别名,方便读取和理解...
下面我们将深入探讨`ALTER TABLE`语句的基本用法以及在C#中执行这些操作的方式。 1. **ALTER TABLE 基本用法**: - **添加列**: 使用`ADD COLUMN`子句可以在表中插入新的列,例如:`ALTER TABLE 表名 ADD 新列名 ...
ALTER TABLE tb_name ADD INDEX_TYPE (column) 例如,要在 user 表的 status 字段上增加索引,可以使用以下语句: ALTER TABLE user ADD INDEX (status) 这等同于使用以下语句: CREATE INDEX_TYPE index_name ...
### IQ 16 SQL 语句应用:ALTER TABLE 基本语法 在数据库管理中,经常需要对现有的表结构进行修改以适应业务需求的变化。SQL 提供了 `ALTER TABLE` 语句来实现这一功能。本文将详细介绍 `ALTER TABLE` 语句的基本...
可以执行DML语句(INSERT、UPDATE、DELETE),DDL语句(CREATE、ALTER、DROP)以及PL/SQL块。此外,还可以用`startup`和`shutdown`命令启动或关闭数据库实例,`alter system register`命令让数据库向监听器注册。 ...
MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段、索引、主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法, MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec...
ALTER TABLE table_name ADD column_name datatype; ``` 其中,`table_name` 表示需要修改的表名,`column_name` 是新增列的名称,`datatype` 是该列的数据类型。 **示例:** 假设有一个名为 `employees` 的表,...
在Oracle数据库中,如果一个表中存在某个字段已经不再被使用或者该字段需要被替换,那么可以通过`ALTER TABLE`语句来删除该字段。这一操作会永久地从表中移除指定的列,因此在执行之前需要确保该字段的数据确实不再...
ALTER TABLE 表名 ADD [COLUMN] 新列名 数据类型; ALTER TABLE 表名 DROP COLUMN 列名; ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型; ``` 在VB6中,你可以通过DAO(Data Access Objects)或者ADO(ActiveX ...
添加单列使用`ALTER TABLE 表名 ADD 列名 数据类型`,但不支持在同一语句中修改多个列的数据类型。删除列的命令与MySQL相同,即`ALTER TABLE 表名 DROP COLUMN 列名`。SQL Server不支持在一次ALTER TABLE中同时添加...
1. **添加字段**:通过`ALTER TABLE`语句可以向已有的表中添加新的列或字段,语法如下: ```sql ALTER TABLE [表名] ADD [列名] 类型 ``` 其中,`类型`可以是INT、VARCHAR、DATE等SQL Server支持的数据类型。 2...
ALTER TABLE "table_name" ADD "new_column_name" "data_type"; ``` 比如,要向`customer`表中添加一个名为`Gender`的列,数据类型为`char(1)`,可以执行: ```sql ALTER TABLE customer ADD Gender char(1); ...
在一条`ALTER TABLE`语句中可以执行多个操作。例如,以下命令添加了一个主键、一个外键约束,并添加了一个新的字段: ```sql ALTER TABLE Books ADD PRIMARY KEY (BookID), ADD CONSTRAINT fk_1 FOREIGN KEY...
对数据库的表进行修改有如下几点 1. 列的添加,修改和删除 ...Alter table table_name drop [column column_name]|[(column1_name,column2_name,…)] [cascade constraints](多列的约束组成,用到这段语句)