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

Giáo trình cơ sở dữ liệu mã nguồn mở ppsx

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 (562.19 KB, 217 trang )


Cơ sở dữ liệu mã nguồn mở -
MySQL
Người lập: Nguyễn Phú Quảng
Bộ môn: Tin học Xây dựng

Nội dung trình bày
I. Làm quen với MySQL
II. MySQL căn bản
III. Tối ưu hóa MySQL
IV. Quản trị CSDL MySQL
IV. Một số tính năng mở rộng của MySQL

I. Làm quen với MySQL
I.1. MySQL là gì?
I.2. Cài đặt MySQL
I.3. CSDL đầu tiên với MySQL

I.1. MySQL là gì?

MySQL (My Ess Que Ell) là hệ quản trị
cơ sở dữ liệu

MySQL là hệ quản trị cơ sở dữ liệu quan
hệ

MySQL là PMNM

Bạn có thể download phần mềm và mã nguồn của
MySQL qua internet, có thể sửa đổi MySQL theo nhu
cầu của mình. MySQL tuân theo giấy phép GNU GPL(


/>–
Ngoài phiên bản sử dụng GPL, bạn có thể mua bản
thương mại của MySQL ( />
I.1. MySQL là gì?

Vì sao sử dụng CSDL MySQL?

MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử
dụng

Friendster, more than 85 million dynamic page views per day, able to support
more than 1.5 billion MySQL queries per day

Wikipedia, more than 200 million queries and 1.2 million updates per day
with peak loads of 11,000 queries per second

MySQL có tính khả chuyển, hoạt động trên nhiều hệ
điều hành (Unix, FreeBSD, NetBSD, Linux, Novell
NetWare, SGI Irix, Solaris, SunOS, Windows)

Qua nhiều năm phát triển, hiện tại MySQL cung cấp một
hệ thống lớn các hàm tiện ích rất mạnh

Với tốc độ và tính bảo mật cao, MySQL rất thích hợp
cho các ứng dụng có truy cập CSDL trên internet

Bạn có thể sử dụng các CSDL MySQL free trên
interrnet

/>–

/>
I.1. Cài đặt MySQL (trên Windows)
I.1.1. Yêu cầu tối thiểu
I.1.2. Cài đặt

I.1.1. Yêu cầu tối thiểu

Windows 9x, NT, Me, 2000, XP. Các hệ dòng NT
cho phép chạy MySQL dưới dạng các service.

Phiên bản cài đặt MySQL download từ địa chỉ
/>
Khoảng trống >= 200MB (khoảng trống còn lại phụ
thuộc vào nhu cầu đối với CSDL của bạn)

Nếu muốn kết nối với MySQL qua ODBC, bạn phải
cài đặt MyODBC (
.
)

Với CSDL có các bảng (table) có kích thước lớn
hơn 4GB, bạn phải cài đặt trên ổ đĩa NTFS hoặc
mới hơn

I.1.2. Cài đặt MySQL trên Windows

Nếu sử dụng Windows NT, 2000 hay XP,
phải có quyền administrator

Nếu nâng cấp, bạn phải dừng MySQL theo

các bước sau
>net stop mysql
>mysqld –remove
>mysqladmin –u root shutdown

Bung file nén download được

Chạy setup.exe

I.1.3. CSDL đầu tiên với MySQL
I.1.3.1. Connect & Disconnect server
I.1.3.2. Nhập Query trên console
I.1.3.3. Tạo và sử dụng Cơ sở dữ liệu
I.1.3.4. Tạo bảng, import dữ liệu vào
bảng
I.1.3.5. Xem thông tin từ bảng

I.1.3.1. Connect & Disconnect server
Để kết nối đến máy chủ, cần cung cấp
username & password. Nếu kết nối máy chủ từ
xa, phải xác định hostname.
> mysql -h host -u user –p
Enter password: ********
> mysql -h host -u user –p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or
\g. Your MySQL connection id is 25338 to server
version: 4.0.14-log Type 'help;' or '\h' for help.
Type '\c' to clear the buffer.
mysql>


I.1.3.2. Nhập Query trên console
mysql> SELECT VERSION(), CURRENT_DATE;
+ + +
| VERSION() | CURRENT_DATE |
+ + +
| 3.22.20a-log | 1999-03-19 |
+ + +
1 row in set (0.01 sec)
mysql>
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;
mysql> SELECT SIN(PI()/4), (4+1)*5;
+ + +
| SIN(PI()/4) | (4+1)*5 |
+ + +
| 0.707107 | 25 |
+ + +

I.1.3.2. Nhập Query trên Console (2)
mysql> SELECT VERSION(); SELECT NOW();
+ +
| VERSION() |
+ +
| 3.22.20a-log |
+ +
+ +
| NOW() |
+ +

| 1999-03-19 00:15:33 |
+ +
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
+ + +
| USER() | CURRENT_DATE |
+ + +
| joesmith@localhost | 1999-03-18 |
+ + +

I.1.3.2. Nhập Query trên Console (3)
Để dừng lệnh đang nhập, dùng lệnh \c
mysql> SELECT
-> USER()
-> \c
mysql>
Chú ý đến ý nghĩa của dấu nhắc của MySQL
Dấu nhắc Ý nghĩa
mysql> Sẵn sàng để nhập lệnh mới
-> Đang đợi dòng tiếp theo (khi nhập lệnh nhiều dòng)
'> Đang đợi dòng tiếp theo, người dùng đang nhập một
string bắt đầu bởi dấu nháy đơn
"> Đang đợi dòng tiếp theo, người dùng đang nhập một
string bắt đầu bởi dấu nháy kép
`> Đang đợi dòng tiếp theo, người dùng đang nhập một ký
hiệu bắt đầu bởi dấu nháy ngược `

I.1.3.2. Nhập query trên console (4)


Làm việc theo lô (batch)
> mysql -e "source batch-file"
> mysql -h host -u user -p < batch-file
Enter password: ********
> mysql < batch-file | more
> mysql < batch-file > mysql.out

I.1.3.2. Nhập Query trên Console (4)

Làm việc theo lô (batch)

Một query bình thường hiển thị kết quả ở chế độ interactive
+ +
| species |
+ +
| bird |
| cat |
| dog |
| hamster |
| snake |
+ +

Ở chế độ batch, kết quả hiển thị như sau
species
bird
cat
dog
hamster
snake


Để hiển thị dữ liệu kiểu interactive ở chế độ batch, sử dụng
lệnh mysql –t

Để hiển thị các lệnh được gọi, dùng lệnh mysql -vvv

I.1.3.2. Nhập Query trên Console (4)
Chú ý: Câu lệnh MySQL phải kết thúc bởi dấu ;
mysql> SELECT USER()
->
mysql> SELECT USER()
-> ;
+ +
| USER() |
+ +
| joesmith@localhost |
+ +

I.1.3.3. Tạo và sử dụng cơ sở dữ liệu
mysql> show databases;
+ +
| Database |
+ +
| guestbook |
| mysql |
| quang |
| test |
+ +
4 rows in set (0.00 sec)
mysql> CREATE DATABASE dhxd;

mysql> USE dhxd
Database changed
> mysql -h host -u user -p dhxd
Enter password: ********

I.1.3.4. Tạo bảng, import dữ liệu vào
bảng
mysql> SHOW TABLES;
Empty set (0.00 sec)
mysql> create table sv(id int auto_increment primary key,
hodem varchar(30),
-> ten varchar(10), gioitinh char(1), ngaysinh date);
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
+ +
| Tables_in_dhxd |
+ +
| sv |
+ +
1 row in set (0.00 sec)

I.1.3.4. Tạo bảng, import dữ liệu vào bảng
(2)
mysql> describe sv;
+ + + + + + +
| Field | Type | Null | Key | Default | Extra |
+ + + + + + +
| id | int(11) | | PRI | NULL | auto_increment |
| hodem | varchar(30) | YES | | NULL | |
| ten | varchar(10) | YES | | NULL | |

| gioitinh | char(1) | YES | | NULL | |
| ngaysinh | date | YES | | NULL | |
+ + + + + + +
5 rows in set (0.02 sec)
Nội dung file "dhxd.txt" (chú ý các trường cách
nhau bởi dấu tab)
1 Nguyen Phu Quang M 1979-04-04
3 Tran Van On M 1919-04-06
4 Nguyen Viet Xuan F 1029-03-02

I.1.3.4. Tạo bảng, import dữ liệu vào bảng
(3)
mysql> load data local infile "dhxd.txt" into table sv;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from sv;
+ + + + + +
| id | hodem | ten | gioitinh | ngaysinh |
+ + + + + +
| 1 | Nguyen Phu | Quang | M | 1979-04-04 |
| 3 | Tran Van | On | M | 1919-04-06 |
| 4 | Nguyen Viet | Xuan | F | 1029-03-02 |
+ + + + + +
3 rows in set (0.00 sec)

I.1.3.5. Xem thông tin từ bảng
mysql> select * from sv;
+ + + + + +
| id | hodem | ten | gioitinh | ngaysinh |
+ + + + + +

| 1 | Nguyen Phu | Quang | M | 1979-04-04 |
| 3 | Tran Van | On | M | 1919-04-06 |
| 4 | Nguyen Viet | Xuan | F | 1029-03-02 |
+ + + + + +
3 rows in set (0.00 sec)
mysql> select hodem, ten from sv;
+ + +
| hodem | ten |
+ + +
| Nguyen Phu | Quang |
| Tran Van | On |
| Nguyen Viet | Xuan |
+ + +
3 rows in set (0.00 sec)

I.1.3.5. Xem thông tin từ bảng (2)
mysql> select concat(hodem, " ", ten) from sv;
+ +
| concat(hodem, " ", ten) |
+ +
| Nguyen Phu Quang |
| Tran Van On |
| Nguyen Viet Xuan |
+ +
3 rows in set (0.44 sec)
mysql> select concat(hodem, " ", ten) from sv where ten="quang";
+ +
| concat(hodem, " ", ten) |
+ +
| Nguyen Phu Quang |

+ +
1 row in set (0.35 sec)

II. MySQL căn bản
II.1. Cấu trúc ngôn ngữ
II.2. Các kiểu trường
II.3. Các hàm sử dụng với câu lệnh SELECT và mệnh
đề WHERE
II.4. Các câu lệnh thao tác trên dữ liệu (SELECT,
INSERT, UPDATE, DELETE)
II.5. Các câu lệnh thao tác trên bảng CREATE,
DROP, ALTER
II.6. Làm việc với giao dịch (transaction) & các
lệnh khóa (Locking command)
II.7. Tìm kiếm văn bản (Full-text search)
II.8. Các dạng bảng của MySQL

II.1. Cấu trúc ngôn ngữ
II.1.1. String & số
II.1.2. Tên CSDL, bảng, chỉ số, cột
II.1.3. Phân biệt chữ hoa, chữ thường
II.1.4. Biến người dùng
II.1.5. Biến hệ thống
II.1.6. Chú thích

II.1.1. String & Số
II.1.1.1. String
II.1.1.2. Số
II.1.1.3. Giá trị NULL

×