Bài giảng Phần mềm nguồn mở - Chương 6: Một số phần mềm nguồn mở - Võ Đức Quang

Các kiểu dữ liệu trong MySQL

 Các kiểu hỗn hợp (Miscellaneous)

o Enum: kiểu dữ liệu liệt kê, cho phép định nghĩa trước

các giá trị cho một cột, cột sẽ chỉ lưu trữ một trong các

giá trị định sẵn đó.

 Ví dụ:

CREATE TABLE Test(

iReturn ENUM('Y','N') DEFAULT 'N',

Size ENUM('S','M','L','XL','XXL'),

Color ENUM('Black','Red','White')

)Các kiểu dữ liệu trong MySQL

 Set: Kiểu dữ liệu liệt kê

Tương tự enum nhưng cho phép cột lưu trữ nhiều giá trị

trong các giá trị định sẵn, mỗi giá trị cách nhau bởi dấu ', ‘

 Ví dụ:

CREATE Table Test( Advertiser

SET('WebPage','Television','Newspaper'))

pdf 37 trang kimcuc 6780
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phần mềm nguồn mở - Chương 6: Một số phần mềm nguồn mở - Võ Đức Quang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phần mềm nguồn mở - Chương 6: Một số phần mềm nguồn mở - Võ Đức Quang

Bài giảng Phần mềm nguồn mở - Chương 6: Một số phần mềm nguồn mở - Võ Đức Quang
Phần mềm Nguồn Mở 
(Open-Source Software) 
Võ Đức Quang 
Khoa CNTT-Đại học Vinh 
Chương 3: 
Một số phần mềm nguồn mở 
Chương 3: Một số công cụ PM 
nguồn mở 
Phần mềm VirtualBox 
Hệ điều hành Linux 
WebServer cho PHP&MySQL 
o WAMP 
o XAMPP 
Hệ quản trị CSDL MySQL 
Ngôn ngữ lập trình Web PHP 
Thao tác với MySQL 
Tạo, xóa CSDL 
Table và thuộc tính 
Thêm, sửa, xóa dữ liệu 
Truy vấn CSDL 
Tạo CSDL 
Tạo CSDL 
Tạo CSDL 
Xóa CSDL 
SQL command: 
o DROP DATABASE [Database_name] 
GUI 
Bảng và thuộc tính 
Bảng và thuộc tính 
Bảng thuộc tính 
Quá trình thiết kế CSDL 
Tạo bảng 
Bảng dữ liệu thiết kế 
Tạo bảng 
CREATE TABLE table_name 
( column_names datatypes modifiers); 
o Ví dụ: 
 CREATE TABLE Customers ( 
Customer_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
First_Name VARCHAR(20)NOT NULL, 
Last_Name VARCHAR(30) NOT NULL, 
Address VARCHAR(50), 
City VARCHAR(20),State VARCHAR(2), 
Zip VARCHAR(20), 
E_Mail VARCHAR(20), 
Age INT, 
Gender ENUM('M', 'F') DEFAULT 'F', 
Favorite_Activity ENUM('Programming','Eating', 
'Biking', 'Running', 'None') DEFAULT 'None'); 
Tạo bảng 
Các kiểu dữ liệu trong MySQL 
Kiểu số 
Các kiểu dữ liệu trong MySQL 
Kiểu chuỗi 
Các kiểu dữ liệu trong MySQL 
Kiểu ngày giờ 
Các kiểu dữ liệu trong MySQL 
 Các kiểu hỗn hợp (Miscellaneous) 
o Enum: kiểu dữ liệu liệt kê, cho phép định nghĩa trước 
các giá trị cho một cột, cột sẽ chỉ lưu trữ một trong các 
giá trị định sẵn đó. 
 Ví dụ: 
 CREATE TABLE Test( 
 iReturn ENUM('Y','N') DEFAULT 'N', 
 Size ENUM('S','M','L','XL','XXL'), 
 Color ENUM('Black','Red','White') 
 ) 
Các kiểu dữ liệu trong MySQL 
 Set: Kiểu dữ liệu liệt kê 
Tương tự enum nhưng cho phép cột lưu trữ nhiều giá trị 
trong các giá trị định sẵn, mỗi giá trị cách nhau bởi dấu ', ‘ 
 Ví dụ: 
