<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      數據庫 SQL Server Management Studio 20 的快速入門

      這里可以在搜索的位置直接輸入

      數據庫 ssms 是這個首字母

      是這個軟件的簡稱

      數據庫分好多種,最主流的是Oracle,Oracle是最重量級的,安裝也比較難,屬于最安全的。一般國家單位都用Oracle,Oracle正版的很貴。

       還有一種就是 SQL Server,SQL Server是 Windows 的,如果說布到 Linux系統上 可能會有問題。有一定的局限性。

      還有一種是MySQL兩個相比呢,MySQL是比較輕量級的。

       

      關系型數據庫:Oracle,SQL Server,MySQL主流的就這些,但是現在大部分人用MySQL,MySQL是最輕量級的,安裝也方便,好像還是開源的。其實基本都一樣,大同小異。

      這三個都是數據庫,不是說電腦上安裝了就可以訪問,需要一個工具訪問。也就是通過一個軟件訪問。

      Oracle             plsql

      SQL Server     ssms

      MySQL            navicat

       

       

      還有非關系型數據庫...,這里先不說了。

       

       

      咱們這里就來說一下 SQL Server用這個  ssms  ,

      我們打開看一下

      打開之后這里有連接

       這里我們之前安裝好了,這里是安裝SQL Server的時候給的這個

      這是這個數據庫的帳號密碼

       

        這就連上了這個數據庫了

      數據庫里面有很多的內容,最主要的就是 表 。

       一個數據庫有好多表。就像Excel一樣,一個Excel有很多Sheet頁。

      我們來看一樣,鼠標右鍵點擊表,會出現一個選項。

       我們點擊 選擇前1000行 來看一下

      這就是查詢了,

      上面是自動生成的SQL語句

      下面,這跟Excel基本沒區別。

       

       現在咱們做一個測試庫

      鼠標右鍵點擊數據庫

      點擊新建數據庫,

      數據庫名稱

      寫好名稱之后點擊確認

      這就有了數據庫

      這些文件都是空的,自動生成的,沒東西。這就相當于文件夾,里面沒有東西。

      最主要是表。鼠標右鍵點擊表,然后點擊新建,點擊表。

      然后就出來表了

       一個數據庫表。一般包括,id(最主要的就是id,id必須得有)

      說幾個常用的

      float是浮點型,他也是代表小數。

      decimal(18,0)精度比較強,比如用一個價格就用decimal,精度比較高的。比如經緯度。

      上面這兩個都可以代表小數。decimal精度高一點基本不會失真。失真就是算錯了。一般都用float,除了錢用decimal。

       

      tinyint應該就是0 1

      text大字符,比如博客園標題,內容,內容存下來太長了,就用text

      nvarchar只要是字符串就用這個。

      datetime日期加時間,前面是日期后面是時間。

      date是日期

      char(10)是一個單字符的

      bit是一個字節類型的

       

       

       

       

      在增加一個比如名字name,名字是字符串,字符串就用nvarchar(50)

      年齡age年紀是數字,用int

      籍貫jiguan,籍貫也是字符串,nvarchar(50)

      男女性別gender就是布爾型的了用tinyint

      出生日期chusheng可以用datetime

      成績chengji是一個可以為小數點的數字,就用decimal(18,0)

      然后這個允許為空,不打勾就是這個字段必須有值。

      允許null值就是可以不填。如果不允許就是必須得填。

      id必須得是有值的,而且還不能重復,要通過id來索引的,來查。

       怎么來判斷她不能重復?一般在程序里面判斷。

      數據庫里面的這個id可以這樣

      點這一行

      點表設計器

       點表示規范

      讓她自動生成。點擊標識規范,標識增量1,標識種子1。

      這里的表示種子雙擊這里。可以改變是否。

       然后保存

       

      輸入名字點確認

       這樣一張表就建好了。

      他有這些東西

      這些都不用管,主要看列。這個表有這么多列。

      鼠標右鍵點擊表,點  設計

       又可以打開這個頁面了,可以改。

        右鍵,選擇前1000行

       你就可以把這個想象成一個Excel。這里一行都沒有數據。

        右鍵,編輯前200行

      可以在這里編輯數據了,這里的id就自己出來了。

      然后看這里,編寫腳本為(s),CREATE到(c),新查詢編輯器窗口

       就是這個,生成sql語句了。

      這是創建表,創建表的語句就是這個。

      就是剛才是點擊鼠標右鍵創建。我們現在也可以寫這個創建,用這個語句。

       

       關閉所有的表之后,點擊新建查詢。

      我們現在查詢student表的所有數據。

       關鍵詞是sclcct , *代表所有的字段,from從哪,從這個表里面student。

      寫好了之后點擊執行,就可以看到查詢結果了。

      查詢student表的name列

       然后我如果只想查name這一行

      select name from student ;

      寫上之后選中然后點擊執行。

      這里多行可以選中一起點執行,這里每一行之間一定要加上 ; 

      可以看到效果

       我只查詢第一行人的名字。

      select top 1 name from student ;

      top 最上面,從頂部。1代表查1個。

       

      我想知道王五的年齡

      select age from student where name=‘王五’;

      where 代表條件。

       insert 就是新增

      insert student (name,age,jiguan)values(‘趙六’,‘16’,‘山西’);

      寫完,選中點擊執行,也可以選中點擊F5快捷執行。

      新增完成之后我們點擊一下查詢看看效果

      可以看到趙六增加上來了。

      還有一種是不寫列的名字,把所有列的值都寫上去。

      注意出生年月必須用 -  鏈接 ,因為之前設置的格式,沒寫時間會默認給一個時間。

      修改 

      假如王五寫的不全

      update student set age=20,gender=0,jiguan=‘陜西’ where name=‘王五’ ;

      update 一定要注意家where條件,要不然就會把所有的都改掉。而且沒有返回,執行就是執行了。所以很危險,這里一定要注意。

      一般我們都用id改,這里就先用名字來改了。

      注意這里的規則:0代表女的,1代表男的。 1代表是,0代表否。

      update 修改。

      set 設置。

      然后我們在查詢一下,可以看到,改好了。

      現在我們繼續在改一下,

      假如現在這個表全是女的,就有一個是男的。

      update student set gender=1;

       就這樣沒有加where條件,全改了。

      然后我們再來查詢一下

       然后在單獨的把那個男生改一下

      假如李四就是那個男生。

      update student set gender=0 where name ='李四' ;

      寫完之后點擊執行。

       

      然后點擊查詢可以看到改好了。

      刪除,刪除這個表里面的張三。

      delete student where name =‘張三’;

      寫完之后,執行。

      查詢一下所有的,張三這行就沒有了。而且沒有恢復,再來就是新人了。

       在來的時候也可以指定她的id

      insert student (id,name,age,jiguan)values (1,‘張三’,‘16’,‘山西’);

       可以看到這里有問題,我們后面可以進行調整一下,這里先不說了。

       

      如果直接新增這個張三可以看到,id是6了。

      查詢一下

       這里我想讓他按id排序

      select * from student order by id ;

      order by 排序。 

      假如我們有兩個叫張三的,

       那如果我們讓他先按id排序,再按成績排序就可以:

      select * from student order by id,chengji ;

      我們現在完善下這個表里面的成績。這里寫完之后按↑或者↓的箭頭換一行就可以保存了。

      或者點這個就可以保存了

       那如果要按成績倒排序就這樣寫

      select * from student order by chengji desc ;

      desc 倒排序。

      寫完之后點擊執行。

      這時候我們擴展一下,新建一個各個學科分數表。

      這里必須要有id int

      這里我們加一個學科 xueke  navarchar(50)

      加一個總分 fenshu   decimal(18,0)

      再加一個student  int 

      會報錯

      這時候我們來解決一下這個問題

      點擊工具里面的選項。

      找到設置器,然后把這個不打勾,點確定就可以保存了。

      然后點著這個小三角把這一行的信息網上拽,放到上面去。保存一下。

      然后 刷新一下這個表就出來了。

       然后把student表里的chengji改成zongfen。

      然后我們繼續在操作,給chengji這個表里面賽一點數據。這里直接這樣放數據了。

       就可以在這里輸入一些信息了,輸入完了點擊這個執行。

      然后 成績這個表

      select * from chengji ;

      查詢成績這個表,輸入完了點擊執行

      然后我要查李四的所有成績

      select = from chengji where studentid=2;

       

        select * from student s                                                   這里給student表起了一個別名。可以換行。

       join chengji  c  on s.id  =c.studentId                            這里也給chengji  表起了一個別名。  join 聯查,on條件    

        where s.name=‘李四’                                                    這里我就找到李四這個人了。

      select * from student s       

      join chengji  c  on s.id  =c.studentId             

      where s.name=‘李四’   ;

       

      select c.fenshu  from student s         

      join chengji  c  on s.id  =c.studentId             

      where s.name=‘李四’   ;

      現在查李四的總分

      select sum( c.fenshu)  from student s         

      join chengji  c  on s.id  =c.studentId             

      where s.name=‘李四’   ;

       

       現在查全班同學的總分

      select sum( c.fenshu)/count(1)  from student s            count(1)就是行數,有幾行。

      join chengji  c  on s.id  =c.studentId             

      where s.name=‘李四’   ;

      這樣就拿到了平均數了。但是這樣是把所有的學科都平均了。沒有說拿到的是總分。

       這是從結果表里面查的。

       可以看到李四和王五的,有6行,也就是這個         count(1)是6

       如果我們要算語文的平均分

      select sum( c.fenshu)/count(1)  from student s           

      join chengji  c  on s.id  =c.studentId             

      where xueke=‘yuwen’   ;

      所有人 總分平均分

      現在兩表聯查

      select from student s  join chengji  c  on s.id  =c.studentId 

      現在分組,按id分組。

       select  s.id  from student s                                                         s.id 是分組之后查什么東西,查s.id 

       join chengji  c  on s.id  =c.studentId 

      group by s.id                                                                             按學生表里面的id分組。

      這個時候我還想要2的總分和3的總分。

       select  s.id ,sum(c.fenshu)  from student s                                                        

       join chengji  c  on s.id  =c.studentId 

      group by s.id                                                                       

      這里面寫的數據是為了方便讓我們查數據,后端要寫一個和這個功能一樣的方法。

      join就是兩邊都有才查的,

      left join就是按左邊的對齊

      可以看到左邊的肯定會有,右邊的沒有就給null

      right join 按右邊對齊

      full join 全對齊

       

      select * from student s
      INNER join chengji c on s.id =c.studentId

       

      select * from student s
      CROSS JOIN chengji c

       

      連接類型對齊邏輯結果集包含內容
      RIGHT JOIN 以右表為基準,左表匹配右表數據 右表全部行 + 左表匹配行(無匹配時左表字段為 NULL)
      LEFT JOIN 以左表為基準,右表匹配左表數據 左表全部行 + 右表匹配行(無匹配時右表字段為 NULL)
      INNER JOIN 只保留兩表中匹配的行(交集) 兩表滿足連接條件的共同行
      FULL JOIN 左表和右表的并集(極少數據庫支持) 左表全部行 + 右表全部行(無匹配字段為 NULL)
      CROSS JOIN 兩表的笛卡爾積(無過濾條件) 左表每行與右表每行組合,結果行數 = 左表行數 × 右表行數

       

       

       

       

       

       

       

      每個表都需要主鍵。

      我們需要設一個主鍵,右鍵點擊然后設為主鍵。

       前面這里有一個標識可以看見,然后保存一下。

       

      這里我們寫的可以ctrl+s保存

       

      posted @ 2025-06-23 16:26  張筱菓  閱讀(71)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品一区二区久久毛片| 最新国产AV最新国产在钱| 麻豆国产成人AV在线播放| 日韩一区二区三区精彩视频 | 伊人久久大香线蕉av五月天| 亚洲午夜伦费影视在线观看| 熟女系列丰满熟妇AV| 欧美巨大极度另类| 成人精品天堂一区二区三区| 成人无码视频| 亚洲+成人+国产| 一区二区亚洲精品国产精华液| 国产成人欧美一区二区三区| 国产在热线精品视频99公交| 婷婷久久香蕉五月综合加勒比| 亚洲第一成年免费网站| 色综合一本到久久亚洲91| 青青草无码免费一二三区| 亚洲综合国产一区二区三区| 久久久久青草线蕉综合超碰| 亚洲精品动漫免费二区| 麻豆国产成人av高清在线| 日韩高清在线亚洲专区不卡| 巨爆乳中文字幕爆乳区| 久久亚洲色www成人欧美| 欧洲亚洲色一区二区色99| 欧美怡春院一区二区三区| 久久男人av资源网站| 免费无遮挡毛片中文字幕| 久青草视频在线视频在线| 久久这里都是精品二| 欧美和黑人xxxx猛交视频| 中文字幕少妇人妻精品| 黄瓜视频在线观看| 久久AV中文综合一区二区| 久久精品夜夜夜夜夜久久| 免费无码肉片在线观看| 天天噜噜日日久久综合网| 全球成人中文在线| 天堂一区二区三区av| 大陆精大陆国产国语精品|