欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中使用sql命令將時(shí)間戳解析成datetime類型存入

 更新時(shí)間:2022年11月22日 10:06:02   作者:夢(mèng)若辰宇  
這篇文章主要介紹了mysql中使用sql命令將時(shí)間戳解析成datetime類型存入,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

實(shí)現(xiàn)思路

需求

需要將本數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行處理(添加前綴),然后導(dǎo)入主數(shù)據(jù)庫(kù)。

但是當(dāng)前數(shù)據(jù)庫(kù)記錄的create_time、update_time 是bigint 類型,存放的是時(shí)間戳。eg.1646124455

而主數(shù)據(jù)庫(kù)的 create_time、update_time 是 datetime 類型的字段,所以需要將時(shí)間戳解析成時(shí)間并存放到對(duì)應(yīng)位置。

  • 給所有的表添加前綴
  • 給所有的表新增字段,用于存儲(chǔ)解析后的時(shí)間 即 datetime 類型
  • 解析時(shí)間戳字段,將解析后的時(shí)間存到對(duì)應(yīng)的字段中
  • 刪除時(shí)間戳的字段
  • 將第二步新增的字段的名稱改成create_time、update_time

一、修改庫(kù)中所有表名,添加前綴

1.sql更改表名

rename table test to test1;

2.sql一次更改多個(gè)表名

rename table `name` to name1 , tel to tel1;

3.sql生成批量執(zhí)行的語(yǔ)句

select concat('rename table ',table_name,'  to hts_',table_name,';') 
from information_schema.tables 
where TABLE_SCHEMA ="demo";

4.執(zhí)行批量生成的所有語(yǔ)句

在這里插入圖片描述

二、給庫(kù)中所有的表添加字段

1.sql給表添加字段

alter table hts_name add column create_time int;

2.sql一次給表中添加多個(gè)字段

alter table hts_user_profile 
add column (create_time_date datetime , update_time_date datetime);

3.sql生成批量執(zhí)行的語(yǔ)句

select concat('alter table ',table_name,' add column (create_time_date datetime , update_time_date datetime);') from information_schema.tables 
where table_name like'hts_%'
and TABLE_SCHEMA ="hts";

三、將時(shí)間戳解析并賦值到新的字段

1.sql將表中a字段的值解析后賦值給b字段

update hts_user_profile 
set create_time_date = FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%s');
update hts_user_profile 
set update_time_date = FROM_UNIXTIME(update_time,'%Y-%m-%d %H:%i:%s');

2.sql一次更新多個(gè)字段的數(shù)據(jù)

update hts_user_profile set 
create_time_date = FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%s'),
update_time_date = FROM_UNIXTIME(update_time,'%Y-%m-%d %H:%i:%s');

3.sql生成批量執(zhí)行的語(yǔ)句

select concat('update ',table_name,' set create_time_date = FROM_UNIXTIME(create_time,"%Y-%m-%d %H:%i:%s");') 
from information_schema.tables where table_name like'hts_%';
select concat('update ',table_name,' set update_time_date = FROM_UNIXTIME(update_time,"%Y-%m-%d %H:%i:%s");') 
from information_schema.tables where table_name like'hts_%';

四、刪除庫(kù)中所有表的某個(gè)字段

1.sql將表的某個(gè)字段刪除

alter table hts_user_profile drop column create_time;

2.sql生成批量執(zhí)行的語(yǔ)句

select concat('alter table ',table_name,' drop column create_time;') 
from information_schema.tables where table_name like'hts_%';

五、修改庫(kù)中所有表的某個(gè)字段名稱

1.sql修改表中的某個(gè)字段名稱

ALTER TABLE hts_user_profile change create_time_date create_time datetime;

2.sql一次修改表的多個(gè)字段名稱

ALTER TABLE hts_user_profile 
CHANGE create_time_date create_time datetime,
CHANGE update_time_date update_time datetime;

3.sql生成批量執(zhí)行的語(yǔ)句

select concat('alter table ',table_name,' CHANGE create_time_date create_time datetime,CHANGE update_time_date update_time datetime;') 
from information_schema.tables where table_name like'hts_%';

匯總

/*
前提:項(xiàng)目庫(kù)存在本地mysql,從庫(kù)(需要數(shù)據(jù)遷移的庫(kù))拷貝到本地?cái)?shù)據(jù)庫(kù);

1.修改所有的從庫(kù)表名,添加需要的前綴。
2.給所有的從庫(kù)表添加字段:create_time_date,update_time_date
3.將從庫(kù)所有的表讀取一遍,將時(shí)間戳轉(zhuǎn)成時(shí)間然后存在新字段中
4.刪除從表的create_time  和   update_time  字段
5.修改所有的create_time_date,update_time_date 字段名為 create_time  和   update_time
6.同步數(shù)據(jù)(可在Navicat執(zhí)行)
*/

