1. 程式人生 > >資料庫程式碼總結

資料庫程式碼總結

有關資料庫的程式碼內容

建立資料庫:

CREATE DATABASE 教務管理系統

On

‘ 資料庫名稱

‘儲存位置

‘初始大小

‘最大的值(預設是沒有最大值)

‘檔案增長的速率或大小

LOG ON

(


NAME=教務管理系統_LOG,

FILENAME='E:\教務管理系統_LOG.ldf',

SIZE=2MB

MAXSIZE=10MB

FILEGROWTH=1MB

)

查詢資料庫的狀態:

 Sp_helpdb

查詢指定資料庫的狀態:

Select DATABASEPROPERTYEX('教務管理系統','Recovery')

'(DATABASEPROPERTYEX)是一個函式

修改資料庫(名稱)

ALTER DATABASE 學校教務管理系統 MODIFY NAME=教務管理系統

刪除資料庫

PS:刪除注意名稱和系統自帶名稱重名

DROP DATABASE 教務管理系統

                                                                    有關表的內容

建立表:

CREATE TABLE 表名

(

   員工編號 int IDENTITY,

    員工姓名  nvarchar(10) null,
    ....
   )

建立臨時表:

create table #表名

(

     ID int  not null,

     name nvarchar(10) null,

    ...

)

查詢臨時表

SELECT *FROM #表名

修改表名

Ecec sp_rename ‘員工資訊_1’,‘新員工資訊’

新增列

alter table 表名

add 新列名  int  null

修改表中列的資訊:

alter table 表名

alter Column 列名  int(或改為smallint) null

刪除表中的列

alter table 表名

drop column 列名

建立規則:—如考試分數只能在100分以內

create rule 規則名

as

@value 式子(between 0 and 100)

規則繫結到指定表的列:

create rule 規則名

as

@value 式子(between 0 and 100)

sp_bindrule 規則名,'表名.列名'

接觸和刪除規則:

(刪除時,先解除資料中規則的繫結)

create rule 規則名

as

@value between 0 and 100              ---規則內容

sp_bindrule 規則名,‘表名.列名’        ----繫結規則
sp_unbindrule '表名.列名'          ----解除繫結
drop rule 規則名                  -----刪除規則

建立檢視

create view 檢視名
as
        select a.姓名,a.性別,a.民族,a.家庭住址,B.班級名
        from 學生資訊 a,班級資訊 B 
        where a.所屬班級=B.班級編號(兩個列聯絡)

在這裡插入圖片描述

修改和刪除檢視

  alter view 檢視名
  as
		Select a.學號,a.姓名,b.班級名,c.姓名 as 輔導員            ‘ 多個姓名出現用as調整一下
		From 學生資訊 a,join 班級資訊 b
		On a.所屬班級=b.班級編號
		Join 輔導員資訊 c
		On c.輔導員資訊=b.輔導員  

在這裡插入圖片描述

	刪除檢視
	DROP VIEW  V_studentInfo

通過檢視修改資料:(新增資訊)

Select * from v_stu
		Insert into v_stu
		Values('2009101005','李菲','女','1986')

建立索引

create nonclustered index 索引名
on 表名(列名)

刪除索引

Drop index 表名.索引名(代表著一個列名)

建立架構

Create schema 架構名 AUTHORIZATION teacher          ‘teacher 為所有者

查詢語句

  • select 列名 from 表名 where 條件

  • select 列名as新列名 from 表名 where 條件

  • select distinct 列名 from 表名 ----消除相同資訊

在這裡插入圖片描述

  • select * from 表名 where 資料 LIKE ‘資料中含有的字%’ (萬用字元)

在這裡插入圖片描述

  • select 列名 from 表名 where 條件 and 條件 (兩個條件查詢)

  • select 列名 from 表名 where 條件 or 條件 (符合一個條件就OK)

  • select 列名 from 表名 where 條件 and 條件 order by 列名 ASE(升序)【DESC(降序)】

  • select AVG(列名) as 新列名 from 表名 where 條件 —(avg沒有列名)

  • select 列名 from 表名 where 條件 GROUP BY 列名 (對條件進行分組)

  • select 列名 from 表名 where 條件 GROUP BY rollup列名

在這裡插入圖片描述

  • select 列名 form 表名 GROUP BY 列名,列名 (對兩個列名進行分組)

在這裡插入圖片描述 在這裡插入圖片描述在這裡插入圖片描述

  • select MAX(列名) from 表名 where 條件 —(最大值,也可求小值,平均值)

  • select top 3 【percent百分比/with ties 資料相同的都顯示】列名 from 表名 where 條件 —(得出前三名的資訊)

HAVING 語句

找到平均分>=90分以上的資料 在這裡插入圖片描述

插入資訊(單個表中)

在本資料庫環境下新建查詢

  • INSERT INTO 表名 VALUES(’資訊’,’資訊’)

    ‘按順序填入資訊,注意不能為空的資料必須寫

  • INSERT INTO 表名(列名)VALUES (’資訊’,’資訊’) 指定資訊插入 '插入的資訊為列名的順序

  • select * from 表名 where 條件(刪選條件) 將一個表刪選後的資訊插入到另外一個表中 INSERT 被插入表名

  • select * into #臨時表名 將資料刪選後插入到臨時表中 from 表名 where 條件

update語句

按照條件查詢到的列名中按照修改內容修改資訊

  • select 列名 from 表名 update 表名 set 修改內容,修改內容 where 條件

在這裡插入圖片描述

  • select 列名 from 表名1 update 表名1 set 修改條件 from 表名1 join 表名2 on 兩表之間相關的列名 where 條件

在這裡插入圖片描述

COMPUTE語句

  • select 列名 from 表名 where 條件 compute sum(列名),avg(列名)

在這裡插入圖片描述

在where語句中運用運算子

  • select 列名 from 表名 where 考試編號=‘0802’ AND (分數 between 90 and 95)【分數%5=0/分數 in(80,90,87)】 (對分數進行約束)

建立表的基本連線

  • select 列名 from 表名 where 表A.列名=表B.列名(相同聯絡的列名)

內連線:條件全部符合顯示資料

select 列名 from 表名A inner jion 表名 B on 表A.列名=表B.列名 where

外連線:左右外連線,分主從表(條件不需要都符合) 左外連線:

select 列名 from 表名A LEFT OUTER jion 表名 B on 表A.列名=表B.列名 where

在這裡插入圖片描述

右外連線:RIGHT OUTER join 在這裡插入圖片描述

全連線: FULL OUTER join 在這裡插入圖片描述 交叉連線: CROSS JOIN 在這裡插入圖片描述

聯合查詢:

UNION 在這裡插入圖片描述

語句:

IF語句

IF 布林表示式(true或false)
BEGIN
語句塊
END
else
語句塊
If
BEGIN
	If
	…
	ELSE IF
	…
	ELSE IF
           …
END
ELSE
…

case語句

case 列名
when '資訊' then '資訊'
when '經理' then '高階職稱'
else '其他職稱'
end 

while語句

While 條件
BEGIN
…
…
END

儲存過程

建立儲存過程

Create procedure 過程名
AS
查詢語句

呼叫儲存過程

Exec 過程名 條件

更改儲存過程

create proc 過程名
as
update 表名 set 修改的內容 where 條件

修改儲存過程

ALTER procedure 過程名
as
select 列名 from 表名 where 條件

刪除儲存過程

drop proc 過程名