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')
37 trang |
Chia sẻ: thanhle95 | Lượt xem: 579 | Lượt tải: 2
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