1. 程式人生 > 實用技巧 >SqlServer必知必會之個人小筆記

SqlServer必知必會之個人小筆記

這裡分為二十二個課時把平時學習到的SqlServer資料庫知識要點在這裡一一羅列下來,作為工作中筆記速查,不管是面試還是在專案中對SqlServer資料庫的操作應用,這些知識點都是非常基礎和常用的,有必要把它們彙總記錄、日後備查!話不多說,直接上乾貨!

課時(一)登入資料庫

登入資料庫的方式:

①Windows身份驗證;

②Sql Server身份驗證

課時(二)備份資料庫

課時(三)資料表的建立

nvachar 儲存型別

遇到作業系統是英文作業系統並且對中文字型的支援不全面時,在SQL Server儲存中文字元為varchar就會出現亂碼(顯示為??),唯一能解決問題的是把資料庫欄位的型別改為nvarchar或 者nchar。

使用nvarchar的另一個非常好處就是在判斷字串的時候可以不需要考慮中英文兩種字元的差別.當然,使用nvarchar儲存英文字元會增大一倍的儲存空間,但是在儲存代價已經很低廉的情況下,優先考慮相容性會給你帶來更多好處的。

課時(四)建立外來鍵關聯

選擇主表的某一列,右鍵點選“關係”,新增關係,在表和列規範點選,

設定好主鍵表和外來鍵表的關聯ID即可:

課時(五)資料的新增Insert

設定主鍵自增

課時(六)批量插入資料使用UNION

課時(七)刪除delete和更新update

課時(八)select查詢語句

select
top 7 * from Student; ##查詢表中的行資料 select top 5 percent * from Student; ##查詢表中的5%的資料

課時(九)like模糊查詢

課時(十)查詢排序

課時(十一)聚合函式的使用

課時(十二)分組查詢

select ShoolID 學校編號, COUNT(*) 學生數量, SUM(Score) 成績總和 FROM student GROUP By SchoolID

課時(十三)分組條件查詢having

課時(十四)連線查詢

課時(十五)UNION聯合查詢

課時(十六)子查詢——單表查詢

舉例:

如查詢山東大學所有的學生資訊:

①最笨的方式實現;

首先查詢到山東大學的編號,然後根據編號查詢出學生資訊;

②連線表方式;

③子查詢;

Select * from student where student.SchoolID = (select SchoolID from School where SchoolName = ‘山東大學’);

課時十七 子查詢——多表子查詢

舉例:

我們要查詢所有學校編號大於山東大學編號的學生資訊。

Select * from student where student.SchoolID > (select SchoolID from School where SchoolName = ‘山東大學’);

課時十八 子查詢——in和not in的使用

課時(十九)子查詢—all和any/some關鍵字的使用

課時(二十)檢視和索引

課時(二十一)變數的使用

注意宣告和使用必須同時執行。

課時(二十二)儲存過程

示例Sql程式碼:

create procedure pro_student1
as 
select * from Student;
select * from School;

exec pro_student1

go
create procedure pro_student2
(
    @name varchar(50),
    @sname varchar
)
as 
select * from Student where Name = @name;
select * from School where SchoolName = @sname;

exec pro_student2 '王小二', '西南財經大學'

go
create procedure pro_student3
(
    @name varchar(50),
    @sAge int output
)
as 
select @sAge = Age from Student where Name = @name;

declare @outAge int;
exec pro_student3 '王小二',@outAge output
print @outAge