多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > sql server 2012版 學習筆記(基礎版)

sql server 2012版 學習筆記(基礎版)

來源:程序員人生   發布時間:2016-09-26 08:18:07 閱讀次數:3204次
                                                   摘要

  由于最近參加校招,題庫中有1部份sql語句的題目,感覺不是很難吧?但因之前沒學過sql這門語言,當時心里是謝絕的,所以決定發瘋圖強,找些資料,學了以后根據自己的理解寫出來,再說以后肯定也是會用到的,所以學了肯定是有百利而無1害,所以,大家共勉~


雞湯1則:

人生不是百米賽跑,而是馬拉松~”


本文目錄

      • 1sql 簡介
        • sql是用于訪問和處理數據庫的標準的計算機語言
        • 甚么是sql
      • 2安裝與配置
        • sql server 2012版
      • 3sql DML DDL 基礎認識
        • 數據庫
        • 重要事項
        • sql DML 和 DDL
        • SQL 中最重要的 DDL 語句
      • 4sql 基本語句簡單介紹
      • 1 sql create table 語句
        • insert into 子句
      • 2sql select 語句
        • where 子句
          • between and
          • like 子句
          • in 子句
          • distinct 關鍵字
          • group by 語句
          • having 子句
      • 3 update 語句
    •   
      • 4delete 語句


1、sql 簡介

sql是用于訪問和處理數據庫的標準的計算機語言。

  結構化查詢語言SQL(STRUCTURED QUERY LANGUAGE)是最重要的關系數據庫操作語言,并且它的影響已超越數據庫領域,得到其他領域的重視和采取,如人工智能領域的數據檢索,第4代軟件開發工具中嵌入SQL的語言等。
  

甚么是sql?

  • sql指結構化查詢語句

  • sql讓我們有能力訪問數據庫

上面只是大致的介紹了sql的定義和作用,想詳細了解,百度1下,我就不在這里贅述了。


2、安裝與配置

sql server 2012版

  這里我提供了安裝鏈接,大家根據自己的電腦版本自行選擇。2012簡體中文版官方下載頁面:http://www.microsoft.com/zh-cn/download/details.aspx?id=29066

  • 操作系統:
    最少等于或高于win7操作系統版本.

  • 內存空間:
    最少1GB,推薦使用4GB的內存,最好不要安裝在C盤。

  • 安裝步驟:
    具體的安裝步驟網上有很多教程,我自己是根據慕課網的教學視頻安裝的。說的很詳細,謝謝慕課網的老師們!這里的學習安裝視頻地址:http://www.imooc.com/video/8469

      那當你安裝配置好sql server 2012以后,我們開始學習sql語言。


3、sql DML DDL 基礎認識

數據庫

  1個數據庫通常包括1個或多個表。每一個表由1個名字標識(例如“客戶”或“定單”)。表包括帶有數據的記錄(行)。
  下面的例子是1個名為”Persons”的表:

name ages sex address city
張3 23 北京路 南京
李4 22 上海路 北京
小明 19 遵義路 北京
妮兒 18 廣州路 重慶
翠花 21 天津路 哈爾濱

 
  上面的表包括4條記錄(每條對應1個人)和5個列(姓名、年齡、性別、地址、城市) 


重要事項

sql對大小寫不敏感


sql DML 和 DDL

  1. sql DML(數據操作語言)
      可以把SQL分為兩個部份:數據操作語言(DML)和數據定義語言(DDL)。
    sql(結構化查詢語言)是用于履行查詢的語法。sql語言也包括更新、插入和刪除記錄的語法。
    查詢和更新指令構成了sql的DML部份:

  2. sql DDL(數據定義語言)
    SQL 的數據定義語言 (DDL) 部份使我們有能力創建或刪除表格。

SQL 中最重要的 DDL 語句:

  • create database  - 創建新數據庫
  • alter database     - 修改數據庫
  • create table         - 創建新表
  • alter table            - 變更(改變)數據庫
  • drop table           - 刪除表
  • create index         - 創建索引(搜索鍵)
  • drop index           - 刪除索引

4、sql 基本語句簡單介紹

下面我先在數據庫中創建1個數據表,然后在對數據表進行1系列的操作。
那末先了解在數據庫中怎樣創建1張數據表?

(1) sql create table 語句

create table語句 用于創建數據庫中的表。

sql create table語法

create table 表名 (列名稱1 數據類型, 列名稱2 數據類型, 列名稱3 數據類型, ...... )

數據類型規定了列可容納何種數據類型。下面的表格包括了sql中最經常使用的數據類型。