CREATE Table Test( Advertiser 
SET('WebPage','Television','Newspaper')) 
Từ khóa khai báo cho dữ liệu 
Thay đổi cấu trúc bảng 
 Thay đổi tên cột: 
Alter table table_name 
CHANGE old_col_name new_col_name old_datatype; 
o Ví dụ: 
ALTER TABLE Customers 
CHANGE First_Name FirstName VARCHAR(20); 
 Thay đổi kiểu dữ liệu 
Alter table table_name 
CHANGE column_name column_name new_datatype; 
o Ví dụ: 
ALTER TABLE Customers 
CHANGE Last_Name Last_Name VARCHAR(50); 
Thay đổi cấu trúc bảng 
Đổi tên bảng 
Alter table table_name RENAME new_table_name; 
Ví dụ: 
ALTER TABLE Customers 
RENAME Customer_Table; 
 Thêm cột vào bảng 
Alter table table_name ADD column_name datatype; 
Ví dụ: 
ALTER TABLE Customer 
ADD Last_Name VARCHAR(30); 
 Xoá một cột 
Alter table table_name DROP column_name; 
Ví dụ: 
 ALTER TABLE Customers 
 DROP Last_Name; 
 Thêm khoá chính 
Alter table table_name ADD Primary Key col_names); 
Ví dụ: 
 ALTER TABLE Customers 
 ADD PRIMARY KEY (Customer_ID); 
 Xoá khoá chính 
Alter table table_name DROP Primary Key; 
Thay đổi cấu trúc bảng 
Chèn, sửa, xóa dữ liệu 
Chèn dữ liệu 
o Insert into table_name (column_names) 
values (column_values); 
Cập nhật dữ liệu 
o Update table_name set filename=newvalue 
where condition 
Xóa dữ liệu 
o Delete From table_name Where condition 
Truy Vấn Dữ Liệu 
Cú pháp truy vấn 
Các hàm sử dụng trong truy vấn 
o Hàm thời gian 
o Hàm xử lý chuỗi 
o Hàm kiểm tra điều kiện 
o Hàm toán học 
Truy Vấn Dữ Liệu 
Các từ khóa truy vấn SQL 
Truy Vấn Dữ Liệu 
Cú pháp 
SELECT *|column1, column2 
FROM table1, table2 
WHERE [conditions] 
GROUP BY column1, column2 
HAVING [conditions] 
ORDER BY column1, column2 
Các hàm hỗ trợ trong truy vấn 
Hàm toán học 
oMod (số bị chia, số chia) : lấy phần dư của phép 
chia. 
Ví dụ: 
 Select Mod(ThanhTien,2) 
 From Orders as HoaDon; 
o Round(số, vị trí làm tròn) : hàm làm tròn số. 
Ví dụ: 
 Select Round(ThanhTien,1) 
 From Orders as HoaDon; 
Các hàm hỗ trợ trong truy vấn 
Hàm điều kiện 
o IF(logic_expression,true_result,false_result) : kiểm tra điều 
kiện đúng/sai. 
o Ví dụ: 
 Select If(SoLuong>20,5%,2%) as GiamGia From Orders 
o IFNULL(result1,result2) : kết quả result1 nếu không null 
ngược lại sẽ trả về result2. 
o Ví dụ: 
 Select IfNull(10/0,1) as Exam 
o CASE value WHEN expression THEN result1 ELSE result2 : 
trả về result1 khi expression đúng, ngược lại trả về result2 
o Ví dụ: 
 Select CASE 1 WHEN Col1="Y" THEN 1 WHEN Col2="Y" 
 THEN 2 WHEN Col3="Y" THEN 3 ELSE "NONE"; 
Các hàm hỗ trợ trong truy vấn 
 Hàm chuỗi 
o LTRIM, RTRIM, TRIM : cắt bỏ những khoảng trắng thừa. 
 Select LTRIM(" ABC") → "ABC" 
 Select TRIM(" ABC ") → "ABC" 
o SUBSTRING(chuỗi, vị trí bắt đầu) : lấy một chuỗi con của chuỗi từ vị 
trí bắt đầu 
 Select Substring("Hello World",7) → "World" 
