1. Trang chủ
  2. » Tất cả

Bai tap thuc hanh mon co so du lieu

11 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bai 01 GioithieuMySQL doc Bài 1 – GIỚI THIỆU MySQL 1 Chuẩn bị MySQL có hai phiên chính là MySQL Enterprise và MySQL Community Server Trong phần thực hành này ta chọn MySQL Community Server phiên bản 5[.]

Bài – GIỚI THIỆU MySQL Chuẩn bị MySQL có hai phiên MySQL Enterprise MySQL Community Server Trong phần thực hành ta chọn MySQL Community Server phiên 5.0.45 MySQL GUI Tools phiên 5.0.12 http://dev.mysql.com/downloads Khởi ñộng tắt MySQL Server ðể khởi động MySQL Server ta dùng hai cách sau: a MySQL Server tự ñộng khởi ñộng sau khởi ñộng Windows q trình cài đặt ta chọn thiết lập cài đặt MySQL dịch vụ Windows b Sử dụng lệnh mysqld-nt sau: ● Mở cửa sổ dòng lệnh Command Prompt bằng: + Start → All Programs → Accessories → Command Promt + Start → Run thực thi lệnh cmd ● Từ cửa sổ dòng lệnh thực lệnh mysqld-nt [options] Trong [options] tùy chọn khởi ñộng cho MySQL Server ðể xem ñầy ñủ nội dung tùy chọn ta sử dụng mysqld-nt –verbose –help Nếu khởi ñộng với options mặc ñịnh dùng lệnh mysqld-nt, options ñược lấy tập tin cấu hình my.ini thư mục cài ñặt MySQL thư mục Windows hệ thống ðể tắt MySQL Server ta sử dụng lệnh mysqladmin sau: ● Mở cửa sổ dòng lệnh Command Prompt ● Từ cửa sổ dòng lệnh thực lệnh mysqladmin -u root shutdown Quản trị MySQL với MySQL Administrator ðể dễ dàng tạo sở liệu sử dụng cơng cụ hổ trợ quản trị MySQL Server gọi MySQL Administrator Sau chắn MySQL Server ñã ñược khởi ñộng, ta khởi ñộng MySQL Administrator cách chọn Start → All Programs → MySQL → MySQL Administrator Cửa sổ ñăng nhập MySQL Administrator xuất (Hình 1.1) Giả sử MySQL Server cài ñặt máy ñơn mà ta ñang sử dụng ðể kết nối với MySQL Server ta cần thông số sau sau: Server Host: localhost Port: 3306 Username: root Password: Sau nhấp chuột vào nút OK Nếu kết nối thành cơng cửa sổ MySQL Administrator xuất (Hình 1.2) ðể tạo sở liệu ta chọn mục Catalogs phần bên trái cửa sổ Nhấp chuột phải vào phần góc trái cửa sổ chọn Create New Schema, ý MySQL sở liệu cịn gọi Schema Hộp thoại Create New Schema xuất ThiNganHang.com (Hình 1.3) yêu cầu ta nhập vào Schema name, tên sở liệu cần tạo Hình 1.1: Cửa sổ đăng nhập MySQL Administrator Hình 1.2: Cửa sổ MySQL Administrator ThiNganHang.com Hình 1.3: Hộp thoại Create New Schema Giả sử ta tạo sở liệu có tên CSDL_Congty, ñó Schema csdl_congty xuất danh sách Schema góc trái cửa sổ ðể tạo mới, chỉnh sửa, xóa quan hệ (bảng) sở liệu, ta nhấp chuột ñể chọn sở liệu (schema) danh sách schema Trong phần bên phải cửa sổ xuất mục Schema Tables cho phép thực việc tạo, hiệu chỉnh xóa quan hệ (Hình 1.4) Hình 1.4: Cửa sổ với mục Schema Tables Truy vấn với MySQL Query Browser MySQL Query Browser cho phép ta thực lệnh truy vấn sở liệu ðể sử dụng MySQL Query Browser ta khởi động từ Start → All Programs → MySQL → MySQL Query Browser Khi cửa sổ đăng nhập MySQL Query Browser xuất (Hình 1.5) ThiNganHang.com Hình 1.5: Cửa sổ đăng nhập MySQL Query Browser Giả sử MySQL Server ñược cài ñặt máy ñơn mà ta ñang sử dụng Ta nhập vào thông số tương tự kết nối MySQL Administrator với MySQL Server: Server Host: localhost Username: root Password: Trong mục Default Schema phải nhập vào tên sở liệu mà ta muốn thực truy vấn Sau nhấp chuột vào nút OK cửa sổ MySQL Query Browser xuất (Hình 1.6) Cửa sổ MySQL Query Browser gồm thành phần sau a Cơng cụ truy vấn – Query Toolbar Nơi để soạn thảo thực thi truy vấn Gồm có nút di chuyển (Go back, Next, Refresh), vùng soạn thảo truy vấn, nút chức (Execute, Stop) ● Các nút di chuyển Dùng ñể duyệt danh mục lệnh truy vấn ñã ñược thực thi Chỉ lệnh truy vấn khơng xảy lỗi lưu vào danh mục Nút Go back chuyển nhóm lệnh truy vấn ñã thực thi trước nhóm lệnh ñang có vùng soạn thảo truy vấn Nút Next chuyển ñến nhóm lệnh truy vấn thực thi sau nhóm lệnh có vùng soạn thảo truy vấn Nút Refresh thực thi lại nhóm lệnh truy vấn ñược thực thi gần ● Vùng soạn thảo truy vấn Dùng hiển thị soạn thảo lệnh truy vấn Vùng mặc định có dịng mở rộng lên tối đa 10 dịng Nếu truy vấn dài 10 dịng ThiNganHang.com cuộn xuất ðể tăng tối đa kích thước vùng soạn thảo dùng View → Maximize Query Edit gõ phím F11 ● Các nút chức Dùng để thực thi dừng lệnh truy vấn Nút Execute dùng ñể thực thi lệnh truy vấn thời vùng soạn thảo Nút Stop dùng ñể chấm dứt lệnh thực thi việc thực thi xảy lâu mà chưa cho kết ðể lưu lại câu lệnh truy vấn ñã thực thi vào tập tin dùng File → Save As Sau ta chọn kiểu tập tin ñể lưu SQL Script File ANSI (*.sql) Hình 1.6: Cửa sổ MySQL Query Browser b Công cụ truy vấn – Query Toolbar Nơi ñể soạn thảo thực thi truy vấn Gồm có nút di chuyển (Go back, Next, Refresh), vùng soạn thảo truy vấn, nút chức (Execute, Stop) ● Các nút di chuyển Dùng ñể duyệt danh mục lệnh truy vấn ñã ñược thực thi Chỉ lệnh truy vấn khơng xảy lỗi lưu vào danh mục Nút Go back chuyển nhóm lệnh truy vấn thực thi trước nhóm lệnh ñang có vùng soạn thảo truy vấn Nút Next chuyển đến nhóm lệnh truy vấn thực thi sau nhóm lệnh có vùng soạn thảo truy vấn Nút Refresh thực thi lại nhóm lệnh truy vấn ñã ñược thực thi gần ● Vùng soạn thảo truy vấn Dùng hiển thị soạn thảo lệnh truy vấn Vùng mặc định có dịng mở rộng lên tối đa 10 dịng Nếu truy vấn dài 10 dịng ThiNganHang.com cuộn xuất ðể tăng tối ña kích thước vùng soạn thảo dùng View → Maximize Query Edit gõ phím F11 ● Các nút chức Dùng ñể thực thi dừng lệnh truy vấn Nút Execute dùng ñể thực thi lệnh truy vấn thời vùng soạn thảo Nút Stop dùng ñể chấm dứt lệnh thực thi việc thực thi xảy lâu mà chưa cho kết ðể lưu lại câu lệnh truy vấn ñã thực thi vào tập tin dùng File → Save As Sau ñó ta chọn kiểu tập tin ñể lưu SQL Script File ANSI (*.sql) c Vùng hiển thị kết truy vấn – Result Area Nơi hiển thị kết lệnh truy vấn d Vùng duyệt ñối tượng - Object Browser Nơi liệt kê cho phép lựa chọn sở liệu, quản lý bookmark danh mục câu lệnh truy vấn ñã ñược thực Trình duyệt sở liệu, thẻ Schemata, thành phần vùng duyệt đối tượng Ta chọn quan hệ thuộc tính quan hệ, hiệu chỉnh, hủy tạo bảng, hủy tạo sở liệu Ta lựa chọn sở liệu mặc định ñể thực truy vấn sở liệu Cơ sở liệu mặc định ln tơ đậm, để thay đổi sở liệu mặc ñịnh nhấp chuột phải vào sở liệu muốn ñổi chọn Make Default Schema e Vùng duyệt thông tin - Information Browser Nơi cho phép tham khải nhanh thông tin cú pháp lệnh, cách sử dụng tốn tử hàm có sẵn MySQL f Vùng soạn thảo script – Script Editor Nơi ñể soạn thảo nhóm lệnh truy vấn lớn Vùng nằm thẻ riêng biệt vùng hiển thị kết truy vấn Khi vùng xuất hiện, công cụ Advanced Toolbar xuất thay Query Toolbar ðể tạo vùng soạn thảo dùng File → New Script Tab ðể lưu lại nội dung vùng soạn thảo dùng File → Save As chọn kiểu tập tin ñể lưu SQL Script File ANSI (*.sql) Các nút chức gỡ lỗi công cụ Advanced Toolbar sử dụng với Script Editor gồm: ● Execute: thực thi tất lệnh truy vấn vùng soạn thảo ● Continue: thực thi lệnh truy vấn ñầu tiên (hoặc lệnh truy vấn vị trí trỏ) kết thúc xảy lỗi gặp ñiểm gãy (break point) ● Step: thực thi lệnh truy vấn ThiNganHang.com ● ● Pause: dừng việc thực thi tơ đậm lệnh thực thi Stop: dừng việc thực thi Kiểu liệu MySQL a Các kiểu số MySQL hổ trợ tất kiểu số SLQ chuẩn gồm kiểu số xác (INTEGER, SMALLINT, DECIMAL NUMERIC) kiểu số gần ñúng (FLOAT, REAL DOUBLE PRECISION) INT viết tắt INTEGER DEC viết tắt DECIMAL Ngoài ra, MySQL hổ trợ kiểu số SQL mở rộng TINYINT, MEDIUMINT BIGINT Bảng 1.1 liệt kê kích thước phạm vi kiểu số Kiểu TINYINT SMALLINT MEDIUMINT INT BIGINT Kích thước (Bytes) Giá trị nhỏ (Dấu / Khơng dấu) Giá trị lớn (Dấu / không dấu) -128 127 255 -32,768 32,767 65,535 -8,388,608 8,388,607 16,777,215 -2,147,483,648 2,147,483,647 4,294,967,295 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 18,446,744,073,709,551,615 Bảng 1.1: Kích thước phạm vi kiểu số Với kiểu số gần ñúng MySQL dùng bytes biểu diễn giá trị gần ñúng bytes biểu diễn giá trị xác Kiểu FLOAT DOUBLE dùng ñể biểu diễn kiểu số gần ñúng Kiểu số gần ñúng với ñộ xác từ – 23 chữ số ñược biểu diễn kiểu FLOAT độ xác từ 24 – 53 chữ số ñược biểu diễn kiểu DOUBLE MySQL cho phép biểu diễn độ xác kiểu gần với cú pháp FLOAT(M, D), REAL(M, D) DOUBLE PRECISION(M, D) với M tổng số chữ số D số chữ số phần thập phân Ví dụ, FLOAT(7, 4) biễu diễn số chữ số có dạng -999.9999 MySQL làm trịn số lưu trữ Ví dụ, giá trị 999.00009 với kiểu FLOAT(7, 4) ñược làm tròn thành 999.0001 Kiểu DOUBLE PRECISION SQL mở rộng tương ñương với kiểu DOUBLE ThiNganHang.com b Kiểu thời gian Các kiểu ngày tháng dùng ñể biểu diễn giá trị thời gian DATETIME, DATE, TIMESTAMP, TIME YEAR Mỗi kiểu thời gian có vùng giá trị hợp lệ giá trị gọi zero dùng để giá trị khơng hợp lệ mà MySQL khơng thể biểu diễn Kích thước kiểu thời gian ñược cho Bảng 1.2 Kiểu Kích thước (Bytes) DATE TIME DATETIME TIMESTAMP YEAR Bảng 1.2: Kích thước kiểu thời gian Các ý sử dụng kiểu thời gian: ● MySQL khôi phục giá trị kiểu ngày theo ñịnh dạng xuất chuẩn, hiểu nhiều định dạng cho giá trị nhập ● Các kiểu ngày tháng với giá trị có năm hai chữ số gây nhập nhằng thành phần thiên niên kỷ khơng xác ñịnh cụ thể MySQL hiểu giá trị có năm hai chữ số theo quy tắc sau: + Giá trị năm từ 70 – 99 ñược hiểu từ 1970 – 1999 + Giá trị năm từ 00 – 69 ñược hiểu từ 2000 – 2069 ● Mặc dù MySQL hiểu giá trị theo nhiều ñịnh dạng, giá trị kiểu ngày tháng phải ln nhập vào theo thứ tự năm-tháng-ngày Ví dụ, 98-0904 ngày 04 tháng 09 năm 1998 ● MySQL tự ñộng chuyển giá trị kiểu ngày tháng thành số giá trị ñược dùng dạng số ngược lại ● Khi MySQL gặp phải giá trị kiểu ngày tháng nằm ngồi phạm vi biểu diễn khơng hợp lệ, chuyển giá trị thành giá trị zero ứng với kiểu tương ứng Riêng giá trị nằm ngồi phạm vi kiểu TIME cắt để thành giá trị giới hạn thích hợp kiểu TIME ● Zero giá trị ñặc biệt, ta lưu xem chúng cách tường minh giá trị bảng bên Ta viết cách đơn giản giá trị zero ThiNganHang.com Kiểu Giá trị zero DATETIME '0000-00-00 00:00:00' DATE '0000-00-00' TIMESTAMP '0000-00-00 00:00:00' TIME '00:00:00' YEAR 0000 Bảng 1.3: Giá trị zero kiểu ● Kiểu DATETIME, DATE TIMESTAMP Kiểu DATETIME ñược dùng ta cần biểu diễn giá trị chứa thông tin ngày tháng MySQL khôi phục hiển thị giá trị DATETIME theo ñịnh dạng 'YYYY-MM-DD HH:MM:SS' Phạm vi biểu diễn từ '1000-01-01 00:00:00' ñến '9999-12-31 23:59:59' Kiểu DATE ñược dùng ta cần biểu diễn giá trị chứa thông tin ngày tháng MySQL khôi phục hiển thị giá trị DATE theo ñịnh dạng 'YYYY-MM-DD' Phạm vi biểu diễn từ '1000-01-01' đến '9999-12-31' Kiểu TIMESTAMP có nhiều tính chất phụ thuộc vào phiên MySQL chế độ SQL mà hệ quản trị chạy Có nhiều ñịnh dạng ñể ñịnh nghĩa giá trị DATETIME, TIME TIMESTAMP: Chuỗi có dạng 'YYYY-MM-DD HH:MM:SS' 'YYYY-MM-DD' Ví dụ, '1998-12-31 11:30:45' 11 30 phút 45 giây ngày 31 tháng 12 năm 1998 Chuỗi có dạng 'YYYYMMDDHHMMSS' 'YYYYMMDD' Ví dụ '19981231113045' 11 30 phút 45 giây ngày 31 tháng 12 năm 1998 Số có dạng YYYYMMDDHHMMSS YYYYMMDD Ví dụ 19830905132800 13 28 phút ngày 05 tháng 09 năm 1983 Các giá trị khơng hợp lệ chuyển thành zero kiểu tương ứng Khi MySQL Server chạy với chế ñộ MAXDB kiểu TIMESTAMP DATETIME Khi khơng chạy với chế độ MAXDB thuộc tính có kiểu TIMESTAMP có giá trị mặc định NOT NULL ● Kiểu TIME MySQL khôi phục hiển thị giá trị TIME theo ñịnh dạng 'HH:MM:SS' (hoặc ñịnh dạng 'HHH:MM:SS' với giá trị lớn) Các giá trị TIME có phạm vi biểu diễn từ '-838:59:59' đến '838:59:59' Thành phần có giá trị lớn kiểu TIME khơng dùng để biểu diễn ngày mà cịn dùng để biểu diễn khoảng thời gian hai mốc kiện Có nhiều ñịnh dạng ñể ñịnh nghĩa giá trị TIME: ThiNganHang.com Chuỗi có dạng 'D HH:MM:SS' Chuỗi có dạng 'HHMMSS' giá trị biểu diễn ngày Ví dụ, '101112' 10 11 phút 12 giây Số có dạng HHMMSS giá trị biểu diễn ngày Ví dụ, 101112 10 11 phút 12 giây Các giá trị nằm phạm vi biểu diễn kiểu TIME ñược chuyển giá trị giới hạn thích hợp Ví dụ, '-850:00:00' trở thành '-838:59:59' Các giá trị không hợp lệ trở thành '00:00:00' Vậy gặp giá trị '00:00:00' ta khơng thể nói giá trị định nghĩa '00:00:00' giá trị không hợp lệ - ● Kiểu YEAR Kiểu YEAR dùng ñể biểu diễn giá trị năm MySQL khôi phục hiển thị giá trị YEAR theo ñịnh dạng YYYY Phạm vi biểu diễn từ 1901 đến 2155 Có nhiều định dạng để ñịnh nghĩa giá trị YEAR: Chuỗi chữ số từ '1901' đến '2155' Ví dụ, '1990' năm 1990 Số chữ số từ 1901 đến 2155 Ví dụ, 1990 năm 1990 Chuỗi số từ '00' ñến '99' Ví dụ, '90' năm 1990 Lưu ý nhập nhằng thiếu thành phần thiên niên kỷ Số từ đến 99 Ví dụ, 50 năm 2050 Lưu ý nhập nhằng thiếu thành phần thiên niên kỷ Trong trường hợp ta sử dụng số ñể năm 2000 mà ta phải dùng chuỗi '0' '00' số ñược hiểu giá trị zero Các giá trị không hợp lệ ñược chuyển thành zero ● Vấn ñề năm 2000 kiểu thời gian MySQL Server không gặp vấn ñề với năm 2000 (Y2K) c Kiểu chuỗi Các kiểu chuỗi gồm CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM ● Kiểu CHAR VARCHAR Kiểu CHAR VARCHAR tương tự khác cách giá trị chúng lưu trữ khơi phục Kiểu CHAR VARCHAR ñược khai báo với ñộ dài ñể ñịnh rõ số tối ña ký tự mà giá trị có Ví dụ, CHAR(30) giá trị chuỗi chứa tối đa 30 ký tự Với kiểu CHAT độ dài có giá trị từ ñến 255 Khi chuỗi giá trị kiểu CHAR ñược lưu, ký tự trắng ñược ghép vào cuối để chuỗi có chiều dài chiều dài ñịnh Khi chuỗi giá trị CHAR ñược khôi phục, ký tự trắng cuối chuỗi bị xóa Các giá trị kiểu VARCHAR chuỗi có độ dài thay đổi ðộ dài có giá trị từ ñến 65535 Khác với kiểu CHAR, giá trị kiểu VARCHAR ñược lưu với ñộ ThiNganHang.com dài thực Nếu chuỗi giá trị có độ dài lớn ñộ dài ñã ñược xác ñịnh chuỗi bị cắt bớt ký tự cuối để có ñộ dài ñã xác ñịnh Bảng 1.4 minh họa khác kiểu CHAR VARCHAR Chuỗi giá trị CHAR(4) VARCHAR(4) '' ' ' '' 'ab' 'ab ' 'ab' 'abcd' 'abcd' 'abcd' 'abcdefg' 'abcd' 'abcd' Bảng 1.4: Sự khác kiểu CHAR VARCHAR ● Kiểu BINARY VARBINARY Kiểu BINARY VARBINARY tương tự CHAR VARCHAR giá trị chuỗi nhị phân, chuỗi byte Do giá trị xếp so sánh dựa giá trị số byte Khái niệm ñộ dài BINARY VARBINARY tượng tự CHAR VARCHAR độ dài tính theo số byte thay tính theo số ký tự Ví dụ, BINARY(5) giá trị chuỗi nhị phân byte ● Kiểu BLOB TEXT Kiểu BLOB TEXT chứa giá trị chuỗi nhị phân chuỗi ký tự lớn ● Kiểu ENUM Kiểu ENUM chứa giá trị chuỗi ñược liệt kê trước ThiNganHang.com ... e Vùng duyệt thông tin - Information Browser Nơi cho phép tham khải nhanh thông tin cú pháp lệnh, cách sử dụng toán tử hàm có sẵn MySQL f Vùng so? ??n thảo script – Script Editor Nơi ñể so? ??n thảo... Query Toolbar Nơi ñể so? ??n thảo thực thi truy vấn Gồm có nút di chuyển (Go back, Next, Refresh), vùng so? ??n thảo truy vấn, nút chức (Execute, Stop) ● Các nút di chuyển Dùng ñể duyệt danh mục lệnh... lệnh có vùng so? ??n thảo truy vấn Nút Next chuyển đến nhóm lệnh truy vấn thực thi sau nhóm lệnh có vùng so? ??n thảo truy vấn Nút Refresh thực thi lại nhóm lệnh truy vấn thực thi gần ● Vùng so? ??n thảo

Ngày đăng: 24/02/2023, 10:38

w