Cơ bản về SQL Server (Autosaved)
Transcript of Cơ bản về SQL Server (Autosaved)
![Page 1: Cơ bản về SQL Server (Autosaved)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/1.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/2.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/3.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/4.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/5.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/6.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/7.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/8.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/9.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/10.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020804/5571ff8c49795991699d83f0/html5/thumbnails/11.jpg)
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.