Tải bản đầy đủ (.ppt) (20 trang)

MySQL hệ quản trị CSDL MySQL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (894.03 KB, 20 trang )


Giới thiệu về MySQL

Làm việc với MySQL
• Kết nối với cơ sở dữ liệu MySQL
• Sử dụng phát biểu Select để hiển thị dữ liệu

MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, hoàn toàn miễn phí.

Có thể chạy trên nhiều hệ điều hành: Window, Linux,

Cung cấp một hệ thống lớn các hàm tiện ích. Thích hợp cho các ứng dụng
internet.

Phù hợp khi dùng với PHP được cộng đồng hỗ trợ.

Dữ liệu lưu trữ trong MySQL dưới dạng các đối tượng được gọi là các bảng.
Kết nối tới Server MySQL

Chuỗi (String)

Là một dãy kí tự đặt trong cặp nháy đơn (' ') hoặc cặp
nháy kép (" "). Ví dụ
'a string'
"another string"

Thêm kí tự thoát (escape character) '\' vào trước các kí tự
có nghĩa đặc biệt.
\0 Kí tự NUL (có mã ASCII là 0)
\n Kí tự xuống dòng


\t Kí tự tab
\r Kí tự về đầu dòng
\' Kí tự ' được dùng để bao quanh một chuỗi kí tự
\" Kí tự " được dùng để bao quanh một chuỗi kí tự
\\ Kí tự \ được dùng để làm kí tự thoát
\% % là kí tự được dùng để đại diện cho một chuỗi kí tự bất kỳ
\_ _ là kí tự được dùng đại diện cho một kí tự bất kỳ

Giá trị NULL

NULL có nghĩa là một giá trị chưa xác định hay giá trị không tồn tại trong
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)

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ự ‘.’
và ‘/’

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ự ‘.’ và ‘/’

Tên cột tối đa 64 kí tự, cho phép sử dụng tất cả các kí tự

Alias cho phép tối đa 255 kí tự và dùng tất cả các kí tự

Chú thích

Để chú thích một dòng: sử dụng kí tự # hoặc –

Để chú thích một khối dòng đặt trong cặp /* và */


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)
1
-127 128 hoặc 0 255
smallint(size)
2
-32768 32767 hoặc 0 65535
mediumint(size)
3
-8388608 838860 hoặc 0 16777215
int(size)
4
-231 231-1 hoặc 0 232-1
bigint(size)
8
-263 263-1 hoặc 0 264-1


float(size,d)
Một số lớn với dấu chấm động. size chỉ ra số các con số tối đa. d chỉ số các
con 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 chỉ ra số các con số tối đa. d chỉ số các
con số sau dấu chấm thập phân
decimal(size,d) Lưu trữ double như một chuỗi, cho phép cố định dấu chấm thập phân. size
chỉ ra số các con số tối đa. d chỉ số các con số sau dấu chấm thập phân
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ữ một chuỗi có độ dài tối đa 255 kí tự
text Lưu trữ một 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 dữ liệu
mediumtext Lưu trữ một 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 dữ liệu
longtext Lưu trữ một 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 dữ liệu

Dữ liệu dạng chuỗi
Kiểu Dữ liệu Mô tả
Date
Biểu dưới dạng YYYY-MM-DD (Từ '1000-01-01' tới '9999-12-31')
Datetime
Biểu dưới dạng YYYY-MM-DD HH:MM:SS
(Từ '1000-01-01 00:00:00' đến '9999-12-31 23:59:59')
Time
Biểu dưới dạng YYYY-MM-DD HH:MM:SS
Từ -838:59:59' đến '838:59:59'
TimeStamp
Biểu dưới dạng YYYY-MM-DD HH:MM:SS
('1970-01-01 00:00:00' UTC)
Year(2|4)
1970 đến 2069

Dữ liệu ngày tháng:

Dữ liệu ngày tháng:


Toán tử số học: +, -, *, /

Toán tử so sánh: >, <, >=, <=, =, !=

Toán tử logic: and, or, not

Phép toán BETWEEN…AND…

Phép toán IN, NOT IN

Phép toán IFNULL:

Ví dụ: IFNULL(11,‘’) =>0; IFNULL(1/0) =>1

Toán tử LIKE

Kí tự mở rộng dùng trong mẫu của toán tử LIKE

Kí tự % : đại diện cho một chuỗi kí tự bất kì, kể cả chuỗi rỗng
• Kí tự _ : đại diện cho một kí tự bất kỳ
Biểu_thức LIKE mẫu [ESCAPE ‘escape_char’]

Phép toán LIKE

escape-char: gồm kí tự ‘%’ đại diện cho một chuỗi kí tự bất kỳ, kí
tự ‘-’ đại diện chi một kí tự bất kỳ

