1. 程式人生 > >sql server 資料庫開發 知識點

sql server 資料庫開發 知識點

sql server 資料庫開發

1.含義:資料庫設計實際上就是規劃和結構化資料庫中的資料物件以及這些資料物件之間關係的過程。

E-R圖組成包括:

矩形表示實體集

橢圓表示屬性

菱形表示關係

直線用來連線實體集與屬性,同時也用來連線實體集與關係

直線上的箭頭用來表示實體集之間的對映基數

2.變數

(1)區域性變數

語法:declare @變數名 變數型別[,@變數名 變數型別]

例如:declare @id char(10)
        --set @id = '10010001'

        select @id = '10010001'

(2)全域性變數

 ---必須以@@開頭

(3)IF-ELSE

--舉例:

declare @x int @y int @z int

select @x = 1 @y = 2 @z=3

if @x > @y

print 'x > y' --列印字串'x > y'

else if @y > @z

print 'y > z'

else print 'z > y'

(4)while-continue-break

--舉例:

        declare @x int @y int @c int
        select @x = 1 @y=1
        while @x < 3
                 begin
                        print @x --列印變數x 的值
                        while @y < 3
                                begin
                                        select @c = 100*@x + @y
                                        print @c --列印變數c 的值
                                        select @y = @y + 1
                                end
                        select @x = @x + 1
                          select @y = 1
                end
(5)case
 --舉例:

        use pangu
        update employee
        set e_wage =
        case
                when job_level = ’1’ then e_wage*1.08
                when job_level = ’2’ then e_wage*1.07
                when job_level = ’3’ then e_wage*1.06
                else e_wage*1.05
        end

3.批處理

可以使不在同一批處理語句中的sql語句相互不受影響,go關鍵字標誌性著批處理的結束

4.常見語法舉例

(1)select

select *(列名) from table_name(表名) where column_name operator value
        ex:(宿主)
        select * from stock_information where stockid   = str(nid)
        stockname = 'str_name' 
        stockname like '% find this %' 
        stockname like '[a-zA-Z]%' --------- ([]指定值的範圍)
        stockname like '[^F-M]%'   --------- (^排除指定範圍)
         --------- 只能在使用like關鍵字的where子句中使用萬用字元)
        or stockpath = 'stock_path'
        or stocknumber < 1000
        and stockindex = 24
        not stocksex = 'man'
        stocknumber between 20 and 100
        stocknumber in(10,20,30)
        order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
        order by 1,2 --------- by列號
        stockname = (select stockname from stock_information  where stockid  = 4)
         --------- 子查詢
        --------- 除非能確保內層select只返回一個行的值,
        --------- 否則應在外層where子句中用一個in限定符
        select distinct column_name form table_name --------- distinct指定檢索獨有的列值,不重複
        select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
        select stockname , "stocknumber" = count(*) from table_name group by stockname
                                      --------- group by 將表按行分組,指定列中有相同的值
                 having count(*) = 2  ---------  having選定指定的組
        
        select * 
        from table1, table2                  
        where table1.id *= table2.id -------- 左外部連線,table1中有的而table2中沒有得以null表示
        table1.id =* table2.id -------- 右外部連線

        select stockname from table1
        union [all]  -----  union合併查詢結果集,all-保留重複行
        select stockname from table2

(2)insert

insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
                value (select Stockname , Stocknumber from Stock_table2)---value為select語句

(3)update

 update table_name set Stockname = "xxx" [where Stockid = 3]
                Stockname = default
                Stockname = null
                Stocknumber = Stockname + 4

(4)delete

delete from table_name where Stockid = 3
        truncate table_name ----------- 刪除表中所有行,仍保持表的完整性
        drop table table_name --------------- 完全刪除表

