Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
799,24 KB
Nội dung
Hệ Quản Trị CSDL MySQL Session 02 Tổng Quan n Giới thiệu MySQL n Làm việc với MySQL n Kết nối với sở liệu MySQL n Sử dụng phát biểu Select để hiển thị liệu Giới thiệu MySQL n MySQL hệ quản trị sở liệu mã nguồn mở, hoàn toàn miễn phí n Có thể chạy nhiều hệ điều hành: Window, Linux, n Cung cấp hệ thống lớn hàm tiện ích Thích hợp cho ứng dụng internet n Phù hợp dùng với PHP cộng đồng hỗ trợ n Dữ liệu lưu trữ MySQL dạng đối tượng gọi bảng Kết nối tới Server MySQL Cấu trúc ngôn ngữ MySQL n Chuỗi (String) Là dãy kí tự đặt cặp nháy đơn (' ') cặp nháy kép (" ") Ví dụ n 'a string' "another string" Thêm kí tự (escape character) '\\' vào trước kí tự có nghĩa đặc biệt n \0 Kí tự NUL (có mã ASCII 0) \n Kí tự xuống dịng \t Kí tự tab \r Kí tự đầu dịng \' Kí tự ' dùng để bao quanh chuỗi kí tự \" Kí tự " dùng để bao quanh chuỗi kí tự \\ Kí tự \ dùng để làm kí tự \% % kí tự dùng để đại diện cho chuỗi kí tự \_ _ kí tự dùng đại diện cho kí tự Cấu trúc ngôn ngữ MySQL n Giá trị NULL n n n NULL có nghĩa giá trị chưa xác định hay giá trị không tồn csdl MySQL hỗ trợ NULL để biểu đạt khái niệm thơng tin cịn thiếu Tên csdl, tên bảng, tên cột, bí danh (alias) n Tên csdl tối đa 64 kí tự, tuân theo qui tắc đặt tên thư mục ngoại trừ kí tự ‘.’ ‘/’ n Tên bảng tối đa 64 kí tự, tuân theo qui tắc đặt tên file ngoại trừ kí tự ‘.’ ‘/’ n Tên cột tối đa 64 kí tự, cho phép sử dụng tất kí tự n Alias cho phép tối đa 255 kí tự dùng tất kí tự Chú thích n Để thích dịng: sử dụng kí tự # – n Để thích khối dịng đặt cặp /* */ Các kiểu liệu MySQL n Dữ liệu dạng số Kiểu Dữ liệu Kích thước (Bytes) Phạm vi biểu diễn tinyint(size) -127 127 128 255 smallint(size) -32768 32768 32767 65535 mediumint(size) -8388608 8388608 838860 16777215 int(size) -231 231 231-1 231 232-1 bigint(size) -263 263 263-1 263 264-1 float(size,d) Một số lớn với dấu chấm động size số số tối đa d số số sau dấu chấm thập phân double(size,d) Một số lớn với dấu chấm động size số số tối đa d số số sau dấu chấm thập phân decimal(size,d) Lưu trữ double chuỗi, cho phép cố định dấu chấm thập phân size số số tối đa d số số sau dấu chấm thập phân Các kiểu liệu MySQL n Dữ liệu dạng chuỗi Textual Data Types Description char(size) Lưu trữ chuỗi có độ dài cố định Có thể lưu trữ tới 255 kí tự varchar(size) Lưu trữ chuỗi có độ dài biến động Có thể lưu trữ tới 255 kí tự tinytext Lưu trữ chuỗi có độ dài tối đa 255 kí tự text Lưu trữ chuỗi với độ dài tối đa 65.535 kí tự blob Cho BLOBs (Binary Large OBjects) Lưu trữ tới 65.535 byte liệu mediumtext Lưu trữ chuỗi với độ dài tối đa 16.777.215 kí tự mediumblob Cho BLOBs (Binary Large OBjects) Lưu trữ tới 16.777.215 byte liệu longtext Lưu trữ chuỗi có độ dài tối đa 4.294.967.295 kí tự longblob Cho BLOBs (Binary Large OBjects) Lưu trữ tới 4.294.967.295 byte liệu Các kiểu liệu MySQL n Dữ liệu ngày tháng: Kiểu Dữ liệu Mô tả Date Biểu dạng YYYY-MM-DD DD (Từ '1000-01-01' '1000 tới '9999-12-31') Datetime Biểu dạng YYYY-MM-DD DD HH:MM:SS (Từ '1000-01-01 01 00:00:00' đến '9999-12-31 '9999 23:59:59') Time Biểu dạng YYYY-MM-DD DD HH:MM:SS Từ -838:59:59' 838:59:59' đến '838:59:59' TimeStamp Biểu dạng YYYY-MM-DD DD HH:MM:SS ('1970-01-01 01 00:00:00' UTC) Year(2|4) 1970 đến 2069 Các phép toán MySQL n Toán tử số học: +, -, *, / n Toán tử so sánh: >, =, 0; IFNULL(1/0) =>1 Toán tử LIKE Biểu_thức LIKE mẫu [ESCAPE ‘escape_char’] n Kí tự mở rộng dùng mẫu tốn tử LIKE n Kí tự % : đại diện cho chuỗi kí tự bất kì, kể chuỗi rỗng n Kí tự _ : đại diện cho kí tự Các phép tốn MySQL n Phép toán LIKE biểu_thức LIKE mẫu[ESCAPE ESCAPE ‘escape-char’] escape-char: char: gồm kí tự ‘%’ đại diện cho chuỗi kí tự bất kỳ, kí tự ‘-’ ‘ đại diện chi kí tự n Ví dụ select ‘ha’ LIKE ‘ha\-’; trả select ‘10’ LIKE ‘1\%’; trả Các hàm xử lý chuỗi n Các hàm so sánh chuỗi có phân biệt chữ hoa chữ thường n Hàm CHAR(mã_ASCII_1, mã_ASCII_1, mã_ASCII_2, …mã_ASCII_n) …mã_ASCII_n Hàm trả dãy kí tự có mã ASCII tương ứng SELECT CHAR(77,121,83,81,'76'); (77,121,83,81,'76'); =>trả “MySQL” n Hàm CONCAT(str1, str2, …, strN): strN Hàm trả chuỗi ghép từ chuỗi tham số Trả NULL tham số NULL SELECT CONCAT(‘My’,’S’,’QL’); (‘My’,’S’,’QL’); =>trả “MySQL” Các hàm xử lý chuỗi n Hàm CONCAT_WS(separator,str1 separator,str1, str2, …, strN): Hàm trả chuỗi ghép từ str1,str2,strN, chuỗi ghép lại phân cách kí tự separator separator Nếu separator NULL hàm trả NULL SELECT CONCAT_WS(",","First (",","First name","Second name","Last Name"); ->Trả >Trả về: 'First name,Second name,Last Name' n Hàm LENGTH(str) Trả độ dài chuỗi str n Hàm LOCATE(substr,str,[pos]) (substr,str,[pos]), POSITION(substr IN str) Trả vị trí xuất chuỗi substr chuỗi str Các hàm xử lý chuỗi n Hàm UPPER(str):: Hàm trả chuỗi str viết in hoa n Hàm LOWER(str):: Hàm trả chuỗi str viết in thường n Hàm LTRIM(str):: Bỏ khoảng trắng bên trái chuỗi n Hàm RTRIM(str):: Bỏ khoảng trắng bên phải chuỗi n Hàm LEFT(str,n):: Hàm trả chuỗi gồm len kí tự cắt từ bên trái chuỗi str n Hàm RIGHT(str,n):: Hàm trả chuỗi gồm len kí tự cắt từ bên phải chuỗi str n Hàm SUBSTRING(str,pos,[len]), SUBSTRING(str FROM pos [FOR len]), MID(str,pos,len) Là hàm trả chuỗi gồm len kí tự cắt từ vị trí pos chuỗi str n Hàm InSTR(str1, str2):: Trả vị trí bắt đầu chuỗi str1 chuỗi str2 Các hàm thời gian MySQL n CURDATE(): trả ngày tại, giá trị biểu diễn dạng 'YYYY-MM-DD' DD' YYYYMMDD SELECT CURDATE(); -> '2011-07-15' SELECT CURDATE()+0; -> '20110715' n CURTIME(): trả thời gian tại, giá trị biểu diễn dạng 'HH:MM:SS' or HHMMSS SELECT CURTIME(); -> '23:50:26' SELECT CURTIME()+0; -> '235026' Các hàm thời gian MySQL n Hàm DATE(expr) trả ngày tháng năm từ biểu thức expr có kiểu date, hay datetime SELECT DATE('2003-12-31 31 01:02:03'); -> '2003-12-31' n Hàm DATEDIFF(expr1,expr2): DATEDIFF(expr1,expr2) trả khoảng thời gian hai ngày expr1 expr2 SELECT DATEDIFF('1997-12-31 31 23:59:59','1997-12-30'); 23:59:59','1997 -> n Hàm DAYNAME(date)trả trả thứ ngày SELECT DAYNAME(‘2011-07-11'); -> Monday Các hàm thời gian MySQL n Hàm DATE_FORMAT(date, format) Các specifier sau dùng chuỗi định dạng format Specifier %a,%W, %w %b,%M %c, %m %d, %e %h,%H %i %p %s, %S %T %Y, %y Description (Sun Sat), (Sunday Saturday), (0=Sunday 6=Saturday) (Jan Dec),(January December) Month, numeric (0 12) Day of the month, numeric (00 31), (0 31) Hour (01 12), ), (00 23) Minutes, numeric (00 59) AM or PM Seconds (00 59) Time, 24-hour hour (hh:mm:ss) Year, numeric: four digits ; two digits Các hàm thời gian MySQL n HOUR(time) n DAY(date) n MINUTE(time) n MONTH(date) n NOW() n SECOND(time) n TIME() n YEAR() Một số hàm khác n Hàm IF IF(điều_kiện, n giá_trị_trả_về_1 Giá_trị_trả_về_2) giá_trị_trả_về_1, Giải thích: biểu thức điều_kiện (tức điều_kiện khác khác NULL) hàm IF trả giá trị giá_trị_trả_về_1 Trong trường hợp ngược lại, hàm IF trả giá trị giá_trị_trả_về_2 n Hàm IFNULL(biểu_thức, giá_trị_trả_về_1) ... tinyint(size) - 127 127 128 25 5 smallint(size) - 327 68 327 68 327 67 65535 mediumint(size) -8388608 8388608 838860 1677 721 5 int(size) -23 1 23 1 23 1-1 23 1 23 2-1 bigint(size) -26 3 26 3 26 3-1 26 3 26 4-1 float(size,d)... DATE( ''20 03- 12- 31 31 01: 02: 03''); -> ''20 03- 12- 31'' n Hàm DATEDIFF(expr1,expr2): DATEDIFF(expr1,expr2) trả khoảng thời gian hai ngày expr1 expr2 SELECT DATEDIFF(''1997- 12- 31 31 23 :59:59'',''1997- 12- 30'');... CURDATE()+0; -> ''20 110715'' n CURTIME(): trả thời gian tại, giá trị biểu diễn dạng ''HH:MM:SS'' or HHMMSS SELECT CURTIME(); -> ''23 :50 :26 '' SELECT CURTIME()+0; -> ''23 5 026 '' Các hàm thời gian MySQL n Hàm