Ví dụ
select ‘ha’ LIKE ‘ha\-’; trả về 1
select ‘10’ LIKE ‘1\%’; trả về 1

biểu_thức LIKE mẫu[ESCAPE ‘escape-char’]

Các hàm so sánh chuỗi có phân biệt chữ hoa chữ
thường

Hàm CHAR(mã_ASCII_1, mã_ASCII_2, …
mã_ASCII_n) Hàm trả về dãy các kí tự có mã ASCII
tương ứng

Hàm CONCAT(str1, str2, …, strN): Hàm trả về một
chuỗi được ghép từ các chuỗi tham số. Trả về NULL nếu
tham số là NULL
SELECT CHAR(77,121,83,81,'76');
=>trả về “MySQL”
SELECT CONCAT(‘My’,’S’,’QL’);
=>trả về “MySQL”

Hàm CONCAT_WS(separator,str1, str2, …, strN): Hàm trả
về một chuỗi được ghép từ các str1,str2,strN, các chuỗi
ghép lại được phân cách bởi kí tự separator. Nếu separator
là NULL hàm trả về NULL.

Hàm LENGTH(str) Trả về độ dài của chuỗi str

Hàm LOCATE(substr,str,[pos]), POSITION(substr IN
str) Trả về vị trí xuất hiện đầu tiên của chuỗi con substr trong
chuỗi str.
SELECT CONCAT_WS(",","First name","Second name","Last Name");
->Trả về: 'First name,Second name,Last Name'


Hàm UPPER(str): Hàm trả về chuỗi str được viết in hoa.

Hàm LOWER(str): Hàm trả về chuỗi str được viết in thường.

Hàm LTRIM(str): Bỏ khoảng trắng bên trái chuỗi.

Hàm RTRIM(str): Bỏ khoảng trắng bên phải chuỗi.

Hàm LEFT(str,n): Hàm trả về một chuỗi gồm len kí tự được cắt từ bên trái
chuỗi str.

Hàm RIGHT(str,n): Hàm trả về một chuỗi gồm len kí tự được cắt từ bên
phải chuỗi str.

Hàm SUBSTRING(str,pos,[len]), SUBSTRING(str FROM pos [FOR
len]), MID(str,pos,len) Là các hàm trả về một chuỗi gồm len kí tự
được cắt từ bắt đầu từ vị trí pos của chuỗi str.

Hàm InSTR(str1, str2): Trả về vị trí bắt đầu của chuỗi str1 trong chuỗi
str2.

CURDATE(): trả về ngày hiện tại, giá trị được biểu diễn ở dạng
'YYYY-MM-DD' hoặc YYYYMMDD.

CURTIME(): trả về thời gian hiện tại, giá trị được biểu diễn ở dạng
'HH:MM:SS' or HHMMSS
SELECT CURDATE();
-> '2011-07-15'
SELECT CURDATE()+0;
-> '20110715'

SELECT CURTIME();
-> '23:50:26'
SELECT CURTIME()+0;
-> '235026'

Hàm DATE(expr) trả về ngày tháng năm từ biểu thức expr có
kiểu date, hay datetime.

Hàm DATEDIFF(expr1,expr2): trả về khoảng thời gian giữa
hai ngày expr1 và expr2

Hàm DAYNAME(date)trả về thứ của ngày
SELECT DATE('2003-12-31 01:02:03');
-> '2003-12-31'
SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
SELECT DAYNAME(‘2011-07-11');
-> Monday
Specifier Description
%a,%W, %w (Sun Sat), (Sunday Saturday),
(0=Sunday 6=Saturday)
%b,%M (Jan Dec),(January December)
%c, %m Month, numeric (0 12)
%d, %e Day of the month, numeric (00 31), (0 31)
%h,%H Hour (01 12), (00 23)
%i Minutes, numeric (00 59)
%p AM or PM
%s, %S Seconds (00 59)
%T Time, 24-hour (hh:mm:ss)
%Y, %y Year, numeric: four digits ; two digits


Hàm DATE_FORMAT(date, format)
Các specifier sau đây được dùng trong chuỗi định dạng format

HOUR(time)
• DAY(date)
• MINUTE(time)

MONTH(date)
• NOW()

SECOND(time)
• TIME()
• YEAR()

Hàm IF
IF(điều_kiện, giá_trị_trả_về_1,
Giá_trị_trả_về_2)
– Giải thích: nếu biểu thức điều_kiện đúng (tức là
điều_kiện khác 0 hoặc khác NULL) thì hàm IF trả về
giá trị giá_trị_trả_về_1. Trong trường hợp ngược lại,
hàm IF trả về giá trị giá_trị_trả_về_2

Hàm IFNULL(biểu_thức, giá_trị_trả_về_1)

×