MYSQL SQL程式設計實現

pcsh發表於2010-09-01

需求:

1.實現上個月的資料全部匯入到這個月,並且時間要相應進行調整,即2010-08-10 10:10:11 轉化為2010-09-10 10:10:11;

2.如何實現匯入效率最高(表有20個欄位左右,記錄將近30W);

3.如何修改某張表的流水號,讓其重新排列,或讓某幾行的流水號按我們想要的編號進行排列,相當於讓其中幾行的行順序對調。

[@more@]

簡單思路:
1.
複製表操作:
create table tbl1 as select * from tbl2;
按兩個月相差天數計算:
select date_add(@dt,interval 31 day);
按兩個月相差月數計算:
select date_add(@dt,interval 1 month);
轉換為數值型:
select unix_timestamp(date_add(@dt,interval 1 month));
update tbl1 set dt=date_add(@dt,interval 1 month);
按相差秒數來計算:
+---------------------------------------+
| unix_timestamp('2010-07-16 10:10:10') |
+---------------------------------------+
| 1279246210 |
+---------------------------------------+
1 row in set (0.22 sec)

mysql> select unix_timestamp('2010-08-16 10:10:10');
+---------------------------------------+
| unix_timestamp('2010-08-16 10:10:10') |
+---------------------------------------+
| 1281924610 |
+---------------------------------------+
1 row in set (0.00 sec)

mysql> select (1281924610- 1279246210);
+--------------------------+
| (1281924610- 1279246210) |
+--------------------------+
| 2678400 |
+--------------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1279246210+2678400);
+-----------------------------------+
| from_unixtime(1279246210+2678400) |
+-----------------------------------+
| 2010-08-16 10:10:10 |
+-----------------------------------+
1 row in set (0.00 sec)

mysql>

注意:以下匯出方式是匯入到伺服器機器上的目錄而非本地客戶端的目錄中

mysql> select tablename into outfile 'c:c.txt' from dbaudit_index;
ERROR 1086 (HY000): File 'c:c.txt' already exists
mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> notee
Outfile disabled.
mysql> select tablename into outfile 'c:/d.txt' from dbaudit_index;
Query OK, 14 rows affected (0.00 sec)

mysql> select tablename into outfile 'c:e.txt' from dbaudit_index;
Query OK, 14 rows affected (0.00 sec)

mysql> exit
Bye

匯出一張表。欄位以|分隔並用"括起來

mysql> select tablename from dbaudit_index into outfile 'c:f.txt' fields termi
nated by '|' enclosed by '"';
Query OK, 14 rows affected (0.02 sec)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13442480/viewspace-1037687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章