o LOCATE(chuỗi 1, chuỗi 2, vị trí bắt đầu) : xác định vị trí chuỗi 1 trong 
chuỗi 2 từ vị trí bắt đầu. 
 Select Locate("lo","Hello World",1) → 4 
o REPLACE(chuỗi 1, chuỗi 2, chuỗi 3) : thay thế chuỗi 2 bằng chuỗi 3 
trong chuỗi 1. 
 select Replace("Filename.xxx","xxx","123") → 
"Filename.123" 
o UCASE, LCASE : chuyển chữ thường thành in hoa và ngược lại. 
o REVERSE : đảo ngược chuỗi. 
Các hàm hỗ trợ trong truy vấn 
 Hàm thời gian 
o MONTHNAME(date) : trả về tên tháng của date. 
 Select monthname(20000105) → January 
o DAYOFYEAR(date) : trả về số ngày tính từ đầu năm đến date. 
 Select dayofyear(20000201) → 32 
 Select dayofyear("2000/02/01") → 32 
o DAYOFMONTH(date) : trả về số ngày tính từ đầu tháng đến date 
 Select dayofyear(20000201) → 1 
 Select dayofyear("2000/02/01") → 1 
 Select dayofyear("00-02-01") → 1 
o DAYOFWEEK(date) : trả về số ngày tính từ đầu tuần đến date. 
 Select dayofyear(20000201) → 3 
 Select dayofyear("0-2-1") → 3 
o YEAR(date) : trả về năm của date. 
o QUARTER(date) : trả về quý của date 
Các hàm hỗ trợ trong truy vấn 
 Hàm thời gian 
o MONTH(date): trả về tháng của date. 
o DAY(date): trả về ngày của date. 
o WEEK(date): trả về số tuần của date tính từ ngày đầu tiên của năm. 
o YEARWEEK(date): trả về số tuần của date tính từ ngày đầu tiên của 
năm 
o NOW() , SYSDATE(), CURRENT_TIMESTAMP : trả về ngày giờ hệ thống. 
 Select NOW() → 2009-10-28 18:05:11 
 Select NOW()+0 → 20091028180511 
o CURDATE() , CURRENT_DATE : trả về ngày của hệ thống. 
o CURTIME() , CURRENT_TIME : trả về ngày của hệ thống. 
o HOUR(time) : trả về giờ của time. 
o MINUTE(time) : trả về phút của time. 
o SECOND(time) : trả về giây của time. 
o DATE_FORMAT(date,format) : định dạng date theo format. 
o TIME_FORMAT(time,format) : định dạng date theo format. 
Các hàm hỗ trợ trong truy vấn 
Hàm thời gian 
o TO_DAYS(date) : trả về số ngày từ ngày đầu tiên sau 
Công Nguyên đến date. 
 TO_DAYS("2000-01-01") → 730485 
o FROM_DAYS(number) : trả về ngày sau Công Nguyên 
number ngày. 
 FROM_DAYS(1000000) → 2737-11-28 
o TIME_TO_SEC(time) : trả về thời gian tính bằng giây từ 
0:00:00 đến time. 
o SEC_TO_TIME(seconds) : trả về thời điểm sau 0:00:00 
một khoảng thời gian là seconds giây. 
Các hàm hỗ trợ trong truy vấn 
Hàm thời gian 
o ADDDATE(date, INTERVAL expression type) : Thêm 
một khoảng thời gian vào date. 
o SUBDATE(date, INTERVAL expression type) : bớt đi 
một khoảng thời gian trong date. 
 ADDDATE("1980-07-04",INTERVAL 15 YEAR) 
→ 1995-07-04 
 SUBDATE(20001201,INTERVAL "10 4" 
YEAR_MONTH) 
→ 1990-08-01 
Các hàm hỗ trợ trong truy vấn 
MySQL 
Một số vấn đề khác 
o Triggers 
o Tracking 
o Transaction 
o Chỉ mục (index) 
o Bảng tạm 
o SQL injection 
o  

File đính kèm:

  • pdfbai_giang_phan_mem_nguon_mo_chuong_6_mot_so_phan_mem_nguon_m.pdf