常用總彙

 1.開頭到N條記錄

        Select Top N * From 表

      2. N到M條記錄(要有主索引ID)

        Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID Desc

  3.N到結尾記錄

        Select Top N * From 表 Order by ID Desc

        4 如何修改資料庫的名稱

        sp_renamedb 'old_name', 'new_name'

        5 獲取當前資料庫中的所有使用者表

        select Name from sysobjects where xtype='u' and status>=0

        或者:

        select   *   from   information_schema.tables

        6 獲取某一個表的所有欄位

        select name from syscolumns where id=object_id('表名')

        7 檢視與某一個表相關的檢視、儲存過程、函式

        select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

       8 檢視當前資料庫中所有儲存過程

        select name as 儲存過程名稱 from sysobjects where xtype='P'

        9 查詢使用者建立的所有資料庫

        select * from master..sysdatabases D 
                where sid not in(select sid from master..syslogins where name='sa')

        或者

        select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

        10 查詢某一個表的欄位和資料型別

        select column_name,data_type from information_schema.columns
        where table_name = '表名' 

       11 判斷一個表是否存在
 
        if   exists(select   1   from   sysobjects   where   name='要判斷的表名'   and   xtype='U')   
                print   '在'   
        else     
                print   '不在'   

         或者
 
        if   objectproperty(object_id('要判斷的表名'),'isusertable')   is   null   
                print   '無此表'   
                else   
        print   '有此表'

12 建立一個表和兩個欄位,並指定其中一個欄位為自增的關鍵字

CREATE TABLE '+ @TABLENAME + ' (tableID BigInt identity(1,1) primary key,myUserID BigInt)'

相關推薦

sql server 資料庫開發 知識點

sql server 資料庫開發1.含義:資料庫設計實際上就是規劃和結構化資料庫中的資料物件以及這些資料物件之間關係的過程。E-R圖組成包括:矩形表示實體集橢圓表示屬性菱形表示關係直線用來連線實體集與屬性,同時也用來連線實體集與關係直線上的箭頭用來表示實體集之間的對映基數2.

SQL Server資料庫開發(6.儲存過程)

一、儲存過程(procedure) 1.定義:用來執行管理業務或應用複雜的業務規則 儲存過程可以帶引數,也可以返回結果。 2.儲存過程可以包含資料操縱語句、變數、邏輯控制語句 3.儲存過程的優點: 3.1允許模組化程式設計 一次建立多次使用,並可獨立於原始碼而單獨

SQL Server資料庫開發(5.事務和遊標)

一、事務 1.1事務:是有若干個T-SQL指令組成,並且所有的指令作為一個整體提交給資料庫系統,執行時,這這組指令要麼全部完成,要麼全部撤銷。因此,事務是一個不可分割的邏輯單元。 事務必須具有四個屬性:原子性、一致性、隔離性、永續性(也稱為事務的額ACID屬性) 1.2事務的模式(

SQL Server資料庫開發(4.索引和檢視)

一、索引 定義:是資料表中資料和相應儲存位置的列表。 作用:可以提高在表或檢視中查詢資料的速度。 1.分類:聚集索引,非聚集索引 聚集索引:指表中資料行的物理儲存順序與索引順序完全相同。 非聚集索引:不該表表中資料行的物理儲存位置,資料與索引分開儲存,通過索引指向的地址與表中的資

SQL Server資料庫開發(3.SQL高階查詢)

一,巢狀子查詢         降低SQL語句的複雜度,提高SQL語句的可讀性 --子查詢作為條件  (where) --查詢王五前面的同學 select * from StuInfo where stuid < (select stu

SQL Server資料庫開發(2.T-Sql程式設計)

一,批處理(GO)         --可以使不在同一批處理中的sql語句相互之間不受影響          --把相互聯絡的放在同一批次,沒聯絡的放在不同批次

SQL Server資料庫開發(1.資料庫設計)

一、E-R圖   實體:可以用我們已知的“物件”去理解,若干個具有共同特性的的實體稱為”實體集”。符號:矩形。   屬性:它是一個數據,它的表現為某個實體的一個特徵,實體包含其作為“成員資料”。符號:橢圓形。   關係:實體有大有小,某些實體的存在是建立在另

Sql Server資料庫開發(1)資料庫設計

1.瞭解E-R圖 E-R圖是一種廣泛使用的設計工具,主要用來表示事物、事物的資料和期間的關係資訊。 E-R圖中資訊的三種形式: 1)實體:就是一種物件,若干個具有共同特徵的實體被稱為實體集,實體一般使用名詞。 2)屬性:用來表現實體特徵的一個數據,屬性一般使用

Sql Server資料庫開發(5)事物和遊標

