Cơ bản về SQL Server (Autosaved)

11
 Cơ bn vSQL Server 1. Thao tác chung. B1. Khi động chương trình SQL server t desktop(nếu có tn ti shortcut để khở i động chương trình) hoc Start => Programs => Microsoft SQL Server 2005(2008).  B2. Thc hin đăng nhp vào SQL server - C1: Đăng nhp bng chế độ đặc quyn Windows Authemtication - C2: Đăng nhp bng chế độ đặc quyn SQL Server Authemtication   Nhp UserName (sa), Password (123456) - Nhn Connect . B3. Click để mở  Thư mc Database trong ca s Object Explorer( Lưu ý: nếu các bn không thy ca sObject Explorer xut hin các bn nhn F8, hoc chn View => Object Explorer)  2. Cách Sao lưu và phc hi dữ liu. Lưu ý trong thao tác phc hi dliu: - Chúng ta chphc hi đượ c dliu khi đã có file Backup(*.bak), và Hqun trcsdl trên máy chúng ta l n hơn hoc bng hqun trcsdl trên máy t o file backup. VD: SQL2005 chcó th Restore đượ c tfile (*.bak) tmáy cài hqun trsql2005 hoc nh hơn như sql2000, sql2005 không th  Restore đượ c file (*.bak) t máy cài sql2008. a. Phc hi dliu: +> Phc hi dữ liu vào DB mớ i: - B1. Click chut phi vào Database sau đó chn New Database… ca smớ i bt ra.

Transcript of Cơ bản về SQL Server (Autosaved)

Page 1: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 1/11

 

Cơ bản về SQL Server

1.  Thao tác chung.

B1. Khởi động chương trình SQL server từ desktop(nếu có tồn tại shortcut để khở i

động chương trình) hoặc Start => Programs => Microsoft SQL Server 2005(2008). B2. Thực hiện đăng nhập vào SQL server

-  C1: Đăng nhập bằng chế độ đặc quyền Windows Authemtication

-  C2: Đăng nhập bằng chế độ đặc quyền SQL Server Authemtication 

  Nhập UserName (sa), Password (123456)

-  Nhấn Connect.

B3. Click để mở  Thư mục Database trong cửa sổ Object Explorer(Lưu ý: nếu các

bạn không thấy cửa sổ Object Explorer xuất hiện các bạn nhấn F8, hoặc chọn View

=> Object Explorer) 

2.  Cách Sao lưu và phục hồi dữ liệu.

Lưu ý trong thao tác phục hồi dữ liệu:

-  Chúng ta chỉ phục hồi đượ c dữ liệu khi đã có file Backup(*.bak), vàHệ quản trị csdl trên máy chúng ta lớn hơn hoặc bằng hệ quản trị csdl

trên máy tạo file backup. VD: SQL2005 chỉ có thể Restore đượ c từ file

(*.bak) từ máy cài hệ quản trị sql2005 hoặc nhỏ hơn như sql2000,sql2005 không thể Restore đượ c file (*.bak) từ máy cài sql2008.

a.  Phục hồi dữ liệu:

+> Phục hồi dữ liệu vào DB mớ i:

-  B1. Click chuột phải vào Database sau đó chọn New Database… cửa

sổ mớ i bật ra.

Page 2: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 2/11

 

-  B2. Điền tiên Database VD: CTAT8_VN, và thay đổi đườ ng dẫn để 

lưu CSDL mới( đườ ng dẫn mặc định là: C:\Program Files\Microsoft

SQL Server\MSSQL.2\MSSQL\DATA). Nhấn OK => Database mớ icó tên CTAT8_VN đượ c tạo ra và hiển thị trong cửa sổ Object

Explorer => Database. 

-  B3. Click chuột phải vào DB bạn cần Restore dữ liệu, Chọn Task =>

Restore => Database…(cửa sổ mớ i bật ra) 

-  B4. Check chọn From Device: Click vào button … 

-  B5. Click Add sau đó tìm đến file đã backup (*.bak) và nhấn OK. 

-  B6. Check chọn vào DB ở thời điểm cần Backup(nếu có lớn hơn 1 thờ iđiểm Backup).

Page 3: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 3/11

 

-  B7. Chọn Option, thực hiện check vào Overwrite the existing

database, chọn lại đườ ng dẫn tớ i DB cần Restore(đườ ng dẫn tớ i fileDB mà bạn mớ i tạo ở trên).

