資料庫指令碼總結心路歷程

2021-08-19 00:16:09 字數 2175 閱讀 9082

資料庫指令碼

啊最近由於老版**改版,改了些需求,改了改資料庫。所以,要用資料庫指令碼修改資料庫資料。主要是要將原來以varchar形式存的時間戳改為datetime型別,且為自動賦值以當前時間。經過一番磨難,最後成果如下。

$servername 

= "localhost"

;$username

= "root"

;$password

= ""

;$dbname

= "psych"

;//選擇資料庫

$table

= 'users1'

;

首先肯定是要先連線資料庫啦。dbname為資料庫的名字。table就是要修改的表。如果要同時修改多個表的話,可以給table變數賦乙個一維陣列。不過以上只是一些基礎準備。php7.0彷彿之前的mysql函式不能用了,所有要用mysqli物件來連線資料庫。如下圖。

$mysqli 

=newmysqli(

$servername

, $username

, $password

, $dbname);

if(!

$mysqli

)

執行 php sql.php命令,如果沒有報錯的話,就已經成功連線啦。

然後如果只是單純的修改變數的話,只需要下面的**。

$change_sql 

= "alter table "

.$table[$x

]." change "

.$name

." "

.$name

." datetime default current_timestamp "

;$change

= $mysqli

->

query

($change_sql);

if(!

$change

)

其中需要注意的是,如果要在sql語句中加入乙個變數。如果是上圖這樣的,那在變數外加上「. $i .」就可以。但如果是下圖這樣。

$sql 

= "update "

.$table[$x

]." set "

.$name

."='"

.$time

."' where id='"

.$id

."'"

;$res

= $mysqli

->

query

($sql

);

在 where id = 後賦變數,則需要用『」. $i .」』來括起來。不過我也不是很確定啊,具體情況具體分析啦…

但是如果設計到了修改原有資料列,而且這一列本來就有資料時,就要複雜點啦。因為如果簡單的將varchar改為datetime的話,原有的資料就都清空了。所以要加一些其他的步驟。

$result_sql 

= "select id,uploadtime from "

. $table[$x

] .

"";

$result 

= $mysqli

->

query

($result_sql

);

首先用這幾行**,取出需要改變的那一列的原有資料。當然,如果要修改許多資料表的話,可以加乙個while迴圈。

while(

$row

= $result

->

fetch_array

())

然後用這個將取出的資料處理為陣列的形式,方便處理。

$count 

= count(

$arr

);

用這個函式計算該陣列的條數。

$j = 0;

while(

$j <

$count)$x

++;}

然後通過while迴圈來處理資料。進行更新。

如果這樣執行還是不對,那就把改資料列中的資料在修改完型別後,把後來的資料處理為空(因為可能會有自動更新的資料),然後再進行更改。

2019 總結 CSP2019 賽場心路歷程

目錄 前言 賽場狀態回顧 day1 t1 格雷碼 t2 括號樹 t3 樹上的數 day2 t1 家今天的飯 t2 and t3 總結與反思 總之,繼續加油努力!為什麼這次考得那麼難aaaaa!明明前幾年都比較正常的qaq 內心 rhwhdou w 剛進考場發現大家都在 猛敲鍵盤 於是我也利用上這點時...

小白用vue寫專案的心路歷程,前後端資料互動篇

const path require path module.exports 主要看 api 物件中的值,target寫上要傳送資料的目標url,相信大家也看到了兩個相同的值,下邊那個是可以讓你在呼叫axios的時候省去 這段 直接寫介面名 這個還是比較方便的。changeorigin 是控制是否跨...

資料庫指令碼

資料庫的建立 create database student 資料庫名 containment none onprimary name n student 主資料檔案的邏輯名稱 filename n c datalibrary student.mdf 主資料檔案的物理名稱 size 5120kb 主...