1.瞭解事物 事務(是一個不可分割的工作邏輯單元) - 是由若干條T-SQL指令組成的作為單個邏輯過左單元執行的一系列操作,這些操作作為一個整體一起向系統提交,全部執行完成,要麼全部撤銷。 事務的四個特性(簡稱ACID):原子性、一致性、隔離性、永久性

【學習記錄】第一章 資料庫設計-《SQL Server資料庫設計和開發基礎篇視訊課程》

一、課程筆記 1.1  軟體開發週期   (1)需求分析階段   分析客戶的業務和資料處理需求。 (2)概要設計階段   設計資料庫的E-R模型圖,確認需求資訊的正確和完整。 /*   E-R圖:實體-關係圖(Entity Relationship Diagram),提供了

Sql server資料庫連線Oracle庫的步驟

本地使用環境 作業系統: win10 64  ,SQL Server 2012 ,Oracle  Server 11g 第一步:安裝好oracle客戶端,並配置好TNS資訊 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = T

SQL Server資料庫基礎

建庫建表: if DB_id('TicketManager ')is not null --判斷資料庫是否已經存在 drop database TicketManager --移除已經存在的資料庫 go create database TicketManager --新建資料庫 on (

SQL Server資料庫mdf檔案中了勒索病毒.sicck。副檔名變為sicck

SQL Server資料庫mdf檔案中了勒索病毒sicck。副檔名變為sicck SQL,資料庫,勒索病毒,mdf檔案中毒,sicck 副檔名如下: [[email protected]]***.mdf.sicck [[email protected]]***.ldf.sicck

Sql Server資料庫資料恢復成功案例

故障描述: 5塊2T硬碟組建RAID5,劃分LUN供windows伺服器使用。在windows伺服器內裝有Sql Server2008資料庫。儲存空間內共有三個邏輯分割槽,大小分別為500G、800G、2.3T。資料庫檔案丟失,主要涉及五個資料庫,表個數約為6000個左右。丟失原因未知,且不能確

SQL Server資料庫mdf檔案中了勒索病毒Goat4444。副檔名變為Goat4444

SQL,資料庫,勒索病毒,mdf檔案中毒,Rooster4444 *SQL Server資料庫mdf檔案中了勒索病毒.mdf.Rooster4444。副檔名變為Rooster4444 SQL Server資料庫mdf檔案中了勒索病毒Rooster4444。副檔名變為Rooster4444 常見的副檔名如

SQL Server資料庫mdf檔案中了勒索病毒no_more_ransom。副檔名變為no_more_ransom

SQL,資料庫,勒索病毒,mdf檔案中毒,no_more_ransom  SQL Server資料庫mdf檔案中了勒索病毒.mdf.no_more_ransom。副檔名變為no_more_ransom SQL Server資料庫mdf檔案中了勒索病毒no_more_ransom。副

SQL Server資料庫mdf檔案中了勒索病毒[email p

SQL,資料庫,勒索病毒,mdf檔案中毒,[email protected]_email *SQL Server資料庫mdf檔案中了勒索病毒[email protected]_email。副檔名變為[email protected]_email SQL Serv

SQL Server資料庫mdf檔案中了勒索病毒Rat4444 。副檔名變為Rat4444

SQL,資料庫,勒索病毒,mdf檔案中毒,Rat4444 *SQL Server資料庫mdf檔案中了勒索病毒.mdf.Rat4444。副檔名變為Rat4444 SQL Server資料庫mdf檔案中了勒索病毒Rat4444。副檔名變為Rat4444 常見的副檔名如下:.ALCO .BIP .COMBO

SQL Server資料庫log shipping 災備

https://www.cnblogs.com/Aldj/p/8605163.html SQL Server資料庫log shipping 災備(Part1 ) 1.概述Log Shipping為SQL Server提供的資料庫備份過程。它可以將資料庫整個複製到另一臺伺服器上。在這種情況下,交易日誌也會定

SQL Server資料庫級別觸發器

禁止修改表結構和加表  CREATE TRIGGER [Object_Change_Trigger_DDL] ON DATABASE FOR ALTER_TABLE,DROP_TABLE,CREATE_TABLE,CREATE_INDEX,ALTER_INDEX