-  Nhấn OK 

Chờ  đển Progess chạy tới 100% là chúng ta đã Restore thành

công.

+> Phục hồi dữ liệu vào DB đã tồn tại:

-  Để phục hồi đượ c dữ liệu và DB đã tồn tại chúng ta cần lưu ý và đảm

bảo rằng DB của chúng ta không còn một k ết nối nào đang hoạt động

trên nó.

-  Để hủy các k ết nối đến DB của chúng ta chúng ta làm như sau: +> C1. Sử dụng câu lệnh sql (chi tiết Search: Kill all Process to sql

trên google.)

+> C2: Kill process trên giao diện:

  B1: Chọn Management => Activity Monitor một cửa sổ mớ ibật ra.

  B2: Click đúp vào các Process, một cửa sổ bật lên Nhấn Kill

Process (bướ c này có thể báo lỗi, nhưng chúng ta không quantâm và bỏ qua process vừa báo lỗi, chuyển sang các process

khác).(hình bên dướ i)-  Thực hiện Restore DB giống như Phục hồi dữ liệu từ DB mớ i(Chúng

ta bắt đầu làm từ B3)

Page 4: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 4/11

 

 b.  Sao lưu dữ liệu:

-  B1. Click chuột phải vào DB cần Backup => chọn Task => Back

up… cửa sổ mớ i bật ra. 

Page 5: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 5/11

 

-  B2. Click Add sau đó một cửa sổ mớ i bật lên, Click vào nút … để 

chọn lại đườ ng dẫn lưu file Backup, nhấn OK. 

-  B3. Nhấn OK. Chờ Progess chạy tớ i 100% là thành công. 

3. 

Cách Share DB cho các máy trong mạng sử dụng.-  B1: Start => Program => Microsoft SQL Server 2005 (2008) => SQL

Server Configuration Manager, cửa sổ mớ i bật ra.

-  B2: chọn Protocol for SQLEXPRESS, Protocols for

MSSQLSERVER

Và sửa Shared Memory, Named Pipes, TCP/IP là Enable

(Lưu ý: Nếu các giá trị đều Enable rùi thì thôi) 

-  B3. Khởi động lại SQLServer

Page 6: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 6/11

 

 -  B4: Sử dụng một máy khác trong mạng để truy cập.

4.  Các truy vấn cơ bản trong sqlServer.

-  Select : distinct, top, *

-  Inser : Lưu ý chúng ta sẽ không insert dữ liệu vào trườ ng Autonumber.

-  Update :

-  Delete :

5.  Cách tạo truy vấn bằng tool trong sqlserver.

-  B1. Chọn DB cần thực hiện Query

-  B2. Click New Query , sau đó chọn Query = > Design Query in

Editor…, một cửa sổ mớ i bật ra.

Page 7: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 7/11

 

-  B3. Chọn các bảng, View cần thực hiện truy vấn. (Lưu ý quan hệ tự 

sinh giữa các bảng, View khi chúng ta add vào)

Nếu quan hệ không đúng chúng ta Click vào quan hệ sau đó nhấn

Delete để xóa quan hệ và thực hiện kéo lại quan hệ từ 2 trườ ng quan

hệ giữa 2 bảng, View (VD: kéo từ Id của GroupNews sang

GroupNewsId của News).

-  B4. Thực hiện check vào các trườ ng cần lấy, và thêm các điều kiện lọc

và sắp xếp, sao cho phù hợ p vớ i mục đích truy vấn của bạn.

(Lưu ý: chúng ta có thể tự viết các điều kiện sau đó nhìn chúng tự sinh

ra trên giao diện)

6.  Cách tạo truy vấn động và thự c thi truy vấn động.

Ví dụ:

 /* khai bao bien bat buoc phai co Declare, @ va kieu du lieu */ 

DECLARE @EmpName NVARCHAR(200)

/* thiết lập giá trị cho biến*/ Set @EmpName= ‘nguyen’ 

DECLARE @SQLQuery AS NVARCHAR(500)

/*lưu ý voi cac kieu du lieu varchar va nvarchar*/  

SET @SQLQuery = 'SELECT * FROM tblEmployees WHERE EmployeeName likeN‘'%’ +

@EmpName + ‘%''’  /*thuc thi cau truy van*/ 

EXECUTE (@SQLQuery)

Hoặc :EXECUTE sp_Executesql @SQLQuery