數據類型 描寫
integer/int/smallint/tinyint(size) 僅容納整數。在括號內規定數字的最大位數
decimal/numeric(size,d) 容納帶有小數的數字。”size”規定數字的最大位數。”d”規定小數點右邊的最大位數
char(size) 容納固定長度的字符串(可容納字母,數字和特殊字符)。在括號中規定字符串的長度
varchar(size) 容納可變長度的字符串(可容納字母、數字和特殊的字符)。在括號中規定字符串的最大長度。
date(yyyymmdd) 容納日期

 
那末我們使用create table創建上述的表Persons。

  在創建數據Persons表之前,先得先創建1個數據庫,可以理解為庫是1個容器,創建庫的方法很簡單,以下圖所示就能夠創建1個新的數據庫,或使用“create database 數據庫名” 語句也能夠成功創建1個新的數據庫
  


創建數據庫
 

  創建好數據庫以后,我在數據庫中創建1張數據表,把我上面的Persons的值全插入進去,進行后面的sql操作。但是由于中文與sql默許編碼不符,所以會出現全是???的亂碼,所以我先解決編碼問題。
  解決編碼問題,以sql server 2012為例,詳細步驟如:右鍵點擊剛創建好的數據庫->屬性-> 選項->排序規則->選擇為Chinese_PRC_CI_AS
  解決好上述1系列問題以后,就能夠創建1個數據表了,我以上面的Persons表為例。sql語句以下:

use [MyDB] /*use 語句指定數據庫*/ create table Persons ( name varchar(255) not null, age int not null, sex varchar(255) not null, location varchar(255), city varchar(255) );

創建好數據表Persons以后,使用insert into 插入數據。insert into 分為行插數據跟列插數據。

insert into 子句

  • 行插:insert into 表名稱 values(值1,值2,……)
  • 列插:insert into 表名稱 (列1,列2,……) values(值1,值2,……)

我使用行插方法對表Persons插入數據。

insert into Persons values(N'張3',23,N'男',N'北京路',N'南京'); insert into Persons values(N'李4',22,N'男',N'上海路',N'北京'); insert into Persons values(N'小明',19,N'男',N'遵義路',N'北京'); insert into Persons values(N'妮兒',18,N'女',N'廣州路',N'重慶'); insert into Persons values(N'翠花',21,N'女',N'天津路',N'哈爾濱');

得到以下結果集:


插入數據之后的結果集
  

下面使用我生成好的數據表Persons進行下面的sql操作。


(2)sql select 語句

select 語句用于從表當選取數據,結果被存儲在1個結果表中。

select 列名 from 表名; /*columns_name為想獲得的列*/ select * from 表名; /*如果想獲得全部列信息,可用*替換columns_name */

那末假設我想獲得上面”Persons”表的name和city列,使用以下sql代碼便可得到:

select name,city from Persons ; /*當選取多行時,中間用英文狀態下的','分隔開*/

查詢結果以下所示:


選擇列為name和city
 

那末假設我希望此結果只輸出性別為男性的數據,此處用where子句。以下sql語句所示:

select * from Persons where sex=N'男'; /*中文前面加"N"*/

查詢結果以下所示:


使用where找出性別為男的數據

下面對where子句進行詳細介紹

where 子句

作用:where子句用于規定選擇的標準。

如需有條件地從表當選取數據,可將where子句添加select語句

select 列名 from 表名 where 列名 運算符 值

下表的運算符可在where子句中使用:

操作符 描寫
= 等于(切記sql中等于為1個”=”號,某些語言中等于為”==”號)
<> 不等于(某些版本的sql可以寫為”!=”)
> 大于
< 小于
>= 大于等于
<= 小于等于
between and 在某個范圍內
like 搜索某種模式
in 可以規定多個值

 
  對上述表中的等于、不等于、小于、不小于、大于、不大于的使用跟其他語言的使用方法1樣,在這里不贅述,詳細來介紹下between and、like、in的使用方法。

1. between and

between 操作符在where子句中使用,作用是選取介于兩個值之間的數據范圍。
sql between 語法

select 列名 from 表名 where 列名 between 值1 and2; /*語句中的列名可相同可不同,值1與值2的數據類型必須相同*/

使用between and 語句獲得表Persons中age在18⑵2歲的人,sql between語句以下:

select * from Persons where age between 18 and 21; /*between and語句獲得的值包括兩真個值*/ select * from Persons where age >=18 and age<= 21; /*同等于上句的查詢結果*/

查詢結果以下所示:


