Kinh Tế - Quản Lý - Báo cáo khoa học, luận văn tiến sĩ, luận văn thạc sĩ, nghiên cứu - Công nghệ thông tin SQL Structured Query Language TS. Lê Thị Lan Thi-Lan.Lemica.edu.vn Hà Nội - 2011 CuuDuongThanCong.com https:fb.comtailieudientucntt 2Thi-Lan Le, MICA HUST Nội dung môn học Giới thiệu về SQL Các thành phần của SQL Ngôn ngữ định nghĩa dữ liệu Ngôn ngữ thao tác dữ liệu Kết luận và bài tập CuuDuongThanCong.com https:fb.comtailieudientucntt 3Thi-Lan Le, MICA HUST 1. Giới thiệu SQL Ngôn ngữ Sequel trong dự án System-R 1986: Chuẩn SQL được ra đời có tên gọi SQL-86 2 chuẩn khác ra đời sau này là SQL-89 và SQL-92, SQL-99 CuuDuongThanCong.com https:fb.comtailieudientucntt 4Thi-Lan Le, MICA HUST 1. Giới thiệu SQL Một số chú ý khi làm việc với SQL: Kiểm tra dạng chuẩn sử dụng trong hệ QT CSDL SQL: Không phân biệt chữ hoa chữ thường Một số hệ cần dấu chấm phẩy sau câu lệnh Tham khảo: www.learn-sql-tutorial.com www.w3schools.comSQLsqlsyntax.asp CuuDuongThanCong.com https:fb.comtailieudientucntt 5Thi-Lan Le, MICA HUST 2. Các thành phần của SQL Ngôn ngữ định nghĩa dữ liệu (DDL) Data Definition Language Ngôn ngữ thao tác dữ liệu (DML) Data Manipulation Language Ngôn ngữ điều khiển giao dịch CuuDuongThanCong.com https:fb.comtailieudientucntt 6Thi-Lan Le, MICA HUST 3. Ngôn ngữ định nghĩa dữ liệu Cho phép định nghĩa: Sơ đồ đối với mỗi bảng Kiểu dữ liệu hay miền giá trị Các ràng buộc toàn vẹn Tập các chỉ dẫn Thông tin an toàn và ủy quyền đối với từng bảng Cấu trúc lưu trữ vật lý CuuDuongThanCong.com https:fb.comtailieudientucntt 7Thi-Lan Le, MICA HUST 3. Ngôn ngữ định nghĩa dữ liệu Kiểu dữ liệu: Dữ liệu xâu ký tự: – Char(n) – Varchar (n) : Độ dài thay đổi Dữ liệu số: – Int or Integer (từ -2,147,483,648 đến 2,147,483,647) – Smallint (từ -32,768 đến 32,767) – Numeric (p,s) – Real, double precision – Float (n) Dữ liệu ngày tháng – Date: YYYY-MM-DD – Time: HH:MM.SS.MMMM CuuDuongThanCong.com https:fb.comtailieudientucntt 8Thi-Lan Le, MICA HUST 3 Ngôn ngữ định nghĩa dữ liệu Tạo bảng trong CSDL: CREATE TABLE ( NOT NULL, CONSTRAINT …) CuuDuongThanCong.com https:fb.comtailieudientucntt 9Thi-Lan Le, MICA HUST 3. Ngôn ngữ định nghĩa dữ liệu Tạo bảng – Xác định khóa chính CuuDuongThanCong.com https:fb.comtailieudientucntt 10Thi-Lan Le, MICA HUST 3. Ngôn ngữ định nghĩa dữ liệu Thêm - Xóa cột trong bảng CuuDuongThanCong.com https:fb.comtailieudientucntt 11Thi-Lan Le, MICA HUST 3. Ngôn ngữ định nghĩa dữ liệu Xóa bảng: Cú pháp: DROP TABLE relationname Ví dụ: DROP TABLE branch CuuDuongThanCong.com https:fb.comtailieudientucntt 12Thi-Lan Le, MICA HUST 4. Ngôn ngữ thao tác dữ liệu Một số từ khóaG e n e r a l S t r u c t u r e S E L E C T , A L L D I S T I N C T , , A S , F R O M , W H E R E C o m p a r i s o n I N , B E T W E E N , L I K E " " G r o u p i n g G R O U P B Y , H A V I N G , C O U N T ( ) , S U M ( ) , A V G ( ) , M A X ( ) , M I N ( ) D i s p l a y O r d e r O R D E R B Y , A S C D E S C L o g i c a l O p e r a t o r s A N D , O R , N O T O u t p u t I N T O T A B L E C U R S O R T O F I L E A D D I T I V E , T O P R I N T E R , T O S C R E E N U n i o n U N I O N CuuDuongThanCong.com https:fb.comtailieudientucntt 13Thi-Lan Le, MICA HUST 4. Ngôn ngữ thao tác dữ liệu Ví dụ: Bảng student lưu các thông tin về sinh viên Thuộc tính Kiểu dữ liệu Độ rộng Giải thích id numeric 4 Số hiệu sinh viên name character 10 Tên sinh viên dob date 8 Ngày tháng năm sinh sex character 1 Giới tính (M F) class character 2 Tên lớp hcode character 1 Mã nhà (R, Y, B, G) dcode character 3 Mã quận remission logical 1 Quyền nhập học (T, F) mtest numeric 2 Điểm thi toán CuuDuongThanCong.com https:fb.comtailieudientucntt 14Thi-Lan Le, MICA HUST 4. Ngôn ngữ thao tác dữ liệu Dữ liệu trong bảng studentid name dob sex class mtest hcode dcode remission 9801 Peter 060486 M 1A 70 R SSP .F. 9802 Mary 011086 F 1A 92 Y HHM .F. 9803 Johnny 031686 M 1A 91 G SSP .T. 9804 Wendy 070986 F 1B 84 B YMT .F. 9805 Tobe 101786 M 1B 88 R YMT .F. : : : : : : : : : CuuDuongThanCong.com https:fb.comtailieudientucntt 15Thi-Lan Le, MICA HUST 4. Ngôn ngữ thao tác dữ liệu Thêm một bộ dữ liệu (~ 1 dòng) vào 1 bảng trong CSDL Cách 1: INSERT INTO Tablename VALUES (value 1, value 2, …, value n) Cách 2: INSERT INTO Tablename (column 1, column 2, …, column n) VALUES (value 1, value 2, …, value n) Câu hỏi: Đánh giá đặc điểm cũng như ưu, nhược điểm của từng cách CuuDuongThanCong.com https:fb.comtailieudientucntt 16Thi-Lan Le, MICA HUST 4. Ngôn ngữ thao tác dữ liệu Truy vấn lựa chọn các dòng trên các bảng có tên tablename và trả kết quả dưới dạng bảng Biểu thức expr1, expr2 có thể : một cột hoặc một biểu thức gồm các hàm và các trường col1, col2 là tên các cột trong bảng kết quả DISTINCT: bỏ hết các bộ lặp trong kết quả trong khi từ khóa ALL thì dữ lại toàn bộ các bộ lặp condition có thể là : Toán tử so sánh >,