1. 程式人生 > >SQL Server 入門學習總結---基礎篇

SQL Server 入門學習總結---基礎篇

首先相信很多人在開始準備學習的時候,肯定對資料庫的基本學習路線是蒙的,當然我也是這樣過來的。我也是在後來把基礎知識學完之後,才看到一張圖,很棒的學習路線圖。先把這個分享給大家:


對於這張圖,相信不用多解釋了吧。下面進入今天的主題:

主題:

  SQL Server基本使用、

  SQL 基本語法簡介、

  select語句基本使用(包括where、and/or 、order by 、top、like、between、select distinct、萬用字元)、

  insert into 插入語句基本使用 

  update更新語句、

  delete刪除語句、

----------------------------------------------------------------------------  

SQL Server基本使用

首先使用SQL Server得學會安裝吧(如果之前沒有一點電腦基礎,也是夠折騰人的),沒事,我都給你們準備好了。

對了, 對於SQL Server 版本的選擇,個人建議標準版或者企業版吧, 不要Express版本的(功能太少了)!

安裝SQL Server :安裝教程  如果還下載不了的話就 去這裡搜尋下載吧:MSDN

初次使用SQL Server  :使用教程

(又不懂的,或者安裝除了問題的,可留言可郵箱發給我 ,我會盡快解決)

----------------------------------------------------------------------------  

SQL基本語法簡介

SQL 是用於訪問和處理資料庫的標準的計算機語言。

什麼是SQL?

SQL 指結構化查詢語言
SQL 使我們有能力訪問資料庫
SQL 是一種 ANSI 的標準計算機語言

SQL 是一門 ANSI 的標準計算機語言,用來訪問和操作資料庫系統。SQL 語句用於取回和更新資料庫中的資料。SQL 可與資料庫程式協同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他資料庫系統。
不幸地是,存在著很多不同版本的 SQL 語言,但是為了與 ANSI 標準相相容,它們必須以相似的方式共同地來支援一些主要的關鍵詞(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

我們能使用SQL做什麼?

SQL 面向資料庫執行查詢

SQL 可從資料庫取回資料

SQL 可在資料庫中插入新的記錄
SQL 可更新資料庫中的資料
SQL 可從資料庫刪除記錄
SQL 可建立新資料庫
SQL 可在資料庫中建立新表
SQL 可在資料庫中建立儲存過程
SQL 可在資料庫中建立檢視
SQL 可以設定表、儲存過程和檢視的許可權

瞭解下RDBMS 

RDBMS 指的是關係型資料庫管理系統。

        RDBMS 是 SQL 的基礎,同樣也是所有現代資料庫系統的基礎,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。

RDBMS 中的資料儲存在被稱為表(tables)的資料庫物件中。

表是相關的資料項的集合,它由列和行組成。

基本語法

SQL 對大小寫不敏感!

可以把 SQL 分為兩個部分:資料操作語言 (DML) 和 資料定義語言 (DDL)。

資料操作語言 (DML)---主要是查詢和更新

  • SELECT - 從資料庫表中獲取資料
  • UPDATE - 更新資料庫表中的資料
  • DELETE - 從資料庫表中刪除資料
  • INSERT INTO - 向資料庫表中插入資料

資料定義語言 (DDL)---主要是建立、刪除、增加索引、鍵、約束

  • CREATE DATABASE - 建立新資料庫
  • ALTER DATABASE - 修改資料庫
  • CREATE TABLE - 建立新表
  • ALTER TABLE - 變更(改變)資料庫表
  • DROP TABLE - 刪除表
  • CREATE INDEX - 建立索引(搜尋鍵)
  • DROP INDEX - 刪除索引

----------------------------------------------------------------------------  

select語句基本使用(包括where、and/or 、order by 、top、like、between、萬用字元)

select語句在資料庫使用的頻率應該是很高的了吧,反正我在學習的時候一天不敲幾百遍就感覺自己沒學啥一樣,可見這個語句的重要性。沒事我們慢慢來:

select基本語法:

select 列名稱 from 表名稱

--或者

select * from  表名稱


同樣,我也可以 查詢teacher 表裡面的ID


在瞭解Select語句之後,我會繼續對Select語句新增一些條件:

where----有條件的從表中選取資料

and 和 or --- 基於一個以上的條件對記錄進行過濾

order by ---對結果進行排序(預設是升序),若在語句後面新增desc,則是降序

top ---規定要返回記錄的數目(可以是返回的具體數目 , 也可以是百分比)

like ---在where子句中搜索列的指定模式

between---在where子句中使用 ,選取介於兩者之間的資料

select distinct---句用於返回唯一不同的值

萬用字元(%、_ 、[charlist] 、[^charlist]/[!charlist] )---可替代一個或多個字元,必須與like一起使用

下面我給出code例項:

select * from teacher;   --查詢所有表元素

--where 
select *  from  teacher where ID> 3  --查詢ID>3的列

--and 、or
select * from teacher where ID>3 and salary <>6000   --查詢ID>3  並且 salary != 6000的列
select * from teacher where ID> 3 or salary < 6000   --查詢ID>3 或者 salary<6000的列

--order by 
select * from teacher order by salary;  --按salary進行排序,升序
select * from teacher order by salary desc ;  --按salary進行排序,降序

--top
select top 2 * from teacher;  --查詢前2行
select top 20 percent * from teacher;  --查詢前20%

--like 萬用字元一塊使用
select * from teacher  where  name like 'a%';  --查詢name是以a開頭的所有列
select * from teacher where name like '%b';  --查詢name是以b結尾的所有列
select * from teacher where  name  like 'a_';  --查詢name是以a開頭後面只有一個字元 的所有列
select * from teacher where name like '[ac]%';  --  查詢name是以a/c開頭的所有列
select * from teacher  where name like '[^ac]%'; --查詢name 不是以a/c開頭的所有列

--between   and
select * from teacher where salary between 5000 and  8000;  --查詢salary介於[5000,8000]的所有列
--select distinct
select distinct salary  from teacher ;  -- 找出teacher表中salary不一樣的列


----------------------------------------------------------------------------  

insert into 插入語句基本使用 

insert into 用於向表格中插入新的行:

INSERT INTO 表名稱 VALUES (值1, 值2,....)
--我們也可以指定所要插入資料的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
例如
insert into teacher (name ,salary)  values( 'csdn',10000);


insert into 使用的頻率也是很高的,插入資料最簡單的方式不過就是這樣了。

----------------------------------------------------------------------------  

update更新語句

update 用於修改表中的資料:

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
例項:
--更新某一行中的一個列
select *from teacher;
update teacher set  name = 'bb3' where ID = 3;  --teachaer中ID 等於3的name 改為bb3
select * from teacher;



--更新某一行中的若干列

select *from teacher;
update teacher set  name = 'cc7 ' , salary = 90000 where  ID = 7;  --teachaer中ID 等於7的name 改為cc7,salary改為9000
select * from teacher;

----------------------------------------------------------------------------    

delete刪除語句

delete用於刪除表中的行:

DELETE FROM 表名稱 WHERE 列名稱 = 值
例項:
delete from teacher where ID =1;  --刪除表中ID 為1 的行

delete from teacher;  --刪除表中所有行

對於這些 基本的資料庫操作,必須要勤加練習(才能練出手速,敲出手感)。