使用between and語句查詢一個范圍內的數據

 

2. like 子句

like 操作符用于在where子句中搜索列中的指定模式。

sql like 操作符語法

select 列名 from 表名 where 列名 like pattern; /* "%" 可用于定義通配符(模式中缺少的字母,還有其他通配符,如"_"等*/

想獲得city中以”京”結尾的人,sql語句以下所示:

select * from Persons where city like N'%京';


like操作符
 

3. in 子句

in操作符允許在where子句中規定多個值。

sql in 語法:

select 列名 from 表名 where 列名 in (值1,值2)

in操作符實例:想選取出小明和妮兒的數據。

select * from Persons where name in (N'小明',N'妮兒');

查詢的結果以下所示:


in子句的查詢結果

4. distinct 關鍵字

distinc關鍵字用于返回唯1不同的值(有點去重的意思)

distinct 語法:

select distinct 列名 from 表名

對Persons數據表的city列進行distinct操作,sql語句以下:

select distinct city from Persons ;/*找出city列中的唯1值*/

查詢的結果以下所示:


distinct找出列的唯一值

5. group by 語句

group by:合計函數,根據1個或多個列對表分組

sql group by 語法:

select 列名,合計函數(列名) as 新列名 from 表名 group by 列名; /*合計函數1般有sum等,as表示為合計函數計算的結果新命名*/

對city列分組,計算其組的平均年齡,sql語句以下:

select city,sum(age) as sum_age from Persons group by city;/*對city分組,然后計算組內年齡的總和*/

查詢的結果所下所示:


group by 分組函數

  那末假設我想找出年齡和小于30的city,怎樣做呢?首先我會想到用where語句來鎖定范圍,但是呢?sql中where 關鍵字沒法與合計函數1起使用,不信你自己試試唄!這也正是having子句 出現的緣由,那末下面我使用having子句來查詢我想要的結果。

having 子句

  sql語句以下所示:

select city,sum(age) as sum_age from Persons group by city having sum(age)<30; /*這里需要注意的是having必須使用合計函數來查詢結果,之前試過用sum_age<30,報錯*/

  上面講完了創建數據表(create table 表名)、插入數據(insert into),那末下面簡單介紹下修改(update)和刪除(delete)表中數據。

(3) update 語句

update 語句用于修改表中的數據。

sql update語法:

update 表名 set 列名=新值 where 列名=某值; /*列名通常不同*/

假設我將李4的age填錯了,想做出修改,那末sql 語句以下:

update Persons set age=20 where name=N'李4'; /*中文前加N*/

查詢結果以下所示:


對數據修改 update

通過修改表中的數據,如截圖紅框可見,李4的age已被修改。

  

(4)delete 語句

dalete 語句用于刪除表中的行

sql delete 語法:

delete from 表名 where 列名=值; /*刪除符合where條件的行*/ delete from 表名; /*可以在不刪除表的情況下刪除所有行,意味著表的結構,屬性和索引都是完全的,直接刪除表為drop 表名*/

假設刪除李4的信息,sql語句以下所示:

delete from Persons where name=N'李4'; /*中文前加N*/

查詢的結果以下所示:


這里寫圖片描述

可以看到Persons表中,李4的信息已被刪除。


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 俺来色 | 成人欧美视频在线观看播放 | 日韩欧美一区二区三区在线视频 | 中文字幕26页| 亚洲综合亚洲综合网成人 | 18女人水真多免费高清毛片 | 欧美三级视频在线播放 | 乱码在线中文字幕加勒比 | jux397在线三浦惠理子 | 97理论三级九七午夜在线观看 | 国产乱码一区二区三区四 | 97夜夜操| 日韩不卡一区二区三区 | 午夜 性色 福利视频 | 噜噜噜在线 | 依人在线| 欧美日韩亚洲国产精品一区二区 | 久久一区二区三区免费播放 | 边吃奶边操 | www操com| 日韩精品在线一区二区 | 国内精品久久久久久久999下 | 国语对白清晰好大好白在线 | 性生活一级毛片 | 色播成人网 | 免费福利网站在线观看 | 久久精品国产6699国产精 | 秋霞麻豆| 中文字幕曰产乱码 | 亚洲精品嫩草研究院久久 | 欧美系列第一页 | 久久福利一区二区 | 就要精品综合久久久久五月天 | 亚洲欧美小视频 | 亚洲精品日韩中文字幕久久久 | 久久999精品 | 国内精品视频在线观看 | 亚洲性另类 | 日韩拍拍拍 | 一级做受毛片免费大片 | 欧美videos极品 |