Page 8: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 8/11

 

7.  Cách tạo, sử a thủ tục trong sqlserver.

-  Cú pháp tạo thủ tục:

CREATE  PROC || PROCEDURE  Tên_Thủ_Tục

[@tenbien1 KDL ,

@tenbien2 KDL…] AS

Begin

 /*Nội dung của thủ tục*/ 

End

-  Sửa thủ tục: thay CREATE = ALTER

8.  Cách tạo, sử a View trong sql server.

-  Các bạn đọc trang 81 của cuốn giáo trình SQL để hiểu rõ hơn ý nghĩavà cách sử dụng khung nhìn.

9.  Một số hàm sqlserver sử cần thiết.

- Ascii(str): Hàm Ascii trả về giá trị ASCII của ký tự đầu tiên trong chuỗi str  Ví dụ: Select Ascii('a')=Select Ascii('ab') =>97

Char(int): Chuyển đổi một giá trị Ascii sang ký tự 

Ví dụ: Select Char(97) =>a 

CHARINDEX (str, STR [, n]): Trả về một số nguyên đại là vị trí xuất hiện đầu tiên

của str trong STR  bắt đầu tại vị trí n. Nếu không có tham số n sẽ tương đương với n=0. Nếu

không có str nào trong STR thì hàm trả về giá trị 0 

Ví dụ: 

Select CHARINDEX('.','hmweb.com.vn') =>6Select CHARINDEX('.','hmweb.com.vn',0) =>6

Select CHARINDEX('.','hmweb.com.vn',7) =>10

LEFT(str,n): Trả về n ký tự, bắt đầu từ vị trí đầu tiên của chuỗi str

Ví dụ: Select left('hmweb.com.vn',5) =>hmweb 

RIGHT(str,n): Trả về n ký tự, bắt đầu từ vị trí cuối cùng của chuỗi str  

Ví du: Select right('hmweb.com.vn',6) =>com.vn

LEN(str): Trả về số ký tự của, trừ khoảng trắng cuỗi chuỗi str  

Ví dụ: Select len('hmweb.com.vn')=Select len('hmweb.com.vn ') =>12 

LTRIM(str): Loại bỏ hết khoảng trắng (Nếu có) bên trái của chuỗi str  RTRIM(str): Loại bỏ hết khoảng trắng (Nếu có) bên Phải của chuỗi strTrong SQL không có

hàm TRIM nhưng có hai hàm LTRIM và RTRIM. Vậy ta có thể kết hợp hai hàm này lại để có

hàm TRIM(str) như sau: RTRIM(LTRIM(@str)) 

Hàm Aggregate - Hàm tập hợ p : Dùng hỗ trợ việc tập hợ p một lượ ng lớ n dữ liệu .

Page 9: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 9/11

 

sum(column_name) : Trả về tồng của tập hợ p giá trị trong cột.

Ví dụ : Code:select sum(Quantity) as Total from WidgetOrders

avg(column_name) : Trả về giá trị trung bình của tập hợ p giá trị trong cột .

Ví dụ : Code:select avg ( UnitPrice * Quantity ) as ' AvegagePrice ' from WidgetOrders where

Continent = ' North America '

count(*) : Đếm số lượ ng trong bảng thoả mãn điều kiện.

Ví dụ : Code:select count(*) as ' Number of Large Orders ' from WidgetOrders where Quantity >

100

max(column_name) : Trả về giá trị lớ n nhất trong một tập giá trị.Ví dụ : Code:select max (Quantity * UnitPrice) as ' Largest Order ' from WigetOrders

min(column_name) : Trả về giá trị nhỏ nhất trong một tập giá trị .Ví dụ : Code:select min ( Quantity * UnitPrice ) as ' Smallet Order ' from WidgetOrders

Hàm Conversion - Hàm chuyển đổi : Dùng chuyển giá trị từ một kiểu dữ liệu sang kiểu dữ liệu

khác . Nó còn được dùng để định dạng ngày tháng . SQL cung cấp hàm chuyển đổi duy nhất là

CONVERT().

convert (datatype (length) , expression , style) 

Ví dụ : Code:select ' empid : ' +convert (char (4) , employeeid) from employees

Hàm date - Hàm ngày tháng : Dùng thao tác vớ i các giá trị ngày tháng.

Chữ viết tắt và giá trị :