-- 1.修改所有的從庫(kù)表名,添加需要的前綴。
select concat('alter table ',table_name,' rename to ',table_name) from information_schema.tables where table_name like'dmsck_%';

-- 2.給所有的從庫(kù)表添加字段:create_time_date,update_time_date
alter table hts_user_profile add column (create_time_date datetime , update_time_date datetime);

alter table hts_user_profile add column create_time int;

select concat('alter table ',table_name,' add column (create_time_date datetime , update_time_date datetime);') from information_schema.tables 
where table_name like'hts_%';

-- 3.將從庫(kù)所有的表讀取一遍,將時(shí)間戳轉(zhuǎn)成時(shí)間然后存在新字段中

update hts_user_profile set create_time_date = FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%s');
update hts_user_profile set update_time_date = FROM_UNIXTIME(update_time,'%Y-%m-%d %H:%i:%s');

SELECT * FROM hts_user_profile WHERE create_time != update_time;

select concat('update ',table_name,' set create_time_date = FROM_UNIXTIME(create_time,"%Y-%m-%d %H:%i:%s");') from information_schema.tables 
where table_name like'hts_%';
select concat('update ',table_name,' set update_time_date = FROM_UNIXTIME(update_time,"%Y-%m-%d %H:%i:%s");') from information_schema.tables 
where table_name like'hts_%';

-- 4.刪除從表的create_time  和   update_time  字段
alter table hts_user_profile drop column create_time;
alter table hts_user_profile drop column update_time;

select concat('alter table ',table_name,' drop column create_time;') from information_schema.tables 
where table_name like'hts_%';
select concat('alter table ',table_name,' drop column update_time;') from information_schema.tables 
where table_name like'hts_%';

-- 5.修改所有的create_time_date,update_time_date 字段名為 create_time  和   update_time

ALTER TABLE hts_user_profile CHANGE create_time_date create_time datetime,CHANGE update_time_date update_time datetime;

select concat('alter table ',table_name,' CHANGE create_time_date create_time datetime,CHANGE update_time_date update_time datetime;') from information_schema.tables 
where table_name like'hts_%';

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql 5.7.21 winx64免安裝版配置方法圖文教程

    mysql 5.7.21 winx64免安裝版配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.21 winx64免安裝版配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Navicat for MySQL 15注冊(cè)激活詳細(xì)教程

    Navicat for MySQL 15注冊(cè)激活詳細(xì)教程

    這篇文章主要介紹了Navicat for MySQL 15注冊(cè)激活詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • mysql實(shí)現(xiàn)sequence功能的代碼

    mysql實(shí)現(xiàn)sequence功能的代碼

    今天小編就為大家分享一篇關(guān)于mysql實(shí)現(xiàn)sequence功能的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySql UNION 一行轉(zhuǎn)多列的實(shí)現(xiàn)示例

    MySql UNION 一行轉(zhuǎn)多列的實(shí)現(xiàn)示例

    在MySQL命令行中,有時(shí)候我們會(huì)遇到一行的數(shù)據(jù)需要以多列的形式呈現(xiàn)的情況,本文就詳細(xì)介紹了一下一行轉(zhuǎn)多列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • MySQL常用基本SQL語(yǔ)句總結(jié)

    MySQL常用基本SQL語(yǔ)句總結(jié)

    這篇文章主要介紹了MySQL常用基本SQL語(yǔ)句總結(jié) 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報(bào)錯(cuò)問(wèn)題

    Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了Mysql添加聯(lián)合唯一索引及相同數(shù)據(jù)插入報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解mysql 中的鎖結(jié)構(gòu)

    詳解mysql 中的鎖結(jié)構(gòu)

    這篇文章主要介紹了mysql 中的鎖結(jié)構(gòu)的相關(guān)資料,幫助大家更好的理解和使用數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-10-10
  • 關(guān)于數(shù)據(jù)庫(kù)中的查詢優(yōu)化

    關(guān)于數(shù)據(jù)庫(kù)中的查詢優(yōu)化

    這篇文章主要介紹了關(guān)于數(shù)據(jù)庫(kù)中的查詢優(yōu)化,對(duì)于大型的應(yīng)用系統(tǒng),數(shù)據(jù)動(dòng)輒上百萬(wàn),就需要了解DBMS對(duì)查詢語(yǔ)句的處理過(guò)程和優(yōu)化算法,更好的利用其優(yōu)化算法,以提高系統(tǒng)的性能,需要的朋友可以參考下
    2023-07-07
  • Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)

    Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)

    MAMP從名字上也可以看出來(lái),是Mac OS的Apache+MySQL+PHP的集成環(huán)境包,本文就來(lái)簡(jiǎn)單說(shuō)一下Mac OS下PHP環(huán)境搭建及PHP操作MySQL的常用方法小結(jié).
    2016-05-05
  • 詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案

    詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案

    這篇文章主要介紹了詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案,遇到這個(gè)問(wèn)題的朋友,可以看一下。
    2016-11-11

最新評(píng)論