Bài giảng Phần mềm nguồn mở - Chương 3: Một số công cụ 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')

pdf37 trang | Chia sẻ: thanhle95 | Lượt xem: 565 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phần mềm nguồn mở - Chương 3: Một số công cụ phần mềm nguồn mở - Võ Đức Quang, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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