天天看點

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

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)