對于數(shù)據(jù)庫操作
注重邏輯,不必過分關(guān)心細節(jié)
快速插入多行數(shù)據(jù)的方法
INSERT
INTO 圖書(圖書號,圖書名稱,主編,出版社,單價)
select '1','數(shù)據(jù)庫5','王侃','華哥出版社',11.1
union all
select '1','數(shù)據(jù)庫0','王侃','華哥出版社',11.1
union all
select '1','數(shù)據(jù)庫11','王侃','華哥出版社',11.1;
修改一個表的列名的方法
exec sp_rename '表名.列名','新列名'
定義為unique的屬性,不能有重復(fù)的內(nèi)容,否則會報錯。對一個表的某一屬性建立唯一索引,
在插入數(shù)據(jù)時也不能對這一屬性插入內(nèi)容相同的值,當更改數(shù)據(jù)時也是同樣的。要保證其內(nèi)容的唯一性。
UNIQUE 和PRIMARY KEY 在一行中只能出現(xiàn)其中之一
UNIQUE 可以和NOT NULL一起定義一行
之前的視圖
CREATE VIEW C_P_N
AS
SELECT CUSTOMER.cno,cna,PAPER.pno,pna,num,ppr
FROM CUSTOMER,PAPER,CP
WHERE CUSTOMER .cno =CP.cno AND PAPER.pno =CP.pno
修改視圖添加新列ppr
ALTER VIEW C_P_N AS
SELECT CUSTOMER.cno,cna,PAPER.pno,PAPER.pna,num,ppr
FROM CUSTOMER,PAPER,CP
WHERE CUSTOMER .cno =CP.cno AND PAPER.pno =CP.pno
使用DISTINCT 時,若選擇自子句中有兩行或多行,則會將兩列作為一個整體,一起判斷是否有相同的兩個記錄,若有則將其多余的刪掉,只保留一個。
對于創(chuàng)建表時定義其列時要用逗號,,,。表結(jié)尾要用分號
在插入內(nèi)容時,可以不用指定列名,但要求插入定義表時的每一列的全部的內(nèi)容。
注意一個觸發(fā)器只能存在一個表內(nèi)
當把一個表中的數(shù)據(jù)刪除后,而另一個參照它的表中數(shù)據(jù)沒有刪除,有的時候需要恢復(fù)被刪表的數(shù)據(jù),就要向其中插入數(shù)據(jù),但是又會引起參照完整性,而無法刪除,則只需將參照完整性暫時關(guān)閉,
如ALTER TABLE CP NOCHECK CONSTRAINT FK__cp__pno__2A4B4B5E
其中FK__cp__pno__2A4B4B5E 為CP表的鍵位置所對應(yīng)的名稱。將其復(fù)制即可。
刪除觸發(fā)器語句,DELETE TRIGGER tf_name
數(shù)據(jù)庫中,對于group by 子句 ,當select 語句內(nèi)的內(nèi)容與group by 里面的不相同時,則不能使用,除非使用count /sum等語句
group by中沒有的列,select里面不同出現(xiàn),除非是用聚合語句
GROUP BY 語句,對兩個列進行分組時。先按第一列進行分組,然后再在第一個分組的基礎(chǔ)上對每個小分組進行分組
使用select 語句時,使用聚合函數(shù) sum avg 等,如果沒有使用group by 語句,那select語句只能由聚合函數(shù)構(gòu)成。
數(shù)據(jù)庫語句的使用方面,內(nèi)嵌視圖可能能解決一部分邏輯困難問題
|