Friday, June 26, 2015
3. Bất kể lúc nào khi nói lời xin lỗi, hãy nhìn thẳng vào mắt của đối phương.
4. Hãy tin vào tiếng sét ái tình.
5. Đừng bao giờ coi thường mơ ước của người khác.
6. Bạn có thể bị tổn thương nếu yêu một người một cách say đắm, nhưng nó là phương pháp duy nhất khiến con người bạn trở nên toàn diện.
7. Dùng phương pháp tinh vi và xác thực để giải quyết tranh chấp, không nên xúc phạm người khác.
8. Đừng bao giờ đánh giá con người qua bề ngoài.
9. Nói từ từ nhưng phải suy nghĩ nhanh.
10. Khi người khác hỏi những điều mà bạn không muốn trả lời,xin hãy cười và hỏi: “Tại sao bạn lại muốn biết điều đó?”.
11. Gọi điện thoại cho mẹ, nếu không thể, ít nhất trong lòng bạn phải nghĩ về mẹ.
12. Một khi gặp phải thất bại, bạn nên nhớ lấy đó làm kinh nghiệm học tập của bạn.
13. Hãy ghi nhớ ba chữ “trọng”:tôn trọng mình; tôn trọng người khác; giữ lấy tôn trọng, phải có trách nhiệm đối với hành vi của mình.
14. Đừng nên để việc tranh chấp nhỏ hủy hoại đi tình bạn vĩ đại.
15. Hãy kết hôn với người mà bạn thích chuyện trò với người đó, vì khi bạn già đi, bạn sẽ phát hiện, thích chuyện trò là một ưu điểm lớn.
18. Hãy dành nhiều thời gian để đọc sách, ít xem ti vi.
19. Tin tưởng vào phật tổ hay thượng đế, nhưng đừng quên những việc nhỏ nhặt như khóa cửa nhà.
20. Khi bạn cãi vã với người yêu, xin hãy giải quyết bằng lý trí, không nên moi những gì đã qua ra nói.
21. Đừng trốn tránh ngày hôm qua.
22. Nên chú ý ý nghĩa từng câu nói của bạn.
23. Cùng chia sẻ kiến thức của bạn với người khác.
24. Hãy làm những gì mà bạn phải làm.
25. Đừng nên tin người không bao giờ nhắm mắt khi hôn bạn.
26. Nếu bạn kiếm được nhiều tiền, nên làm nhiều việc thiện khi bạn còn sống, đó là một cách trả báo tốt nhất cho bạn.
27. Hiểu sâu và lý giải đúng tất cả các quy tắc, hợp lý cải tiến những quy tắc đó.
28. Ghi nhớ rằng: Quan hệ tốt nhất là yêu và cho người khác hơn là yêu cầu người khác.
29. Hãy nhìn lại mục đích mà bạn thề sẽ đạt được và phân tích mình đã thành công đến mức nào.
30. Bất luận trong nấu ăn hay trong tình yêu, bạn đều phải dùng 100% trách nhiệm trong thái độ đối xử
st.
Thursday, June 25, 2015
Điều khó nhất là gì?
Vay tiền!!
Lúc khó khăn thì một đồng cũng quý.
- Thù ko cần trả, nhưng ơn thì nhất định phải trả.
" Lý Gia Thành nói:
Điều khó nhất là gì?
Vay tiền!!
Người có thể cho bạn vay tiền, nhất định là quý nhân của bạn.
Không những cho bạn vay tiền, mà còn không cần đặt ra điều kiện gì cho bạn
Chắc chắn là quý nhân trong các quý nhân.
Ngày nay, những người như vậy không còn nhiều. Nếu gặp được, nhất định phải một đời trân trọng.
Người cho bạn vay tiền khi bạn gặp khó khăn, không phải là người ta lắm tiền, mà là muốn giúp bạn một tay.
Thứ người ta cho bạn vay không phải là tiền, mà là lòng tin, sự tín
nhiệm, sự khích lệ, là tin tưởng vào năng lực của bạn, là đánh cược vào
bạn-của-ngày-mai.
Mong bạn bè tôi dù thế nào cũng đừng dẫm đạp lên hai chữ "thành tín".
Thất tín chính là phá sản lớn nhất của đời người! Hãy trân trọng!
Người bạn trung thực chính là tài phúc của kiếp này!
Đồng thời, xin bạn hãy nhớ
Người hay chủ động thanh toán tiền, không phải do ngu ngốc lắm tiền, mà là người ta coi bạn bè quan trọng hơn tiền bạc.
Người mà khi cùng làm việc nhóm biết bỏ qua lợi ích cá nhân, không phải do đần độn, mà là do hiểu được thế nào là chia sẻ.
Người mà khi làm việc tự nguyện chủ động làm nhiều, không phải do ngu ngốc, mà do biết được trách nhiệm.
Người sau khi cãi nhau tự xin lỗi trước, không phải do người ta sai, mà do hiểu được thứ gì mới đáng để trân trọng.
Người tự nguyện giúp đỡ bạn, không phải do nợ bạn cái gì, mà do thực sự coi bạn là bạn bè.
Người khác giúp bạn là Tình Cảm, không giúp bạn là Bổn Phận, không có thứ gì là đương nhiên phải thế.
Có bao nhiêu người xem nhẹ đạo lý đơn giản này, thì có bấy nhiêu người cảm thấy đây là điều đương nhiên phải thế.
Càng có những kẻ tự cho mình thông minh, đến mức diện mạo cũng hiện lên sự xảo trá;
Loại người này, sớm muộn cũng biến mất khỏi cái nhìn của người khác.
Người chân thành, đi là đi vào lòng người.
Người giả dối, đi là đi khuất mắt luôn.
Nếu người ta gặp nhau trong kiếp này gọi là duyên phận, vậy thì người
với người sống chung được với nhau, đều dựa vào chân thành và tín nghĩa
Trở thành loại người như thế nào, đều do sự sâu sắc trong suy nghĩ của mỗi người."
st!
Học vị ko tiêu biểu cho thân phận
Năng lực ko đại diện cho nhân cách
Địa vị ko thay thế đc phẩm đức
Công việc ko nói lên sự sang hèn
Nhưng quan điểm và hành vi thì nói lên tất cả.
Wednesday, June 10, 2015
Enable TCP/IP protocol and set a predefined port number (1433)
0 comments Posted by Duc Nguyen at 8:53 PM1. Enable TCP/IP protocol and set a predefined port number (1433)
To enable the TCP/IP protocol for SQL Server 2008, to accept remote connection:- Open SQL Server Configuration Manager. Click Start / Programs / Microsoft SQL Server 2008 R2 / Configuration Tools / SQL Server Configuration Manager.
- Expand SQL Server Network Configuration / Protocols for [Instance Name]. If you see that TCP/IP protocol status is disabled, right click to Enabled it.
-
Open TCP/IP properties to set the correct listening port:
- In Protocol / General, set Enabled = Yes.
- In IP Addresses / IPAll, set TCP Port = 1433 and TCP Dynamic Port = an empty string (to disable the dynamic port).
- Restart SQL Server Service. Click SQL Server Services in the left panel, right click on SQL Server and select Restart action.
2. Add a firewall rule
By default, windows don’t allow inbound traffic from 1433 port. To allow inbound traffic to SQL Server:- Open Windows Firewall with Advanced Security. Click Start / Control Panel / System and Security / Windows Firewall / Advanced Settings.
- Select Inbound Rules (in left panel), and click on New Rules (in Actions panel).
-
Complete all wizard steps like:
- Rule Type = Port.
- Protocol and Port = TCP on specific local port 1433.
- Action = Allow the connection.
- Profile = Domain, Private, Public.
- Name = SQL Server TCP/IP (1433).
3. Stop SQL Server Browser Service
Please, for security reasons disable the service SQL Server Browser. This service is not a requirement to accept remote (or local) connection to SQL Server!- Open SQL Server Configuration Manager (see the previous step 1).
-
Click SQL Server Services in the left panel, right click on SQL Server Browser and select Properties action.
- In Log On tab, click on Stop button.
- In Service tab, set Start Mode to Manual.
4. Check SQL Server Authentication
Eventually, check the authentication mode set in SQL Server.- Open Microsoft SQL Server Management Studio and connect you to SQL server.
- Right click on your SQL instance and select Properties.
- In Server Properties windows, select Security page.
-
Select SQL Server and Windows Authentication mode, and verify if you have set a correct password to the login sa.
5. Open a remote connection
To verify if your SQL Server is correctly configured, you can open a SQL IDE (like the excellent free tools SqlDbx). In Login page, set the following server string syntax: “tcp:[ServerName\SQLInstance],[Port]” (SqlInstance is empty if you have installed SQL Server with the default instance).Example:
- Server = tcp:MySqlServer,1433
- Database = Master
- User = sa
- Password = xxx
Monday, June 8, 2015
Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive.
0 comments Posted by Duc Nguyen at 5:28 PMSession state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the
======================
Add this in code:
System.Web.UI.Page, System.Web.SessionState.IRequiresSessionState
Saturday, June 6, 2015
Tham khao tai day:
https://duythanhcse.wordpress.com/2015/03/31/bai-60-cau-hinh-hardware-accelerated-execution-de-chay-may-ao-android-5-0/
Friday, June 5, 2015
Microsoft Toolkit 2.5.2 – Phần mềm kích hoạt Windows 7/8/8.1 & Office 2010/2013
0 comments Posted by Duc Nguyen at 6:33 PMHướng dẫn sử dụng phần mềm Microsoft Toolkit
Labels: Thủ thuật
Tuesday, May 19, 2015
Giới thiệu về MYSQL
SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL.
SQL là gì?
* SQL là viết tắt của Structured Query Language – Ngôn ngữ truy vấn cấu trúc.
* SQL cho phép bạn truy cập vào CSDL.
* SQL là một chuẩn ngôn ngữ của ANSI.
* SQL có thể thực thi các câu truy vấn trên CSDL.
* SQL có thể lấy dữ liệu từ CSDL.
* SQL có thể chèn dữ liệu mới vào CSDL.
* SQL có thể xoá dữ liệu trong CSDL.
* SQL có thể sửa đổi dữ liệu hiện có trong CSDL.
* SQL dễ họcSQL là một chuẩn
SQL là một chuẩn của ANSI (American National Standards Institute – Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.
SQL hoạt động với hầu hết các chương trình CSDL như MS Access, DB2, Informix, MS SQL Server, Oracle,Sybase v.v…
Lưu ý: Hầu hết các chương trình CSDL hỗ trợ SQL đều có phần mở rộng cho SQL chỉ hoạt động với chính chương trình đó.
Bảng CSDL
Một CSDL thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng được xác định thông qua một tên (ví dụCustomers hoặc Orders). Bảng chứa các mẩu tin – dòng (record – row), là dữ liệu của bảng.
Dưới đây là một ví dụ về một bảng có tên là Persons (người):LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Svendson Tove Borgvn 23 Sandnes Pettersen Kari Storgt 20 StavangerBảng ở trên bao gồm 3 mẩu tin (dòng), mỗi mẩu tin tương ứng với một người, và bốn cột (LastName, FirstName,Address và City).
Câu truy vấn SQL
Với SQL ta có thể truy vấn CSDL và nhận lấy kết quả trả về thông qua các câu truy vấn.
Một câu truy vấn như sau:SELECT LastName FROM PersonsSẽ trả về kết quả như sau:LastName Hansen Svendson PettersenLưu ý: Một số hệ thống CSDL đòi hỏi câu lệnh SQL phải kết thúc bằng một dấu chấm phảy (;). Chúng ta sẽ không dùng dấu chấm phảy trong bài viết này.
SQL là ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language)
SQL là cú pháp để thực thi các câu truy vấn. SQL cũng bao gồm cú pháp để cập nhật – sửa đổi, chèn thêm và xoá các mẩu tin.
Sau đây là danh sách các lệnh và truy vấn dạng DML của SQL:
- SELECT – lấy dữ liệu từ một bảng CSDL.
- UPDATE – cập nhật/sửa đổi dữ liệu trong bảng.
- DELETE – xoá dữ liệu trong bảng.
- INSERT INTO – thêm dữ liệu mới vào bảng.
SQL là ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition Language)
Phần DDL của SQL cho phép tạo ra hoặc xoá các bảng. Chúng ta cũng có thể định nghĩa các khoá (key), chỉ mục (index), chỉ định các liên kết giữa các bảng và thiết lập các quan hệ ràng buộc giữa các bảng trong CSDL.
Các lệnh DDL quan trọng nhất của SQL là:
- CREATE TABLE – tạo ra một bảng mới.
- ALTER TABLE – thay đổi cấu trúc của bảng.
- DROP TABLE – xoá một bảng.
- CREATE INDEX – tạo chỉ mục (khoá để tìm kiếm – search key).
- DROP INDEX – xoá chỉ mục đã được tạo.
Mệnh đề WHEREMệnh đề WHERE được dùng để thiết lập điều kiện truy xuất.
Mệnh đề WHERE
Để truy xuất dữ liệu trong bảng theo các điều kiện nào đó, một mệnh đề WHERE có thể được thêm vào câu lệnh SELECT.
Cú pháp
Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:SELECT tên_cột FROM tên_bảng
WHERE tên_cột phép_toán giá_trịTrong mệnh đề WHERE, các phép toán được sử dụng làPhép toán Mô tả
= So sánh bằng
<> So sánh không bằng
> Lớn hơn
< Nhỏ hơn
>= Lớn hơn hoặc bằng
<= Nhỏ hơn hoặc bằng
BETWEEN Nằm giữa một khoảng
LIKE So sánh mẫu chuỗiLưu ý: Trong một số phiên bản của SQL, phép toán <> có thể được viết dưới dạng !=
Sử dụng mệnh đề WHERE
Để lấy danh sách những người sống ở thành phố Sandnes, ta sử dụng mệnh đề WHERE trong câu lệnh SELECT như sau:SELECT * FROM Persons
WHERE City = ’Sandnes’Bảng Persons:LastNameFirstNameAddressCityYearHansenOlaTimoteivn 10Sandnes1951SvendsonToveBorgvn 23Sandnes1978SvendsonStaleKaivn 18Sandnes1980PettersenKariStorgt 20Stavanger1960Kết quả trả về:LastNameFirstNameAddressCityYearHansenOlaTimoteivn 10Sandnes1951SvendsonToveBorgvn 23Sandnes1978SvendsonStaleKaivn 18Sandnes1980Sử dụng dấu nháy
Lưu ý rằng ở ví dụ trên ta đã sử dụng hai dấu nháy đơn (‘) bao quanh giá trị điều kiện ‘Sandnes’.
SQL sử dụng dấu nháy đơn bao quanh các giá trị ở dạng chuỗi văn bản (text). Nhiều hệ CSDL còn cho phép sử dụng dấu nháy kép (“). Các giá trị ở dạng số không dùng dấu nháy để bao quanh.
Với dữ liệu dạng chuỗi văn bản:Câu lệnh đúng:
SELECT * FROM Persons WHERE FirstName = ’Tove’
Câu lệnh sai:
SELECT * FROM Persons WHERE FirstName = ToveVới dữ liệu dạng số:Câu lệnh đúng:
SELECT * FROM Persons WHERE Year > 1965
Câu lệnh sai:
SELECT * FROM Persons WHERE Year > ’1965′Phép toán điều kiện LIKE
Phép toán LIKE được dùng để tìm kiếm một chuỗi mẫu văn bản trên một cột.
Cú pháp
Cú pháp của phép toán LIKE như sau:SELECT tên_cột FROM tên_bảng
WHERE tên_cột LIKE mẫuMột ký hiệu % có thể được sử dụng để định nghĩa các ký tự đại diện. % có thể được đặt trước và/hoặc sau mẫu.
Sử dụng LIKE
Câu lệnh SQL sau sẽ trả về danh sách những người có tên bắt đầu bằng chữ O:SELECT * FROM Persons
WHERE FirstName LIKE ’O%’Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết thúc bằng chữ a:SELECT * FROM Persons
WHERE FirstName LIKE ’%a’Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết chứa chuỗi la:SELECT * FROM Persons
WHERE FirstName LIKE ’%la%’Toán tử lô-gic AND và ORAND và OR
Hai toán tử AND và OR nối hai hoặc nhiều điều kiện trong mệnh đề WHERE lại với nhau.
Toán tử AND sẽ hiển thị 1 dòng nếu TẤT CẢ các điều kiện đều thoả mãn. Toán tử OR hiển thị một dòng nếu BẤT KỲ điều kiện nào được thoả.
Bảng dữ liệu dùng trong ví dụLastNameFirstNameAddressCityHansenOlaTimoteivn 10SandnesSvendsonToveBorgvn 23SandnesSvendsonStephenKaivn 18SandnesVí dụ 1
Sử dụng AND để tìm những người có tên là Tove và họ là Svendson:SELECT * FROM PersonsWHERE FirstName = ’Tove’AND LastName = ’Svendson’Kết quả trả về:LastNameFirstNameAddressCitySvendsonToveBorgvn 23SandnesVí dụ 2
Sử dụng OR để tìm những người có tên là Tove hoặc họ là Svendson:SELECT * FROM PersonsWHERE firstname = ’Tove’OR lastname = ’Svendson’Kết quả trả về:LastNameFirstNameAddressCitySvendsonToveBorgvn 23SandnesSvendsonStephenKaivn 18SandnesVí dụ 3
Bạn cũng có thể sử dụng kết hợp AND và OR cùng với dấu ngoặc đơn để tạo nên các câu truy vấn phức tạp:SELECT * FROM Persons WHERE(FirstName = ’Tove’ OR FirstName = ’Stephen’)ANDLastName = ’Svendson’Kết quả trả về:
LastNameFirstNameAddressCitySvendsonToveBorgvn 23SandnesSvendsonStephenKaivn 18SandnesToán tử BETWEEN…ANDToán tử BETWEEN…AND lấy ra một miền dữ liệu nằm giữa hai giá trị. Hai giá trị này có thể là số, chuỗi văn bản hoặc ngày tháng.SELECT tên_cột FROM tên_bảng
WHERE tên_cột
BETWEEN giá_trị_1 AND giá_trị_2Bảng dữ liệu dùng trong ví dụLastNameFirstNameAddressCityHansenOlaTimoteivn 10SandnesNordmannAnnaNeset 18SandnesPettersenKariStorgt 20StavangerSvendsonToveBorgvn 23SandnesVí dụ 1
Tìm tất cả những người có họ (sắp xếp theo ABC) nằm giữa Hansen (tính luôn Hansen) và Pettersen(không tính Pettersen):SELECT * FROM Persons WHERE LastName
BETWEEN ’Hansen’ AND ’Pettersen’Kết quả trả về:LastNameFirstNameAddressCityHansenOlaTimoteivn 10SandnesNordmannAnnaNeset 18SandnesLưu ý quan trọng: Toán tử BETWEEN…END sẽ trả về những kết quả khác nhau trên các hệ CSDL khác nhau. Với một số hệ CSDL, toán tử BETWEEN…END sẽ trả về các dòng mà có giá trị thực sự “nằm giữa” hai khoảng giá trị (tức là bỏ qua không tính đến các giá trị trùng với giá trị của hai đầu mút). Một số hệ CSDL thì sẽ tính luôn các giá trị trùng với hai đầu mút. Trong khi đó một số hệ CSDL khác lại chỉ tính các giá trị trùng với đầu mút thứ nhất mà không tính đầu mút thứ hai (như ở ví dụ phía trên). Do vậy, bạn phải kiểm tra lại hệ CSDL mà bạn đang dùng khi sử dụng toán tử BETWEEN…AND.
Ví dụ 2
Để tìm những người có họ (sắp xếp theo ABC) nằm ngoài khoảng hai giá trị ở ví dụ 1, ta dùng thêm toán tử NOT:SELECT * FROM Persons WHERE LastName
NOT BETWEEN ’Hansen’ AND ’Pettersen’Kết quả trả về:
LastNameFirstNameAddressCityPettersenKariStorgt 20StavangerSvendsonToveBorgvn 23SandnesCâu lệnh INSERT INTO.Câu lệnh INSERT INTO
Câu lệnh INSERT INTO được dùng để chèn dòng mới vào bảng.Cú pháp:INSERT INTO tên_bảngVALUES (giá_trị_1, giá_trị_2,….)Bạn cũng có thể chỉ rõ các cột/trường nào cần chèn dữ liệu:INSERT INTO tên_bảng (cột_1, cột_2,…)VALUES (giá_trị_1, giá_trị_2,….)Chèn 1 dòng mới
Ta có bảng Persons như sau:LastNameFirstNameAddressCityPettersenKariStorgt 20StavangerCâu lệnh SQL sau:INSERT INTO PersonsVALUES (‘Hetland’, ’Camilla’, ’Hagabakka 24′, ’Sandnes’)sẽ tạora kết quả trong bảng Persons như sau:LastNameFirstNameAddressCityPettersenKariStorgt 20StavangerHetlandCamillaHagabakka 24StavangerChèn dữ liệu vào các cột/trường cụ thểVới bảng Persons như trên, câu lệnh SQL sau:INSERT INTO Persons (LastName, Address)VALUES (‘Rasmussen’, ’Storgt 67′)Sẽ tạo ra kết quả:LastNameFirstNameAddressCityPettersenKariStorgt 20StavangerHetlandCamillaHagabakka 24StavangerRasmussenStorgt 67Câu lệnh UPDATECâu lệnh UPDATE
Câu lệnh UPDATE được sử dụng để cập nhật/sửa đổi dữ liệu đã có trong bảng.Cú pháp:UPDATE tên_bảngSET tên_cột = giá_trị_mớiWHERE tên_cột = giá_trịVí dụ: bảng Person của ta như sau:LastNameFirstNameAddressCityNilsenFredKirkegt 56StavangerRasmussenStorgt 67Cập nhật 1 cột trên 1 dòngGiả sử ta muốn bổ xung thêm phần tên cho người có họ là Rasmussen:UPDATE Person SET FirstName = ’Nina’WHERE LastName = ’Rasmussen’Ta sẽ có kết quả như sau:LastNameFirstNameAddressCityNilsenFredKirkegt 56StavangerRasmussenNinaStorgt 67Cập nhật nhiều cột trên 1 dòngBây giờ ta lại muốn đổi tên và địa chỉ:UPDATE PersonSET Address = ’Stien 12′, City = ’Stavanger’WHERE LastName = ’Rasmussen’Kết quả sẽ là:
LastNameFirstNameAddressCityNilsenFredKirkegt 56StavangerRasmussenNinaStien 12StavangerCâu lệnh DELETECâu lệnh DELETE được dùng để xoá các dòng ra khỏi bảng.
Cú pháp:DELETE FROM tên_bảng
WHERE tên_cột = giá_trịVí dụ: Bảng Person của ta như sau:LastNameFirstNameAddressCityNilsenFredKirkegt 56StavangerRasmussenNinaStien 12StavangerXoá 1 dòng:
Ta xoá người có tên là Nina Rasmussen:DELETE FROM Person WHERE LastName = ’Rasmussen’Kết quả sau khi xoá:LastNameFirstNameAddressCityNilsenFredKirkegt 56StavangerXoá tất cả các dòng:
Đôi khi ta muốn xoá tất cả dữ liệu trong bảng nhưng vẫn giữ lại bảng cùng với cấu trúc và tất cả các thuộc tính của bảng, ta có thể dùng câu lệnh:DELETE FROM table_namehoặcDELETE * FROM table_nameHàm COUNTSQL có sẵn lệnh để đếm các dòng trong CSDL.
Cú pháp của hàm COUNT:SELECT COUNT(tên_cột) FROM tên_bảngHàm COUNT:
Hàm COUNT trả về số lượng các dòng được chọn ở trong bảng.
Ví dụ ta có bảng Persons như sau:NameAgeHansen, Ola34Svendson, Tove45Pettersen, Kari19Câu lệnh sau sẽ trả về số lượng các dòng trong bảng:SELECT COUNT(*) FROM Personsvà kết quả trả về sẽ là:3Câu lệnh sau sẽ trả về số lượng những người lớn hơn 20 tuổi:SELECT COUNT(*) FROM Persons WHERE Age > 20kết quả trả về sẽ là:2Hàm COUNT(column):
Hàm COUNT(column) sẽ trả về số lượng các dòng có giá trị khác NULL ở cột được chỉ định.
Ví dụ ta có bảng Persons như sau:NameAgeHansen, Ola34Svendson, Tove45Pettersen, KariCâu lệnh sau sẽ trả về số lượng những người mà cột Age trong bảng không rỗng:SELECT COUNT(Age) FROM Personsvà kết quả trả về sẽ là:2Mệnh đề COUNT DISTINCT
Lưu ý: Các ví dụ dưới đây chỉ hoạt động với CSDL Oracle và MS SQL Server, không hoạt động trên MS Access (chưa thử nhiệm với các hệ CSDL khác!)
Từ khoá DISTINCT và COUNT có thể được dùng chung với nhau để đếm số lượng các kết quả không trùng nhau.
Cú pháp như sau:SELECT COUNT(DISTINCT column(s)) FROM tableVí dụ ta có bảng Orders như sau:CompanyOrderNumberSega3412W3Schools2312Trio4678W3Schools6798Câu lệnh SQL sau:SELECT COUNT(DISTINCT Company) FROM Orderssẽ trả về kết quả là:3Phần Nâng cao-HàmSQL có sẵn khá nhiều hàm để thực hiện đếm và tính toán.
Cú pháp:
Cú pháp để gọi hàm trong câu lệnh SQL như sau:SELECT function(tên_cột) FROM tên_bảngBảng dữ liệu chúng ta sẽ dùng trong các ví sụ tiếp theo:NameAgeHansen, Ola34Svendson, Tove45Pettersen, Kari19Hàm AVG(column)Hàm AVG trả về giá trị trung bình tính theo cột được chỉ định của các dòng được chọn. Các giá trị NULL sẽ không được xét đến khi tính giá trị trung bình.
Ví dụ:Câu lệnh sau sẽ tính số tuổi trung bình của những người có tuổi trên 20:SELECT AVG(Age) FROM Persons WHERE Age > 20kết quả trả về sẽ là:39.5Hàm MAX(column)
Hàm MAX trả về giá trị lớn nhất trong cột. Các giá trị NULL sẽ không được xét đến.
Ví dụ:SELECT MAX(Age) FROM Personskết quả trả về:45Hàm MIN(column)
Hàm MAX trả về giá trị nhỏ nhất trong cột. Các giá trị NULL sẽ không được xét đến.
Ví dụ:SELECT MIN(Age) FROM Personskết quả trả về:19Lưu ý: Hàm MIN và MAX cũng có thể áp dụng cho các cột có dữ liệu là chuỗi văn bản. Dữ liệu trong cột sẽ được so sánh theo thứ tự tăng dần của từ điển
Hàm SUM(column)
Hàm SUM trả về tổng giá trị của cột. Các giá trị NULL sẽ không được xét đến.
Ví dụ:
Tìm tổng số tuổi của tất cả những người có trong bảng:SELECT SUM(Age) FROM Personskết quả trả về:98Ví dụ:
Tìm tổng số tuổi của tất cả những người có tuổi lớn hơn 20:SELECT SUM(Age) FROM Persons WHERE Age > 20kết quả trả về:79Tạo CSDL và bảng với CREATETạo một CSDLCREATE DATABASE tên_CSDLTạo một bảng trong một CSDLCREATE TABLE tên_bảng
(
tên_cột_1 kiểu_dữ_liệu,
tên_cột_2 kiểu_dữ_liệu,
…….
)Ví dụ
Tạo một bảng tên Person có bốn cột: LastName, FirstName, Address và Age:CREATE TABLE Person
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)Tạo bảng và đặt kích thước tối đa của các cột:CREATE TABLE Person
(
LastName varchar(30),
FirstName varchar,
Address varchar,
Age int(3)
)Kiểu dữ liệu sẽ qui định loại dữ liệu nào được phép lưu trữ trong cột. Sau đây là các kiểu dữ liệu thường dùng nhất trong SQL:integer(n)
int(n)
smallint(n)
tinyint(n)Chỉ lưu trữ dữ liệu là số nguyên. Số lượng tối đa các chữ số được qui định bởi n.decimal(n,d)
numeric(n,d)Lưu trữ số thập nhân. Số lượng tối đa các chữ số được qui định bởi n. Số lượng tối đa các chữ số sau dấu phảy thập phân được qui định bởi d.char(n)Lưu trữ n ký tự.varchar(n)Lưu trữ tối đa n ký tự.date(yyyymmdd)Lưu trữ ngày tháng (dạng năm-tháng-ngày)Tạo chỉ mục
Chỉ mục được tạo ra nhằm để các dòng trong bảng được truy xuất nhanh và hiệu quả hơn. Chỉ mục có thể được tạo trên một hoặc nhiều cột của bảng, và mỗi chỉ mục được đặt một tên. Người dùng không thấy được các chỉ mục này, chúng chỉ được dùng để tăng tốc cho CSDL.
Lưu ý: Sau khi bảng đã được tạo chỉ mục thì việc cập nhật thay thêm dòng mới vào bảng sẽ mất nhiều thời gian hơn là đối với bảng không có chỉ mục. Lý do là vì khi cập nhật bảng, các chỉ mục đồng thời cũng phải được cập nhật theo. Vì thế, ta chỉ nên tạo chỉ mục cho các cột thường xuyên dùng trong các tác vụ tìm kiếm.
Chỉ mục đơn nhất (Unique Index)
Chỉ mục đơn nhất sẽ bắt buộc hai dòng bất kỳ của bảng sẽ không được phép mang cùng giá trị ở cột được tạo chỉ mục.
Cú pháp:CREATE UNIQUE INDEX tên_chỉ_mục
ON tên_bảng (tên_cột)Chỉ mục đơn (Simple Index)
Khi không dùng từ khoá UNIQUE trong câu lệnh tạo chỉ mục, các giá trị trùng nhau trong cột sẽ được phép.
Cú pháp:CREATE INDEX tên_chỉ_mục
ON tên_bảng (tên_cột)Ví dụ
Tạo một chỉ mục đơn có tên là PersonIndex trên cột LastName của bảng Person:CREATE INDEX PersonIndex
ON Person (LastName)Nếu bạn muốn tạo chỉ mục sắp xếp giảm dần, bạn sử dụng thêm từ dành riêng DESC:CREATE INDEX PersonIndex
ON Person (LastName DESC)Nếu bạn muốn tạo chỉ mục trên nhiều cột:CREATE INDEX PersonIndex
ON Person (LastName, Firstname)Xoá chỉ mục
Bạn có thể xoá chỉ mục đã tạo bằng lệnh DROP.DROP INDEX tên_bảng.tên_chỉ_mụcXoá CSDL hoặc bảng
Để xoá một CSDL (các bảng trong CSDL cũng đồng thời được xoá):DROP DATABASE tên_CSDLĐể xoá một bảng (toàn bộ cấu trúc, dữ liệu và chỉ mục của bảng sẽ được xoá):DROP TABLE tên_bảngCâu lệnh ALTERThay đổi cấu trúc bảng.
Câu lệnh ALTER TABLE được sử dụng để thêm hoặc xoá cột trong một bảng.ALTER TABLE tên_bảng
ADD tên_cột kiểu_dữ_liệu
ALTER TABLE tên_bảng
DROP COLUMN tên_cộtLưu ý: Một số hệ CSDL không cho phép việc xoá bỏ cột trong bảng.
Ví dụ: ta có bảng Person như sau:LastNameFirstNameAddressPettersenKariStorgt 20Thêm một cột tên là City vào bảng Person:ALTER TABLE Person ADD City varchar(30)kết quả:LastNameFirstNameAddressCityPettersenKariStorgt 20Xoá cột Address:ALTER TABLE Person DROP COLUMN Addresskết quả:
LastNameFirstNameCityPettersenKari
Labels: SQL Server 2005, SQL Server 2008 Express