日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → MS Sql server 2008基礎(chǔ)知識(shí)詳細(xì)介紹

      MS Sql server 2008基礎(chǔ)知識(shí)詳細(xì)介紹

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/1/22 11:38:41字體大小:A-A+

      作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: Sqlserver2008

      • 類型:數(shù)據(jù)庫(kù)類大小:10.5M語(yǔ)言:中文 評(píng)分:1.4
      • 標(biāo)簽:
      立即下載

      數(shù)據(jù)庫(kù)中常用的概念

      Sql本身是一個(gè)服務(wù)器,沒(méi)有界面,Management Studio  只是一個(gè)sql server管理工具而已,不是服務(wù)器。

      Sql server 在管理工具下面的服務(wù)SQL Server (MSSQLSERVER) 

      主鍵:就是唯一定位的一條數(shù)據(jù)的列。不會(huì)有重復(fù)的列才能當(dāng)主鍵, 一個(gè)表可以沒(méi)有主鍵,但是會(huì)非常難以處理,因此建議都要設(shè)主鍵。

      兩種主鍵:

      業(yè)務(wù)主鍵:使用有業(yè)務(wù)意義的字段做主鍵,如身份證號(hào)、職工編號(hào)。

      邏輯主鍵:使用任何沒(méi)有意義的字段做主鍵,完全給程序看的。推薦用邏輯主鍵

      常識(shí):

      1、sql語(yǔ)句中字符串是用單引號(hào)

      2、 sql語(yǔ)句大小寫不敏感的。

      PSE: collapse" cellspacing="0" cellpadding="0" border="1">
      分類備注和說(shuō)明類型說(shuō)明
      二進(jìn)制數(shù)據(jù)類型存儲(chǔ)非子符和文本的數(shù)據(jù)Image可用來(lái)存儲(chǔ)圖像
      文本數(shù)據(jù)類型字符數(shù)據(jù)包括任意字母、符號(hào)或數(shù)字字符的組合Char固定長(zhǎng)度的非 Unicode 字符數(shù)據(jù)
      Varchar可變長(zhǎng)度非 Unicode 數(shù)據(jù)
      Nchar固定長(zhǎng)度的 Unicode 數(shù)據(jù)
      Nvarchar可變長(zhǎng)度 Unicode 數(shù)據(jù)
      Text存儲(chǔ)長(zhǎng)文本信息(指針,2G)
      保存的是字節(jié)數(shù)據(jù)
      Ntext存儲(chǔ)可變長(zhǎng)度的長(zhǎng)文本
      日期和時(shí)間日期和時(shí)間在單引號(hào)內(nèi)輸入Datetime日期和時(shí)間
      數(shù)字?jǐn)?shù)據(jù)該數(shù)據(jù)僅包含數(shù)字,包括正數(shù)、負(fù)數(shù)以及分?jǐn)?shù)int
      smallint
      整數(shù)
      float
      real
      數(shù)字
      貨幣數(shù)據(jù)類型用于十進(jìn)制貨幣值Money 
      Bit數(shù)據(jù)類型表示是/否的數(shù)據(jù)Bit存儲(chǔ)布爾數(shù)據(jù)類型

      Guid 算法是一種可以產(chǎn)生唯一標(biāo)識(shí)的高效算法,它使用網(wǎng)卡MAC、地址、納秒級(jí)時(shí)間、芯片ID碼等算出來(lái)的,這樣保證每次生成的GUID永遠(yuǎn)不會(huì)重復(fù),無(wú)論是同一個(gè)計(jì)算機(jī)上還是不同的計(jì)算機(jī)。/

      數(shù)據(jù)庫(kù)的類型uniqueidentifier

      SQLServer中生成GUID的函數(shù)newid(),.Net中生成Guid的方法:Guid.NewGuid()

      use 數(shù)據(jù)庫(kù)名,打開該數(shù)據(jù)庫(kù),有時(shí)候在新建查詢時(shí)沒(méi)選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù),所以用這條語(yǔ)句。或者手動(dòng)選擇該數(shù)據(jù)庫(kù)

      Insert語(yǔ)句可以省略表名后的列名,但是不推薦

      如果插入的行中有些字段的值不確定,那么Insert的時(shí)候不指定那些列即可。

      當(dāng)不提供字段名時(shí),插入值需要加入默認(rèn)值defaulf 也就默認(rèn)值用defaulf表示

      插入數(shù)據(jù)  insert  into 表名 (字段名) values  (值)

      例:insert into student ([name],age,sex,birthday) values ('張三',21,1,1995-02-26)

      字段與值一一對(duì)應(yīng)

      1. 新建一個(gè)表

      語(yǔ)法:create table 表名 (字段1 類型1,字段2 類型2,……)

      添加主鍵 primart key (字段)

      例:

          CREATE TABLE T_Employee     --創(chuàng)建一個(gè)表表名是T_Employee

          (FNumber VARCHAR(20),   --字段 類型

          FName VARCHAR(20),

          FAge INT,

          FSalary NUMERIC(10,2),

          PRIMARY KEY (FNumber)); -- 設(shè)置主鍵

      2. 刪除整個(gè)表:Drop Table 表名

      更新

      語(yǔ)法:update Table set col=value,col2=value2 where ...

      update 表名 set 字段 = 值,字段2 = 值2 where 條件

      更新一個(gè)列:UPDATE T_Person Set Age=30

      更新多個(gè)列:UPDATE T_Person Set Age=30,Name=‘tom’

      更新一部分?jǐn)?shù)據(jù): UPDATE T_Person Set Age=30 where Name=‘tom’,用where語(yǔ)句表示只更新Name是’tom’的行,注意SQL中等于判斷用單個(gè)=,而不是==

      Where中還可以使用復(fù)雜的邏輯判斷UPDATE T_Person Set Age=30 where Name=‘tom’ or Age<25,or相當(dāng)于C#中的||(或者)

      update Person1 set NickName=N'二十歲'  在字符前面加上N代表使用Unicode編號(hào)

      where (Age>20 and Age<30) or(Age=80)

      Where中可以使用的其他邏輯運(yùn)算符:or(或)、and(與)、not(非)、<、>、>=、<=、!=(或<>)等

      3. 修改表

             添加字段

      語(yǔ)法:alter  table 表名 add 字段 類型

      例:ALTER TABLE T_Employee ADD FSubCompany VARCHAR(20);

      4. 刪除

      語(yǔ)法:delete [from] Table where col=data

               delete [from] 表名 價(jià)目where 條件

      刪除表中全部數(shù)據(jù):delete from 表名

      Delete只是刪除數(shù)據(jù),表還在,和Drop Table不同。

      Delete 也可以帶where子句來(lái)刪除一部分?jǐn)?shù)據(jù):DELETE FROM T_Person WHERE FAge > 20

      刪除表中全部的數(shù)據(jù)

      1、  Delete 表名  刪除之后的id繼續(xù)上一次的值后。

      2、runcate Table 表名  同時(shí)還原標(biāo)識(shí) 也就是說(shuō)設(shè)置默認(rèn)的id從1開始

      5. 檢索

      語(yǔ)法: select col,col2[,*] from Table where ...

                  Select 字段 from 表名 where 條件

      簡(jiǎn)單的數(shù)據(jù)檢索 :SELECT * FROM表名

      只檢索需要的列 :SELECT 字段 表名

      列別名:SELECT FNumber AS 編號(hào),FName AS 姓名,FAge AS Age111 FROM T_Employee

      使用where檢索符合條件的數(shù)據(jù):SELECT 字段 FROM 表名 WHERE 條件。故事:新員工的數(shù)據(jù)檢索噩夢(mèng)。

      還可以檢索不與任何表關(guān)聯(lián)的數(shù)據(jù):select 1+1;select newid();select getdate();

      6. 函數(shù)

      1、   聚合函數(shù)

      最大值 MAX(字段)

      最小值 MIN(字段)

      平均值 AVG (字段)

      求和   SUM (字段)

      數(shù)量  COUNT(*)

      2、   數(shù)字函數(shù)

      執(zhí)行備注中的代碼

        ABS() :求絕對(duì)值。

      CEILING():舍入到最大整數(shù) 。3.33將被舍入為4、2.89將被舍入為3、-3.61將被舍入為-3。 Ceiling→天花板

      FLOOR():舍入到最小整數(shù)。3.33將被舍入為3、2.89將被舍入為2、-3.61將被舍入為-4。 Floor→地板。

      ROUND():四舍五入。舍入到“離我半徑最近的數(shù)” 。Round→“半徑”。例:Round(3.1425,2)。

      解釋:3.1425是在四舍五入的值,2是精確的位數(shù)

      3、   字符串函數(shù)

      LEN() :計(jì)算字符串長(zhǎng)度   求字符

      DATALENGTH(): 計(jì)算字節(jié)長(zhǎng)度  求字節(jié)  一個(gè)漢字兩個(gè)字節(jié)

                           例:

                           select len('123是數(shù)字') --字符

      select datalength('123是數(shù)字') --字節(jié)

             注意:text類型保存的是字節(jié)數(shù)據(jù),所以不能用len()

      LOWER():  轉(zhuǎn)小寫

      UPPER () :轉(zhuǎn)大寫

      LTRIM():  字符串左側(cè)的空格去掉

      RTRIM () :字符串右側(cè)的空格去掉

                     例:LTRIM(RTRIM('         bb        '))

      SUBSTRING(string,start_position,length)

      參數(shù):string為主字符串,

      start_position為子字符串在主字符串中的起始位置,從1開始

      length為子字符串的最大長(zhǎng)度。

      例:SELECT  SUBSTRING('abcdef111',2,3)

      4、   日期函數(shù)

      GETDATE() :取得當(dāng)前日期時(shí)間

      DATEADD (datepart , number, date ),計(jì)算當(dāng)前的時(shí)間前或后

      參數(shù):datepart 計(jì)量單位  值:year、month、day

      number 增量 正數(shù)是后,負(fù)數(shù)是前

      date 日期

                                  例:--獲得當(dāng)前日期前年的時(shí)間

      select dateadd(month,1,getdate())

      DATEDIFF ( datepart , startdate , enddate ) :計(jì)算兩個(gè)日期之間的差額。 參數(shù):datepart  計(jì)量單位

        startdate  起始日期

       enddate  結(jié)束日期

      例:統(tǒng)計(jì)不同工齡的員工的個(gè)數(shù):

      select DateDiff(year,FInDate,getdate()),count(*) from T_Employee group by DateDiff(year,FInDate,getdate())

      DATEPART (datepart,date):返回一個(gè)日期的特定部分

      參數(shù):datepart  計(jì)量單位

               date   日期

      統(tǒng)計(jì)員工的入職年份個(gè)數(shù):

      select DatePart(year,FInDate),count(*) from T_Employee

      group by DatePart(year,FInDate)

      5、   類型轉(zhuǎn)換函數(shù)

      CAST ( expression AS data_type)

      參數(shù):expression 要轉(zhuǎn)換的值

       data_type  要轉(zhuǎn)換的類型

      例:select cast(right('abc2011-02-24',10) as datetime)

      CONVERT ( data_type, expression)

      參數(shù):expression 要轉(zhuǎn)換的值

       data_type  要轉(zhuǎn)換的類型

      例:select convert(datetime,right('2012-11-24',10))

      6、空值處理函數(shù)

      ISNULL(expression,value) :

      參數(shù):如果expression值為null,剛返回value的值

      7、   CASE函數(shù)

      單值判斷,相當(dāng)于switch case

      例:select fsalary, case 

             when fsalary < 4500 then '初級(jí)'

             when fsalary < 8000 then '中級(jí)'

             when fsalary > 8000 then '高級(jí)'

             end as '等級(jí)'

      from t_employee

      注:then 后面除了給常量之外,還可以給列

      7. 數(shù)據(jù)排序

      ORDER BY子句位于SELECT語(yǔ)句的末尾,它允許指定按照一個(gè)列或者多個(gè)列進(jìn)行排序,

      升序  ASC(從小到大排列)默認(rèn)

      降序  DESC(從大到小排列)。

      按照年齡從大到小排序,如果年齡相同則按照工資從大到小排序 :SELECT * FROM  T_Employee ORDER BY FAge DESC,FSalary DESC(多個(gè)排序條件)

      ORDER BY子句要放到WHERE子句之后

      例:       SELECT * FROM T_Employee WHERE FAge>23 ORDER BY FAge DESC,FSalary DESC

      8. 通配符過(guò)濾

      通配符過(guò)濾關(guān)鍵字使用LIKE 。

      單字符匹配的通配符為半角下劃線“_”,它匹配單個(gè)出現(xiàn)的字符。

      例:以任意字符開頭,剩余部分為“erry”

      SELECT * FROM T_Employee WHERE FName LIKE '_erry'

      多字符匹配的通配符為半角百分號(hào)“%”,它匹配任意次數(shù)(零或多個(gè))出現(xiàn)的任意字符。 “k%”匹配以“k”開頭、任意長(zhǎng)度的字符串

      例:檢索姓名中包含字母“n”的員工信息

      SELECT * FROM T_Employee WHERE FName LIKE '%n%'

      通配符解釋示例
      ‘_’一個(gè)字符A Like 'C_'
      %任意長(zhǎng)度的字符串B Like 'CO_%'
      [ ]括號(hào)中所指定范圍內(nèi)的一個(gè)字符C Like '9W0[1-2]'
      [^]不在括號(hào)中所指定范圍內(nèi)的一個(gè)字符D Like ‘%[A-D][^1-2]'

      -任意一個(gè)字符

      %                  任意多個(gè)字符

      '[^a]%a%'  非a開頭,中間含有a的任意多個(gè)字符

      '[a-d]'    匹配a到d之間任意一個(gè)字符

      9. 空值處理

      數(shù)據(jù)庫(kù)中,一個(gè)列如果沒(méi)有指定值,那么值就為null,這個(gè)null和C#中的null不一樣,數(shù)據(jù)庫(kù)中的null表示“不知道”,而不是表示沒(méi)有

      因此select null+1結(jié)果是null,因?yàn)椤安恢馈奔?的結(jié)果還是“不知道”。

      SQL中使用is null、is not null來(lái)進(jìn)行空值判斷:

      例:

      SELECT * FROM T_Employee WHERE FNAME is null ;FNAME為空的值

      SELECT * FROM T_Employee WHERE FNAME is not null ;fname不是空值

      10. 多值匹配  使用關(guān)鍵字

      要?jiǎng)h除多條記錄怎么辦?

      例:Delete T_Employee where FId in (21,22)

      BETWEEN  包括該值

      例:SELECT * FROM T_Employee WHERE FAGE BETWEEN 23 AND 27

      等價(jià)于:SELECT * FROM T_Employee WHERE FAGE>=23 AND FAGE <=27

      11.  數(shù)據(jù)分組

      按照年齡進(jìn)行分組統(tǒng)計(jì)各個(gè)年齡段的人數(shù):

      SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage

      GROUP BY子句必須放到WHERE語(yǔ)句的之后

      沒(méi)有出現(xiàn)在GROUP BY子句中的列是不能放到SELECT語(yǔ)句后的列名列表中的 (聚合函數(shù)中除外)

      多條件查詢:多條件分組時(shí),將條件相加,看是否相等,如果相等,就為一組

      例:select fage,ftest,count(*) from t_employee group by fage,ftest

      Having語(yǔ)句(分組后查詢條件)

      分組統(tǒng)計(jì)之后查詢條件不能用where 而要用having語(yǔ)句,Having要位于Group By之后

      例:--進(jìn)年齡分組統(tǒng)計(jì),同時(shí)ftese數(shù)量等于的

      select fage,count(fage) from t_employee group by fage having count(ftest) = 2

      12.  限制結(jié)果集行數(shù)  top

      --查詢前行記錄

      select top 3 * from T_Employee order by fsalary desc

      --分頁(yè)查詢

      select top 3 * from t_Employee where fnumber not in (

      select top 3 fnumber  from T_Employee order by fsalary desc

      )order by fsalary desc

      13.  去掉數(shù)據(jù)重復(fù)  distinct

      例:select distinct fdepartment from t_employee

      --多個(gè)列時(shí)和group by 一樣,按照多個(gè)列組合值判斷是否重復(fù)

      select distinct fdepartment,fsubcompany from t_employee

      14. 聯(lián)合結(jié)果集 UNION 

      基本的原則:每個(gè)結(jié)果集必須有相同的列數(shù);每個(gè)結(jié)果集的列必須類型相容。

      1. UNION合并兩個(gè)查詢結(jié)果集,并且將其中完全重復(fù)的數(shù)據(jù)行合并為一條

      2. Union因?yàn)橐M(jìn)行重復(fù)值掃描,所以效率低,因此如果不是確定要合并重復(fù)行

      那么就用UNION ALL

      Union 和Union All 的區(qū)別

      Union         合并重復(fù)項(xiàng),并且去掉重復(fù)項(xiàng)

      Union All 合并重復(fù)項(xiàng),不去掉重復(fù)項(xiàng)

      問(wèn)題:

      在sql server 2008 中出現(xiàn)了“阻止保存要求重新創(chuàng)建表的更改”

      解決辦法:工具->選項(xiàng)->-Designers>取消“阻止保存要求重新創(chuàng)建表的更改”

      行號(hào)和自動(dòng)換行

      工具—>選項(xiàng)—>文本編輯器—>純文本 右邊就有行號(hào)和文本編輯器

      那些都是浮云,只有本領(lǐng)才是王道

        sql server
        (11)sql server
        西西軟件園提供免費(fèi)的下載,是很多小型企業(yè)公司使用到的數(shù)據(jù)庫(kù)軟件,是一個(gè)功能強(qiáng)大且可靠的數(shù)據(jù)管理系統(tǒng),它功能豐富,能保護(hù)數(shù)據(jù),并且可改善嵌入式應(yīng)用程序客戶端輕型應(yīng)用程序以及本地?cái)?shù)據(jù)存儲(chǔ)區(qū)的性能。具有易于部署以及可以快速設(shè)計(jì)原型的特點(diǎn),您可以無(wú)償獲取并可以隨應(yīng)用程序免費(fèi)再分發(fā)。它設(shè)計(jì)成可與其他服務(wù)器基礎(chǔ)結(jié)構(gòu)資產(chǎn)無(wú)縫集成。...更多>>
        • SQL Server 2008 SP2精簡(jiǎn)版免費(fèi)版

          05-15 / 91.2M

          推薦理由:SQL Server 2008 Express 是 SQL Server 的免費(fèi)版本,是學(xué)習(xí)和構(gòu)建桌面及小型服務(wù)器應(yīng)用程序的理想選擇,且
        • Microsoft SQL Server 2000 Enterp

          05-15 / 358.4M

          推薦理由:SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的于1988
        • sqlserver2005驅(qū)動(dòng)包

          11-14 / 3.5M

          推薦理由:這是連接sql server2005所必須用到的驅(qū)動(dòng)包,找個(gè)能用的sqlserver2005 jdbc 驅(qū)動(dòng)真不容易啊,這是經(jīng)過(guò)我測(cè)試
        • Microsoft SQL Server 2005 Expres

          06-02 / 40.0M

          推薦理由: SQL Server Express 是一種強(qiáng)大而可靠的數(shù)據(jù)管理產(chǎn)品,可以為嵌入的應(yīng)用程序客戶端、輕型 Web 應(yīng)用程
        • Microsoft SQL Server 2008 Native

          09-30 / 10.5M

          推薦理由:Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是一個(gè)同時(shí)包含 SQL OLE DB 訪問(wèn)接口
        • SQL Server數(shù)據(jù)庫(kù)管理及開發(fā)工具(N

          05-16 / 42.7M

          推薦理由: Navicat for SQL Server 是一套專為 Microsoft SQL Server設(shè)計(jì)的強(qiáng)大數(shù)據(jù)庫(kù)管理及開發(fā)工具。它可以用

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)