Hour = hh ( 0 - 23 ) , Minute = Mi ( 0 - 59 ) , Second = Ss ( 0 - 59 ), Millisecond = Ms ( 0 - 999 )

, Day of year = Dy ( 1 - 366 ) , Day = Dd ( 1 - 31) , Year = yy ( 1753 - 9999 ).

getdate : Ngày hiện tại.

Ví dụ : Code:select getdate()

dateadd ( datepart , number , date ): Giá tr

ịngày c

ộng v

ớ i m

ột s

ố.Ví dụ : Code:select dateadd ( mm, 4 , ' 01/01/99 ' )

Thêm vào trườ ng mm (tháng) vớ i giá trị 4 . Kết quả sẽ là : 05/01/99

datediff (datepart , date 1 ,date 2) : Giá trị chênh lệch giữa hai ngày .

Ví dụ : Code:select datediff ( mm , ' 01/01/99 ' , ' 05/01/99 ' )

Trả về k ết quả là : 4 . So sánh giữa hai trườ ng tháng .

Page 10: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 10/11

 

 

datename (datepart , date ) : Giá trị ngày định dạng tương ứng .

Ví dụ : Code:select datename (dw , ' 01/01/2000 ' )

Kết quả sẽ trả về Saturday.

datepart ( datepart , date ) 

Ví dụ : Code:select datepart ( day , ' 01/15/2000 ' )

Trả về k ết quả giá trị ngày là 15.

Các hàm toán học trong SQL 

abs (num_expr) : Giá trị tuyệt đối của một số .

Ví dụ : Code:select abs(- 43)

Kết quả trả về là : 43

floor (num_expr) : Số nguyên lớ n nhất nhỏ hơn hoặc bằng giá trị .

Ví dụ : Code:select floor ( 43,5 )

Kết quả trả về là : 43

ceiling (num_expr) : Số nguyên lớ n nhất lớn hơn hoặc bằng giá trị .

Ví dụ : Code:select ceiling ( 43,5 )

Kết quả trả về là : 44

power (num_expr, y) : Luỹ thừa của số y trong biểu thức

Ví dụ : Code:select power ( 5 , 2 )

Kết quả trả về 5 luỹ thừa 2 bằng 25

round (num_expr , length) : Làm tròn giá trị số trong biểu thức.

Ví dụ : Code:select round ( 43.54321 , 1 )

Kết quả trả về là : 43.5

sign (num_expr ) : Trả về giá trị +1 cho số dương và - 1 cho số âm và 0 cho số 0

Ví dụ : Code:select sign ( - 43 )

Trả

về

giá trị

là : - 1.

Sqrt ( float_expr ) : Trả về giá trị căn bậc 2 của biểu thức .

Vi dụ : Code:select sqrt(9)

Kết quả trả về là : 3

Page 11: Cơ bản về SQL Server (Autosaved)

5/14/2018 Cơ ba ̉n vê ̀ SQL Server (Autosaved) - slidepdf.com

http://slidepdf.com/reader/full/co-ban-ve-sql-server-autosaved 11/11

 

Các hàm hệ thống trong SQL 

Các hàm hệ thống trả về thông tin cơ bản hoặc các cấu hình cài đặt . Các hàm hệ thống thông

dụng đượ c liệt kê như sau : 

db_id ( database_name ) : Mã số định danh cơ sở dữ liệu

db_name (database_id ) : Tên cơ sở dữ liệu

host_id() : Số định danh của trạm làm việc

host_name() : Tên trạm làm việc

isnull (expr , value) : Gía trị của biểu thức (expr) sẽ đượ c thay thế vớ i giá trị này.

object_id ( ' object_name ' ) : Số định danh của đối tượng cơ sở dữ liệu.

object_name ( ' object_id ') : Tên của đối tượng cơ sở dữ liệu

suser_sid ( ' login_name ' ) : Số định danh bảo mật sid đối vớ i tên đăng nhập của ngườ i sử 

dụng

suser_id ( ' login_name ' ) : Số định danh đăng nhập ngườ i dùngsuser_sname ( server_user_id ) : Trả về tên định danh đăng nhập từ số định danh bảo mật của

ngườ i sử dụng

suser_name ( server_user_id ) : Tên định danh đăng nhập của ngườ i sử dụng

user_id (user_name ) : Số định danh cơ sở dữ liệu của ngườ i sử dụng

user_name (user_id ) : Tên cơ sở dữ liệu của ngườ i sử dụng.