資料庫操作的乙個坑和筆記

2022-05-07 16:06:12 字數 1313 閱讀 2379

1.新建了乙個資料庫表,把excel**的資料匯入進來,全部都是普通字段,沒有主鍵,全部允許為空。然後我加入了乙個date_key列。想要往裡面填入資料,int型的。結果有的順利的手動輸入成功了。有的就報錯,如下第二張截圖所示。查了有兩三天,沒有搞定。本來我是想用sql語句進行判斷更新記錄的,結果沒有查到合適的sql語句,後來無奈放棄決定手動輸入,結果還更新不了——氣不氣?!!今天晚上終於知道了原因!

首先是設定。

然後看一下這個部落格鏈結,看到這個之後我又看了看資料,發現我的excel**資料是有重複的,重複的資料在更新的時候,就改變不了。

所以我明白了加入id作為主鍵——其實就是序號的重要性。其實這也自動讓我發現了重複的資料。重複的資料是無用的。

alter

table 表名 add 列名 int

identity(1,1) not

null

這裡用到了identity關鍵字:indentity(a,b),a b均為正整數,a表示開始數,b表示步長,indentity(1,1)就代表從1開始,每次增加1 

這樣之後就可以編輯那些null的字段,並且可以儲存成功了。id列刪除也可以,我後來沒有刪除。

2.新學到的sql語句

//新增字段

alter

table test add "年份" varchar(20

)alter

table test add "月份" varchar(20

)alter

table test add "日子" varchar(20

)select

*from

test

//將新增的字段填入年、月、日;begindate是日期date格式的資料。最終結果如上圖1所示。

update test set "年份"=

year

(begindate)

update test set "月份"=

month

(begindate)

update test set "日子"=

day(begindate)

資料庫建表的乙個坑

今天在預生產環境配置環境的時候出現了個問題,就是我乙個查詢sql竟然花了17秒,這是乙個嚴重的問題.本來以為是環境的問題,後來發現環境沒問題,那就是我的sql有問題,初步認為是沒有走索引.我把控制台 列印的sql放到預生產環境中直接執行,果然花了10多秒.執行了sql計畫發現確實沒有走索引,但是測試...

乙個小的資料庫操作命令

replace str,from str,to str 其中 str 代表具體的字段,from str 為待替換的值,to str 為替換後的新值。如 要將 table1 中 state 列 values 值由 1 換為 2 replace table1 set state replace stat...

了解乙個A 資料庫的資料

查詢最大的資料表資料樣本 通過expdp,發現匯出的最大表,並進行相應查詢 檢視最大的表的資料案例 將table name替換為最大的表的表名 查詢前100行,了解資料樣本格式 查詢表的資料行數 select count 1 from all tables where owner 327 查詢最大表...