Chương 3 Hệ quản trị cơ sở dữ liệu MySQL thuộc bài giảng Mã nguồn mở. Cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung sau: tổng quan về MySQL, khởi động và tắt dịch vụ MySQL, truy cập MySQL, thay đổi password cho root, các thao tác trên CSDL, định nghĩa bảng, truy vấn dữ liệu, import và export dữ liệu.
Môn Các Hệ Thống Mã Nguồn Mở Chương : Hệ quản trị Cơ sở liệu mysql Giảng viên : ThS Nguyễn Minh Thành Email : thanhnm@itc.edu.vn Môn Các Hệ Thống Mã Nguồn Mở Nội Dung Tổng quan MySQL Khởi động tắt dịch vụ MySQL Truy cập MySQL MySQL Console PhpMyAdmin Thay đổi password cho root (tài khoản mặc định) Các thao tác CSDL Định nghĩa bảng Truy vấn liệu Import Export liệu Công cụ đồ họa MySQL GUI TOOLS Môn Các Hệ Thống Mã Nguồn Mở Tổng Quan Về MySQL • • • MySQL hệ quản trị sở liệu đa luồng mã nguồn mở tương tự SQL Server, Oracle… • • Hiện nay, MySQL Oracle mua lại • MySQL có nhiều phiên phát hành : cá nhân dùng miễn phí nhiên doanh nghiệp cần phải trả phí sử dụng Chuyên dụng cho mức độ doanh nghiệp MySQL phát triển công ty tư vấn phát triển ứng dụng Thuỵ Điển có tên TcX sau đổi tên thành MySQL AB MySQL phát triển phổ biến cho hệ điều hành Linux, nhiên, với phiên nay, sử dụng tốt hệ điều hành Windows Môn Các Hệ Thống Mã Nguồn Mở Đặc điểm MySQL • • • • • • • Tốc độ truy xuất nhanh, ổn định, dễ sử dụng Có tính khả chuyển, hoạt động nhiều tảng HĐH Cung cấp hệ thống thư viện hàm lớn Khả bảo mật tốt Hoạt động hệ client/server hệ thống nhúng Thích hợp cho hệ thống Internet (Yahoo!, Alcatel, Google, Nokia, YouTube…) Được hỗ trợ nhiều ngôn ngữ lập lập trình Mơn Các Hệ Thống Mã Nguồn Mở Lịch sử phát triển MySQL • • • • • • • • • 1994 : phát triển Michael Widenius David Axmark thuộc công ty TcX 23-5-1995 : phát hành phiên 8-1-1998 : phiên Windows 95 NT phát hành 01-2001 : phiên phát hành 03-2003 : phiên phát hành 26-2-2008 : Sun MicroSystem mua lại MySQL AB 27-11-2008 : Ver 5.0, 5.1 phát hành Ver 5.1 chứa nhiều lỗi hoạt động không hiệu 27-1-2010 : Oracle mua lại Sun MicroSystem phát hành Ver 5.4, 5.5 hoạt động tốt Môn Các Hệ Thống Mã Nguồn Mở Khởi động tắt dịch vụ • Khi cài đặt WAMP Server, lần khởi động WAMP dịch vụ MySQL tự động kích hoạt Môn Các Hệ Thống Mã Nguồn Mở Khởi động tắt dịch vụ • Khi cài đặt WAMP Server, lần khởi động WAMP dịch vụ MySQL tự động kích hoạt • Để tắt mở dịch vụ, ta sử dụng biểu tượng WAMP Server khay hệ thống, chọn mục MySQL Môn Các Hệ Thống Mã Nguồn Mở Đăng nhập vào MySQL Server • • Sau cài đặt, tài khoản mặc định MySQL Server • • User : root Password : Đăng nhập PhpMyAdmin • • • Vào biểu tương WAMP Server, click chọn PhpMyAdmin Wamp tự động đăng nhập vào MySQL tài khoản Nếu thay đổi password chương trình khơng đăng nhập được, cần chỉnh lại pass file c:\wamp\apps\phpmyadmin3.5.1\config.inc.php Mục : $cfg['Servers'][$i]['password'] = ‘…'; Môn Các Hệ Thống Mã Nguồn Mở Đăng nhập vào MySQL Server Môn Các Hệ Thống Mã Nguồn Mở Đăng nhập vào MySQL Server • Đăng nhập MySQL Console • Tại icon WAMP Server, chọn mục MySQL, chọn MySQL Console 10 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu 26 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm toán học Mod (số bị chia, số chia) : lấy phần dư phép chia Vd : Select Mod(ThanhTien,2) From Orders as HoaDon; Round(số, vị trí làm trịn) : hàm làm trịn số Vd : Select Round(ThanhTien,1) From Orders as HoaDon; 27 Môn Các Hệ Thống Mã Nguồn Mở 28 Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm điều kiện IF(logic_expression,true_result,false_result) : hàm kiểm tra điều kiện đúng/sai Vd : Select If(SoLuong>20,5%,2%) as GiamGia From Orders; IFNULL(result_1,result_2) : hàm trả kết result_1 khơng null ngược lại trả result_2 Vd : Select IfNull(10/0,1) as Exam CASE value WHEN expression THEN result_1 ELSE result_2 : hàm trả result_1 expression đúng, ngược lại trả result_2 Vd : Select CASE WHEN Column1="Y" THEN WHEN Column2="Y" THEN WHEN Column3="Y" THEN ELSE "NONE"; Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm chuỗi LTRIM, RTRIM, TRIM : cắt bỏ khoảng trắng thừa Vd : Select LTRIM(" ABC") → "ABC" Vd : Select RTRIM("ABC ") → "ABC" Vd : Select TRIM(" ABC ") → "ABC" SUBSTRING(chuỗi, vị trí bắt đầu) : lấy chuỗi từ vị trí bắt đầu Vd : Select Substring("Hello World",7) → "World" LOCATE(chuỗi 1, chuỗi 2, vị trí bắt đầu) : xác định vị trí chuỗi chuỗi từ vị trí bắt đầu Vd : Select Locate("lo","Hello World",1) → REPLACE(chuỗi 1, chuỗi 2, chuỗi 3) : thay chuỗi chuỗi chuỗi Vd : select Replace("Filename.xxx","xxx","123") → "Filename.123" UCASE, LCASE : chuyển chữ thường thành in hoa ngược lại REVERSE : đảo ngược chuỗi 29 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm thời gian MONTHNAME(date) : trả tên tháng date Vd : Select monthname(20000105) → January DAYOFYEAR(date) : trả số ngày tính từ đầu năm đến date Vd : Select dayofyear(20000201) → 32 Vd : Select dayofyear("2000/02/01") → 32 DAYOFMONTH(date) : trả số ngày tính từ đầu tháng đến date Vd : Select dayofyear(20000201) → Vd : Select dayofyear("2000/02/01") → Vd : Select dayofyear("00-02-01") → DAYOFWEEK(date) : trả số ngày tính từ đầu tuần đến date Vd : Select dayofyear(20000201) → Vd : Select dayofyear("0-2-1") → YEAR(date) : trả năm date QUARTER(date) : trả quý date 30 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm thời gian MONTH(date) : trả tháng date DAY(date) : trả ngày date WEEK(date) : trả số tuần date tính từ ngày năm YEARWEEK(date) : trả số tuần date tính từ ngày năm NOW() , SYSDATE(), CURRENT_TIMESTAMP : trả ngày hệ thống Vd : Select NOW() → 2009-10-28 18:05:11 Vd : Select NOW()+0 → 20091028180511 CURDATE() , CURRENT_DATE : trả ngày hệ thống CURTIME() , CURRENT_TIME : trả ngày hệ thống HOUR(time) : trả time MINUTE(time) : trả phút time SECOND(time) : trả giây time DATE_FORMAT(date,format) : định dạng date theo format TIME_FORMAT(time,format) : định dạng date theo format 31 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các tham số thời gian 32 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm thời gian TO_DAYS(date) : trả số ngày từ ngày sau Công Nguyên đến date Vd : TO_DAYS("2000-01-01") → 730485 FROM_DAYS(number) : trả ngày sau Công Nguyên number ngày Vd : FROM_DAYS(1000000) → 2737-11-28 TIME_TO_SEC(time) : trả thời gian tính giây từ 0:00:00 đến time SEC_TO_TIME(seconds) : trả thời điểm sau 0:00:00 khoảng thời gian seconds giây DATE_ADD(date, INTERVAL expression type) : cộng thêm khoảng thời gian vào date 33 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu • Các hàm sử dụng truy vấn Hàm thời gian ADDDATE(date, INTERVAL expression type) : cộng thêm khoảng thời gian vào date DATE_SUB(date, INTERVAL expression type) : bớt khoảng thời gian date SUBDATE(date, INTERVAL expression type) : bớt khoảng thời gian date Vd: ADDDATE("1980-07-04",INTERVAL 15 YEAR) → 1995-07-04 Vd: SUBDATE(20001201, INTERVAL "10 4" YEAR_MONTH)→ 1990-08-01 34 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu 35 Môn Các Hệ Thống Mã Nguồn Mở 36 Công cụ đồ họa MySQL GUI TOOLS • MySQL GUI Tool cơng cụ với giao diện đồ hoạ thân thiện, giúp người sử dễ dàng thao tác MySQL so với thao tác giao diện câu lệnh • Có thể tải MySQL GUI Tools trang web thức MySQL (http://dev.mysql.com/downloads/gui-tools/5.0.html) Bộ công cụ bao gồm công cụ : • MySQL Administrator : cơng cụ quản trị MySQL Server • MySQL Query Browser : cơng cụ thực câu truy vấn trực quan • MySQL Migration Toolkit : công cụ cho phép chuyển đổi hệ CSDL khác Môn Các Hệ Thống Mã Nguồn Mở Cơng cụ đồ họa MySQL GUI TOOLS • MySQL Administrator 37 Môn Các Hệ Thống Mã Nguồn Mở Cơng cụ đồ họa MySQL GUI TOOLS • MySQL Administrator 38 Môn Các Hệ Thống Mã Nguồn Mở Công cụ đồ họa MySQL GUI TOOLS • MySQL Query Browser 39 Môn Các Hệ Thống Mã Nguồn Mở Hỏi Đáp ? 40 ... Hệ Thống Mã Nguồn Mở Cơng cụ đồ họa MySQL GUI TOOLS • MySQL Administrator 37 Môn Các Hệ Thống Mã Nguồn Mở Công cụ đồ họa MySQL GUI TOOLS • MySQL Administrator 38 Mơn Các Hệ Thống Mã Nguồn Mở... SUBDATE(20001201, INTERVAL "10 4" YEAR_MONTH)→ 1990-08-01 34 Môn Các Hệ Thống Mã Nguồn Mở Truy Vấn Dữ Liệu 35 Môn Các Hệ Thống Mã Nguồn Mở 36 Công cụ đồ họa MySQL GUI TOOLS • MySQL GUI Tool cơng... 11 Mơn Các Hệ Thống Mã Nguồn Mở Table • Các kiểu liệu MySQL • Kiểu số 12 Mơn Các Hệ Thống Mã Nguồn Mở Table (tt) • Các kiểu liệu MySQL • Kiểu chuỗi 13 Mơn Các Hệ Thống Mã Nguồn Mở Table (tt)