Tìm hiểu và triển khai MySQL Server trên Linux server

72
B GIO DC V ĐO TO TRƯỜNG ĐI HỌC MỎ - ĐỊA CHẤT MÃ NGUỒN MỞ CHUYÊN NGNH Đề tài: TÌM HIỂU V TRIỂN KHAI MySQL SERVER TRÊN LINUX SERVER Giảng Viên: Phạm Đình Tân SV thực hiện: MSSV: Lê Công Tuấn Anh 1021050001 Trần Văn Mạnh 1021050060 Dương Tiến Dũng 1021050017 Trần Tiến Đạt 1021050023 H ni, thng 04 năm 2014

Transcript of Tìm hiểu và triển khai MySQL Server trên Linux server

Page 1: Tìm hiểu và triển khai MySQL Server trên Linux server

BÔ GIAO DUC VA ĐAO TAO

TRƯỜNG ĐAI HỌC MỎ - ĐỊA CHẤT

MÃ NGUỒN MỞ CHUYÊN

NGANHĐề tài: TÌM HIỂU VA TRIỂN KHAI MySQL

SERVER TRÊN LINUX SERVER

Giảng Viên: Phạm Đình Tân

SV thực hiện: MSSV:

Lê Công Tuấn Anh 1021050001

Trần Văn Mạnh 1021050060

Dương Tiến Dũng 1021050017

Trần Tiến Đạt 1021050023

Ha nôi, thang 04 năm 2014

Page 2: Tìm hiểu và triển khai MySQL Server trên Linux server

MUC LUC

MỤC LỤC................................................................................................................2

LỜI NÓI ĐẦU..........................................................................................................4

Phần 1: Tổng quan về MySQL................................................................................5

1.1. MySQL.....................................................................................................5

1.1.1. Tính linh hoạt.......................................................................................5

1.1.2. Tính thực thi cao...................................................................................6

1.1.3. Có thể sử dụng ngay.............................................................................6

1.1.4. Hỗ trợ giao dịch mạnh..........................................................................6

1.1.5. Nơi lưu trữ Web và Data đáng tin cậy.................................................7

1.1.6. Chế độ bảo mật dữ liệu mạnh...............................................................7

1.1.7. Sự phát triển ứng dụng hỗn hợp...........................................................7

1.1.8. Dễ dàng quản lý....................................................................................8

1.1.9. Mã nguồn mở.......................................................................................8

1.1.10. Chi phí thấp........................................................................................8

1.2. PHP Làm việc cùng MySQL...................................................................9

1.2.1. Định nghĩa cơ bản................................................................................9

1.2.2. Cài đặt MySQL....................................................................................9

1.3. Cấu trúc của một cơ sở dữ liệu...............................................................21

1.3.1. Định nghĩa cơ bản..............................................................................21

1.3.2. Các kiểu dữ liệu cơ bản......................................................................22

1.3.3. Kết nối vào MySQL Server................................................................26

1.4. Các thao tác bằng dòng lệnh trên MySQL..............................................26

1.4.1. Các thao tác trên Database....................................................................26

1.4.2. Các thao tác trên bảng..........................................................................35

2

Page 3: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.3. Các thao tác các trường......................................................................38

1.5. Liên kết mysql và PHP chúng ta cần nắm 6 hàm cơ bản:...........................43

1.5.1. Lựa chọn cơ sở dữ liệu:........................................................................43

1.5.2. Thực thi câu lệnh truy vấn:...................................................................43

1.5.3. Đếm số dòng dữ liệu trong bảng:........................................................44

1.5.4. Lấy dữ liệu từ bảng đưa vào mảng:.....................................................44

1.5.5. Đóng kết nối cơ sở dữ liệu:..................................................................44

1.5.6. Tạo cơ sở dữ liệu dựa trên từng đoạn code sau:...................................44

Phần 2: PHP MYADMIN và MySQL Client.........................................................48

2.1. Thao tác trên Phpmyadmin:.........................................................................48

2.1.1. Tạo Database (CSDL – Cơ Sở Dữ Liệu)............................................48

2.1.2. Tạo Bảng (table)...................................................................................49

2.1.3. Thêm dữ liệu vào Bảng (table).............................................................51

2.1.4. Sửa và Xóa dữ liệu trong Bảng (table)................................................52

2.1.5. Sửa cấu trúc Table (bảng):....................................................................53

2.1.6. Đổi tên Bảng (table)..............................................................................53

2.1.7. Xóa Bảng (table)...................................................................................54

2.2. Sử dụng MySQL Client để kết nối với MySQL server..........................54

2.2.1. Tạo kết nối với MySQL server...........................................................55

2.2.2. Thao tác tạo database.........................................................................56

2.2.3. Tạo bảng.............................................................................................57

2.2.4. Sửa cấu trúc bảng...............................................................................58

2.2.5. Xóa bảng............................................................................................59

2.2.6. Đổi tên bảng.......................................................................................59

2.2.7. Xóa database......................................................................................60

KẾT LUẬN............................................................................................................61

3

Page 4: Tìm hiểu và triển khai MySQL Server trên Linux server

LỜI NÓI ĐẦU

Trong giới hạn đề tài của BTL lần này chúng em xin phép được gửi đến thầy và

các bạn cuốn tài liệu nói chi tiết về việc Tìm hiểu và triển khai MySQL Server trên Linux

Mong rằng cuốn tài liệu này của chúng em sẽ giúp ích được cho những người

muốn tìm hiểu về lĩnh vực nêu trên.

Cuối cùng em xin cảm ơn sự giúp đỡ của thầy Phạm Đình Tân để nhóm chúng em

hoàn thiện cuốn tài liệu này. Em xin cảm ơn thầy!

Ha nôi 01/11/2014

Nhóm 01

4

Page 5: Tìm hiểu và triển khai MySQL Server trên Linux server

Phần 1: Tổng quan về MySQL

1.1. MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và

được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là

cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều

hệ điều hành 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.

MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều

phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành

dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI

Irix, Solaris,SunOS,...

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ

sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm

nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...

5

Page 6: Tìm hiểu và triển khai MySQL Server trên Linux server

1.1.1. Tính linh hoạt

Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý

các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên

đến hàng terabytes thông tin. Sự linh hoạt về flatform là một đặc tính lớn của MySQL với

tất cả các phiên bản của Linux, Unix, và Windows đang được hỗ trợ. Và dĩ nhiên, tính

chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào

các yêu cầu thích hợp cho database server.

1.1.2. Tính thực thi cao

Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ

cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù. Dù ứng dụng là một hệ thống

xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi

ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ

thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý

nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh

nghiệp khó tính ngày nay.

1.1.3. Có thể sử dụng ngay

Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của

MySQL. MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc

độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho

server cơ sở dữ liệu MySQL.

1.1.4. Hỗ trợ giao dịch mạnh

MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất trên

thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự động,

Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức dòng không

hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version)

mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại. Tính toàn vẹn của

6

Page 7: Tìm hiểu và triển khai MySQL Server trên Linux server

dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao

dịch độc lập được chuyên môn hóa, và phát hiện khóa chết ngay lập tức.

1.1.5. Nơi lưu trữ Web và Data đáng tin cậy

MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có

engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các

chức năng chuyên dụng của web như tìm kiếm văn bản nhanh. Những tính năng này cũng

được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte

cho các server đơn. Các tính năng khác như bảng nhớ chính, cây B và chỉ số băm, và

bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở

thành lựa chọn tốt nhất cho cả ứng dụng web và các ứng dụng doanh nghiệp.

1.1.6. Chế độ bảo mật dữ liệu mạnh

Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về cơ

sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật

tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩ thuật

mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được

vào server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là

điều có thể làm được. SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an

toàn và bảo mật. Một đối tượng framework đặc quyền được đưa ra mà người sử dụng chỉ

có thể nhìn thấy dữ liệu, các hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu

sẽ được bảo mật. Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và các

hãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng như recovery toàn

bộ hoặc tại một thời điểm nào đó.

1.1.7. Sự phát triển ứng dụng hỗn hợp

Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở phổ biến

nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần.

Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger,

function, view, cursor, ANSI-standard SQL, và nhiều nữa. Với các ứng dụng nhúng, thư

7

Page 8: Tìm hiểu và triển khai MySQL Server trên Linux server

viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bất kì ứng dụng nào.

MySQL cũng cung cấp các bộ kết nối như: ODBC, JDBC, … để cho phép tất cả các form

của ứng dụng sử dụng MySQL như một server quản lí dữ liệu được ưu tiên.

1.1.8. Dễ dàng quản lý

MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức trung bình

từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút. Điều

này đúng cho dù flatform là Microsoft Windows, Linux, Macintosh hay Unix. Khi đã

được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và

cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu làm việc. MySQL cũng cung cấp

một bộ hoàn thiện các công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và

điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn. Nhiều công cụ của

các hãng phần mềm thứ 3 cũng có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế

dữ liệu và ETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực

hiện kiểm tra.

1.1.9. Mã nguồn mở

Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn mở

vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên

nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn

diện cho các ứng dụng chủ chốt của họ. Những lo lắng của họ có thể được dẹp bỏ với

MySQL, sự bồi thường là có trong mạng lưới MySQL.

1.1.10. Chi phí thấp

Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy rõ

việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL

và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc

nhiên về khả năng xử lý. Thêm vào đó, tính tin cậy và dễ duy trì của MySQL ở mức trung

bình mà người quản trị cơ sở dữ liệu không phải mất nhiều thời gian sửa chữa hay vấn đề

thời gian chết

8

Page 9: Tìm hiểu và triển khai MySQL Server trên Linux server

1.2. PHP Làm việc cùng MySQL

1.2.1. Định nghĩa cơ bản

Trong BTL lần này chúng ta sẽ tìm hiểu về MySQL được làm việc trên nền web

với PHP.

MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache,

PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất

nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL cũng có cùng

một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. Nhưng MySQL không bao

quát toàn bộ những câu truy vấn cao cấp như SQL.

Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành

của website nhưng hầu hết có thể giải quyết các bài toán trong PHP

1.2.2. Cài đặt MySQL

Đầu tiên chúng ta sử dụng lệnh sau để cài đặt MySQL 5:

create database quanlysinhvien;

Sudo apt-get install mysql-server mysql-client

9

Page 10: Tìm hiểu và triển khai MySQL Server trên Linux server

10

Page 11: Tìm hiểu và triển khai MySQL Server trên Linux server

Đến đây ta đã có thể làm việc với MySQL qua công cụ dòng lệnh

Trong tài liệu này có sử dụng công cụ PHP MyAdmin để làm việc với MySQL

Sau đây là phần triển khai cài đặt

Cài đặt Apache2

Bước 1 : Chuyển sang quyền root

sudo su

11

Page 12: Tìm hiểu và triển khai MySQL Server trên Linux server

Nhập mật khẩu -> Enter

Bước 2 : Cập nhật các Repository:

apt-get update

Bước 3 : Cài đặt apache2 bằng lệnh

sudo apt-get install apache2

12

Page 13: Tìm hiểu và triển khai MySQL Server trên Linux server

13

Page 14: Tìm hiểu và triển khai MySQL Server trên Linux server

Gõ "Y" rồi Enter

Quá trình cài đặt sẽ diễn ra trong ít phút

14

Page 15: Tìm hiểu và triển khai MySQL Server trên Linux server

sau khi hoàn tất,mở bất kỳ trình duyệt nào và gõ vào địa chỉ IP server . Ví

dụ http://192.168.1.80

15

Page 16: Tìm hiểu và triển khai MySQL Server trên Linux server

Cài đặt PHP5

Gõ y rồi Enter

Cài đặt phpMyAdmin bằng lệnh

apt-get install phpmyadmin

16

Page 17: Tìm hiểu và triển khai MySQL Server trên Linux server

17

Page 18: Tìm hiểu và triển khai MySQL Server trên Linux server

Gõ y rồi Enter

Quá trình download package sẽ diễn ra trong ít phút. Cho đến khi hiện ra màn

hình lựa chọn web server đang sử dụng. 

18

Page 19: Tìm hiểu và triển khai MySQL Server trên Linux server

Chọn apache2 nếu bạn cài đặt apache2, rồi chọn Ok. Để di chuyển giữa các lựa

chọn sử dụng phím Tab, để xác nhận lựa chọn di duyển màu đỏ đến vị trí cần và gõ phím

Space (phím cách)

Bạn nên chọn <NO> nếu không quá am hiểu về hệ thống.

19

Page 20: Tìm hiểu và triển khai MySQL Server trên Linux server

Cho đến khi màn hình như sau là đã hoàn tất.

sau khi hoàn tất,mở bất kỳ trình duyệt nào và gõ vào địa chỉ IP

server/phpmyadmin . Ví dụ http://192.168.1.80

20

Page 21: Tìm hiểu và triển khai MySQL Server trên Linux server

1.3. Cấu trúc của một cơ sở dữ liệu

1.3.1. Định nghĩa cơ bản

Định nghĩa cơ sở dữ liệu bảng, cột

Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng

Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu.

Bảng là nơi lưu trữ dữ liệu. Trước khi thực hiện truy vấn và sử dụng dữ liệu, thì

nhiệm vụ đầu tiên là phải lưu trữ nó.

Bảng có thể chứa dữ liệu về các đối tượng thông tin như HÀNG HÓA, NHÂN

VIÊN…. Mỗi dòng (row) của bảng chứa một thể hiện riêng của đối tượng nào đó. Ví dụ

thông tin về một hàng hóa, thông tin về một nhân viên…. Dòng được thành lập từ các cột

(column), mỗi cột là một thông tin về đối tượng được lưu trữ trong bản. Ví dụ trong bảng

NHANVIEN chúng ta có các field như sau: Field MaNV(mã nhân viên), field HoNV (họ

và chữ lót), field TenNV (tên), field Nu (nam/nữ), field NgaySinh (ngày sinh)…..

21

Page 22: Tìm hiểu và triển khai MySQL Server trên Linux server

Cột là 1 giá trị nằm trong bảng. Dùng để lưu trữ các trường dữ liệu.

Thuộc tính

Ví dụ:

Sinhvien

MSSV 1021050001

Hovaten Le Cong Tuan Anh

Ngaysinh 20/10/1992

Email [email protected]

Diachi Trieu Son – Thanh Hoa

Như vậy ta có thể hiểu như sau:

1 cơ sở dữ liệu có thể bao gồm nhiều bảng.

1 bảng có thể bao gồm nhiều cột

1 cột có thể có hoặc không có những thuộc tính.

1.3.2. Các kiểu dữ liệu cơ bản

MySQL cung cấp các kiểu dữ liệu sau :

1.3.2.1. Kiểu dữ liệu số (numeric)

Tên kiểu(type name)

Bộ nhớ(memory space)

bytes

Vùng giá trị(value range)

Vùng giá trị dương(Unsigned)

Tinyint 1 -128 ÷ 172 0 ÷ 255Smallint 2 -32768 ÷ 32767 0 ÷ 65535

Mediumint 3 -8388608 ÷8388607 0 0 ÷ 16777215

Int4 2147483648

÷2147483647

0 ÷ 4294967295

Bigint8 -

92233720368547758080 ÷

18446744073709550

22

Page 23: Tìm hiểu và triển khai MySQL Server trên Linux server

÷9223372036854775807

615

Float (M,D) 4Double (M,D) 8Decimal (M,D) M+2

1.3.2.2. Kiểu chuỗi kí tự (string)

ên kiểu Kích thước tối đa(bytes)

Khoảng lưu trữ(bytes)

Char(x) 255 XVarchar(x) 255 X+1

Tinytext 255 X+1Tinyblob 255 X+2

Text 65535 X+2Blob 65535 X+2

Mediumtext 1.6 MB X + 3Mediumblog 1.6 MB X + 3

Longtext 4.2 MB X + 4Longblob 4.2 MB X + 4

1.3.2.3. Kiểu hỗn hợp (Miscellaneous)

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 đó.

Vd :

CREATE TABLE Test(

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

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

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

)

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 ', '

Vd :

CREATE Table Test(

Advertiser SET('Web Page','Television','Newspaper')

23

Page 24: Tìm hiểu và triển khai MySQL Server trên Linux server

)

1.3.2.4. Kiểu ngày giờ

Tên kiểu Định dạng chuẩn Giá trị 0DATETIME YYYY-MM-DD

HH:MM:SS0000-00-00

00:00:00DATE YYYY-MM-DD 0000-00-00TIME HH:MM:SS HH:MM:SSYEAR YEAR 0000

TIMESTAMP (có nhiều giá trị) 00000000000000

Định dạng kiểu TIMESTAMP

Tên kiểu Định dạngTIMESTAMP(14) YYYYMMDDHHMMS

STIMESTAMP(12) YYMMDDHHMMSSTIMESTAMP(10) YYMMDDHHMMTIMESTAMP(8) YYYYMMDDTIMESTAMP(6) YYMMDDTIMESTAMP(4) YYMMTIMESTAMP(2) YY

1.3.2.5. Các từ khoá định nghĩa cột (modifiers)

Từ khoá Kiểu dữ liệuthích hợp

Ý nghĩa

Auto_Increment

Int Tự động tăng dữ liệu của cột

Binary Char, Varchar Thiết lập lưu trữ chuỗi nhị phân(phân biệt chữ hoa – thường)

Default Tất cảtrừ text, blob

Thiết lập giá trị mặc định cho cộ

Not null Tất cả Không cho phép để giá trị nullNull Tất cả Cho phép để giá trị null

Primary key

Tất cả Thiết khoá chính cho cột

Unique Tất cả Giá trị duy nhấtUnsigned Kiểu numeric Chỉ lưu giá trị số nguyênZerofill Kiểu numeric Điền giá trị 0 cho đủ chiều dài số

24

Page 25: Tìm hiểu và triển khai MySQL Server trên Linux server

1.3.2.6. Định nghĩa một số thuật ngữ

NULL : Giá trị cho phép rỗng.

AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).

UNSIGNED : Phải là số nguyên dương

PRIMARY KEY : Cho phép nó là khóa chính trong bảng.

1.3.2.7. Các loại dữ liệu trong MySQL

Sau đây là một số kiểu dữ liệu thông dụng:

Kiểu dữ liệu Mô tả

Integers (số nguyên) Bigint: khoảng giá trị từ -263 đến 263 -1 tức từ -9.223.372.036.854.775.808 đến 9.223.372.036.854.775,807.

Int: khoảng giá trị từ -231 đến 231 -1 tức từ -2.147.483.648 đến 2.147.483.647.

Smallint: khoảng giá trị từ -215 đến 215 tức từ -32.768 đến 32.767.

Tinyint: khoảng giá trị từ 0 đến 255.

Bit: chứa giá trị 0 hoặc 1.

Decimal và numeric (số

thập phân) Decimal:  có giá t rị từ -1038 +1 đến 1038 -1. Numeric: tương đương sis decimal.

Money và

smallmoney (kiểu tiền tệ) Money: khoảng giá trị từ -263 đến 263 tức từ -

922.337.203.685.477,5808 922.337.203.685.477,5807. Smallmoney: khoảng giá trị từ -214.748,3648 đến

214.748,3647

25

Page 26: Tìm hiểu và triển khai MySQL Server trên Linux server

Approximate Numerics Float: độ chính xác từ 1.79E + 308 đến 1.79E + 308.

Real: độ chính xác từ -3.40E + 38 đến 3.40E + 38.

datetime and smalldatetime

datetime: khoảng giá trị từ 1/1/1753 đến 31/12/9999.

smalldatetime: khoảng giá trị từ 1/1/1900 đến 6/6/2079.

Character Strings (kiểu chuỗi)

Char: không chứa Unicode, chiều dài tối đa là 8.000 ký tự.

Varchar: không chứa Unicode, chiều dài tối đa là 8.000 ký tự.

Text: không chứa Unicode, chiều dài tối đa là 231 -1 tương đương với 2.147.483.647 ký tự

Unicode Character Strings (kiểu chuỗi có chứa Unicode)

nchar: có chứa Unicode, chiều dài tối đa là 4.000 ký tự nvarchar: có chứa Unicode, chiều dài tối đa là 4.000 ký

tự ntext: có chứa Unicode, chiều dài tối đa là 230 – 1 tức

1.073.741.823 ký tự.

1.3.3. Kết nối vào MySQL Server

PHP cung cấp hàm mysql_connect để kết nối vèo MySQL server. Cú pháp của hàm này như sau:

mysql_connect($server_address, $username, $password)

1.4. Các thao tác bằng dòng lệnh trên MySQL

1.4.1. Các thao tác trên Database

Tạo database và user MySql bằng dòng lệnh trên Linux Terminal, cách thiết lập

quyền sử dụng cho user.

1.4.1.1. Đăng nhập vào MySql Server bằng lệnh sau

mysql -u root -p

Tạo database

26

Page 27: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.1.2. Sau khi đăng nhập vào MySql Server bạn có thể tạo cơ sở dữ liệu bằng

lệnh sau

create database dbname;

1.4.1.3. Bây giờ chúng ta tạo một database mới có tên quanlysinhvien

create database quanlysinhvien;

1.4.1.4. Để sử dụng database ta vừa tạo ta sử dụng lệnh

use quanlysinhvien

1.4.1.5. Tiếp theo ta tạo bảng tbl_sinhvien.

CREATE TABLE tbl_sinhvien(

sinhvien_id int(10) NOT NULL AUTO_INCREMENT,

sinhvien_name varchar(50) NOT NULL,

sinhvien_email varchar(50) NULL,

sinhvien_address varchar(200) DEFAULT NULL,

sinhvien_phone int(10),

sinhvien_info  text NULL,

PRIMARY KEY(sinhvien_id)

)ENGINE='innodb';

Xem cấu trúc của bảng

show columns from tbl_sinhvien

Kết quả như hình bên dưới

27

Page 28: Tìm hiểu và triển khai MySQL Server trên Linux server

•  Chọn một database: 

-  Chọn một database mà ta làm việc với chúng

Cú pháp: use tên_database;

•    Xem bảng có trong database

Cú pháp: show tables;

•    Xem các database hiện có 

-    Dùng để xem các database đang có trên server

Cú pháp: 

show databases;

Hình minh họa

•    Chọn một database: 

-    Chọn một database mà ta làm việc với chúng

Cú pháp:

use tên_database;

28

Page 29: Tìm hiểu và triển khai MySQL Server trên Linux server

•    Xem bảng có trong database

Cú pháp: 

show tables;

3. Tạo user và thiết lập quyền cho user

Sử dụng lệnh sau để thiết lập đầy đủ các quyền cho một user

grant all on dbname.* to username@localhost;

Tất nhiên trong thực tế chắc chắn bạn cần giới hạn một số quyền của user, khi đó

hãy sử dụng lệnh sau

grant SELECT on dbname.* to username@localhost; // SELECT là quyền

Danh sách các quyền bạn có thể thiết lập cho user

ALL

ALTER

CREATE VIEW

CREATE

DELETE

DROP

GRANT OPTION

INDEX

INSERT

SELECT

SHOW VIEW

TRIGGER

UPDATE

Sau khi thiết lập các quyền cho user, bạn cần làm thêm một việc là thiết lập mật

khẩu cho user

29

Page 30: Tìm hiểu và triển khai MySQL Server trên Linux server

set password for username@localhost = password('mat_khau');

- See more at: http://thuthuatvietnam.com/tao-database-va-user-mysql-bang-lenh-

terminal.html#sthash.HP3oSxZO.dpuf

Backup bằng Command Line (sử dụng mysqldump để backup database)

Để có thể sử dụng dòng lệnh sao lưu cơ sở dữ liệu ta cần đăng nhập vào server

thông qua kết nối ssh

Sử dụng cấu trúc lệnh như sau

$ mysqldump --opt -u [uname] -p [dbname] > [backupfile.sql]

Trong đó:

[uname] : user của database

[dbname] : Tên của database

[backupfile.sql] : Tên file backup muốn lưu

[--opt] : Các tùy chọn mysqldump

Ví dụ : Để backup database thuthuatvietnam

$ mysqldump -u root -p thuthuatvietnam > backup_ttvn.sql

Có thể tùy chọn các bảng để backup bằng cách liệt kê các bảng, các bảng cách

nhau bằng khoảng trắng (dấu space)

$ mysqldump -u root -p thuthuatvietnam bang_a bang_b > backup_ttvn.sql

Back up MySQL Database và đồng thời nén lại

Nếu database có dung lượng lớn, ta cần nén lại, khi đó có thể sử dụng cấu trúc

lệnh nén cùng gzip

$ mysqldump -u [uname] -p [dbname] | gzip -9 > [backupfile.sql.gz]

2. Restore MySQL Database

Ở trên là cách tạo bản backup, tiếp tục là cách restore. Cấu trúc lệnh như sau:

$ mysql -u [uname] -p [dbname] < [backupfile.sql]

30

Page 31: Tìm hiểu và triển khai MySQL Server trên Linux server

Trong đó:

[uname] : user của database

[dbname] : Tên của database

[backupfile.sql] : Tên file backup đã lưu (file backup muốn phục hồi)

Ví dụ: Phục hồi database mangmaytinh

$ mysql -u root -p mangmaytinh < backup_ttvn.sql

Phục hồi database được nén

gunzip< [backupfile.sql.gz] | mysql -u [uname] -p [dbname]

Nếu muốn phục hồi một database đã tạo ra trước đó sử dụng lệnh mysqlimport.

Cấu trúc lệnh như sau:

mysqlimport -u [uname] -p [dbname] [backupfile.sql]

31

Page 32: Tìm hiểu và triển khai MySQL Server trên Linux server

CREATE TABLE tbl_sinhvien(

sinhvien_id int(10) NOT NULL AUTO_INCREMENT,

sinhvien_name varchar(50) NOT NULL,

sinhvien_email varchar(50) NULL,

sinhvien_address varchar(200) DEFAULT NULL,

sinhvien_phone int(10),

sinhvien_info  text NULL,

PRIMARY KEY(sinhvien_id)

)ENGINE='innodb';

Xem cấu trúc của bảng

show columns from tbl_sinhvien

Kết quả như hình bên dưới

•  Chọn một database: 

-  Chọn một database mà ta làm việc với chúng

Cú pháp:

use tên_database;

•    Xem bảng có trong database

Cú pháp:

32

Page 33: Tìm hiểu và triển khai MySQL Server trên Linux server

show tables;

•    Xem các database hiện có 

-    Dùng để xem các database đang có trên server

Cú pháp: 

show databases;

Hình minh họa

•    Chọn một database: 

-    Chọn một database mà ta làm việc với chúng

Cú pháp:

use tên_database;

•    Xem bảng có trong database

Cú pháp: 

show tables;

3. Tạo user và thiết lập quyền cho user

Sử dụng lệnh sau để thiết lập đầy đủ các quyền cho một user

grant all on dbname.* to username@localhost;

trong thực tế cần giới hạn một số quyền của user, khi đó hãy sử dụng lệnh sau

grant SELECT on dbname.* to username@localhost; // SELECT là quyền

Danh sách các quyền bạn có thể thiết lập cho user

ALL

33

Page 34: Tìm hiểu và triển khai MySQL Server trên Linux server

ALTER

CREATE VIEW

CREATE

DELETE

DROP

GRANT OPTION

INDEX

INSERT

SELECT

SHOW VIEW

TRIGGER

UPDATE

Sau khi thiết lập các quyền cho user, bạn cần làm thêm một việc là thiết lập mật khẩu

cho user

set password for username@localhost = password('mat_khau');

Backup bằng Command Line (sử dụng mysqldump để backup database)

Để có thể sử dụng dòng lệnh sao lưu cơ sở dữ liệu ta cần đăng nhập vào server thông

qua kết nối ssh

Sử dụng cấu trúc lệnh như sau

$ mysqldump --opt -u [uname] -p [dbname] > [backupfile.sql]

Trong đó:

[uname] : user của database

[dbname] : Tên của database

[backupfile.sql] : Tên file backup muốn lưu

[--opt] : Các tùy chọn mysqldump

34

Page 35: Tìm hiểu và triển khai MySQL Server trên Linux server

Ví dụ : Để backup database thuthuatvietnam

$ mysqldump -u root -p thuthuatvietnam > backup_ttvn.sql

Có thể tùy chọn các bảng để backup bằng cách liệt kê các bảng, các bảng cách nhau

bằng khoảng trắng (dấu space)

$ mysqldump -u root -p thuthuatvietnam bang_a bang_b > backup_ttvn.sql

Back up MySQL Database và đồng thời nén lại

Nếu database có dung lượng lớn, ta cần nén lại, khi đó có thể sử dụng cấu trúc lệnh

nén cùng gzip

$ mysqldump -u [uname] -p [dbname] | gzip -9 > [backupfile.sql.gz]

2. Restore MySQL Database

Ở trên là cách tạo bản backup, tiếp tục là cách restore. Cấu trúc lệnh như sau:

$ mysql -u [uname] -p [dbname] < [backupfile.sql]

Trong đó:

[uname] : user của database

[dbname] : Tên của database

[backupfile.sql] : Tên file backup đã lưu (file backup muốn phục hồi)

Ví dụ: Phục hồi database mangmaytinh

$ mysql -u root -p mangmaytinh < backup_ttvn.sql

Phục hồi database được nén

gunzip < [backupfile.sql.gz] | mysql -u [uname] -p [dbname]

Nếu muốn phục hồi một database đã tạo ra trước đó sử dụng lệnh mysqlimport. Cấu

trúc lệnh như sau:

mysqlimport -u [uname] -p [dbname] [backupfile.sql]

1.4.2. Các thao tác trên bảng

1.4.2.1. Tạo bảng bằng lênh SQL

Tạo bảng mới

35

Page 36: Tìm hiểu và triển khai MySQL Server trên Linux server

Create table table_name ( column_names datatypes modifiers)

Vd : Tạo bảng Customers (khách hàng)

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, Race VARCHAR(20),

Gender ENUM('M', 'F') DEFAULT 'F',

Eye_Color VARCHAR(10), Hair_Color VARCHAR(10),

Favorite_Activity ENUM('Programming', 'Eating', 'Biking', 'Running', 'None')

DEFAULT 'None',

Favorite_Movie VARCHAR(50),Occupation VARCHAR(30), Smoker

CHAR(0));

Tạo bảng tạm (bảng phụ) mới

Create temporary table table_name (column_names datatypes modifiers)

Tạo bảng tạm (bảng phụ) từ một câu truy vấn

Create temporary table select column_name from table_name

vd : create temporary table select * from Customers

Tạo bảng sao chép từ một bảng khác

Create table table_name select column_name from table_name_1

vd : create table Customers_copy select * from Customers

Kiểm tra sự tồn tại của bảng trước khi tạo

Create table If not Exists table_name (column_names datatypes modifiers)

1.4.2.2. Xem thông tin của CSDL, Bảng

Xem các bảng của CSDL

36

Page 37: Tìm hiểu và triển khai MySQL Server trên Linux server

Show tables [from database_name];

Xem các cột của bảng

Show columns [from table_name];

Xem cấu trúc của bảng

Discribe table_name [from database_name];

1.4.2.3. Xoá bảng

Drop table table_name [from database_name];

1.4.2.4. Thay đổi cấu trúc bảng

Thay đổi tên cột

Alter table table_name change old_column_name

new_column_name old_datatype;

Vd : 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;

Vd : ALTER TABLE Customers

CHANGE Last_Name Last_Name VARCHAR(50);

Đổi tên bảng

Alter table table_name Rename new_table_name;

Vd : ALTER TABLE Customers RENAME Customer_Table;

Thêm cột vào bảng

Alter table table_name add column_name datatype;

Vd : ALTER TABLE Customer ADD Last_Name VARCHAR(30);

Xoá một cột

Alter table table_name Drop column_name;

Vd : ALTER TABLE Customers DROP Last_Name;

37

Page 38: Tìm hiểu và triển khai MySQL Server trên Linux server

Thêm khoá chính

Alter table table_name Add Primary Key (column_names);

Vd : ALTER TABLE Customers ADD PRIMARY KEY (Customer_ID);

Xoá khoá chính

Alter table table_name Drop Primary Key;

1.4.2.5. Chèn dữ liệu vào bảng

Chèn một dòng dữ liệu

Insert into table_name (column_names) values (column_values);

Vd : Tạo bảng một bảng có tên Test_Table và chèn dữ liệu

CREATE TABLE Test_Table

(Test_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,

Test_Name VARCHAR(30),

Test_Date DATETIME,

Test_Giver VARCHAR(30));

INSERT INTO Test_Table (Test_ID, Test_Name, Test_Date, Test_Giver)

VALUES (NULL, 'Test','2000-01-01','Glen');

Chèn nhiều dòng dữ liệu

Insert into table_name (column_names) values (column_values),

(column_values), (…);

Vd :

INSERT INTO Test_Table (Test_ID, Test_Name, Test_Date, Test_Giver)

VALUES (NULL, 'John','2000-01-01','Glen'),

(NULL, 'Thomas','2000-01-01','Jose');

1.4.3. Các thao tác các trường

Ghi Dữ Liệu

38

Page 39: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.3.1. Thêm dữ liệu

Sau khi chúng ta đã tạo một một bảng dữ liệu trên MySQL, thì dữ liệu trong bảng

chúng ta có thể tùy biến thay đổi và cập nhật một cách dễ dàng .

Code SQL :

INSERT INTO `id_student`(`AI`, `nick`, `name`, `ngaysinh`, `nhom`, `email`)

VALUES ('3','dat','dat','31/10/92','TC 7',dtran3110'');

Trước hết các bạn dùng INSERT INTO để thông báo ‘tớ sắp chèn thêm một hàng

vào đấy !’

Tiếp theo, các bạn chỉ ra tên của cái bảng mà bạn định chèn, ở đây là

bảng id_student, rồi đặt vào trong ngoặc đơn tên các cột của bảng đó.

Cuối cùng, bạn viết VALUE rồi ghi giá trị cần chèn vào theo đúng thứ tự với các

cột để khỏi nhầm lẫn.

Riêng mục AI hiểu một cách khác là ID, thì làm trên MySQL cũng như trên

Phpmyadmin nó sẽ tự động tăng dần.

Nếu thích các bạn có thể không cần ghi ra tên các cột ngay sau tên bảng, code vẫn

chạy đúng, nhưng như vậy sẽ thiếu sự rõ ràng khi mình đọc code :

Code SQL:

INSERT INTO VALUES ('3','dat','dat','31/10/92','TC 7',dtran3110'');

39

Page 40: Tìm hiểu và triển khai MySQL Server trên Linux server

Mình vừa thêm thành công dữ liệu vào bảng id_student

Sau đây mình sẽ kiểm tra xem dữ liệu có AI = 4 đã có trong bảng chưa ?

Sử dụng câu lệnh SQL :

SELECT * FROM `id_student` WHERE 1;

Dữ liệu trong bảng sẽ được hiển thị :

40

Page 41: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.3.2. Sửa dữ liệu

Trên 4.1 chúng ta vừa thao tác là thêm dữ liệu vào bảng tiếp đây để cập hay thay

đổi những thông tin dữ liệu trong bảng thì sử dụng câu lệnh Sql sau

Lệnh SQL :

UPDATE `id_student` SET `AI`=[value-1],`nick`=[value-2],`name`=[value-

3],`ngaysinh`=[value-4],`nhom`=[value-5],`email`=[value-6] WHERE 1;

Trước hết, từ khóa UPDATE cho biết mình sắp sửa đổi một dữ liệu

Tiếp theo : tên của bảng cần sửa

Từ khóa SET ngay sau đó dùng để thay đổi giá trị của dữ liệu cần sửa đổi

Dùng phép gán để thay đổi giá trị

WHERE để chỉ ra ID của hàng chứa dữ liệu cần sửa

Nếu bạn không biết ID của nó là bao nhiêu, bạn có thể vào PhpMyAdmin để

xem .

41

Page 42: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.3.3. Xóa dữ liệu

Thao tác cuối cùng là Delete! , nói đến xóa dữ liệu thì các bạn thao tác thật thận

trọng vì nhiều khi thực tế có nhiều dữ liệu quan trọng một khi Xóa rùi thì có thể không

lấy lại được hoặc vô cùng phức tạp.

Lệnh SQL :

DELETE FROM `id_student` WHERE AI= ‘1’ ;

 DELETE mình dùng từ khóa 

FROM để chỉ ra xóa ở đâu (ở bảng nào) và chỉ ra tên của bảng,

WHERE để chỉ ra hàng cần xóa! Bạn cũng có thể viết WHERE AI=1. Kết quả

42

Page 43: Tìm hiểu và triển khai MySQL Server trên Linux server

1.4.3.4. Kết luận

Trên đây là thao tác thêm sửa xóa dữ liệu trên MySql bằng lệnh trên ubuntu Server

Có cách khác để thao tác dễ dàng hơn là các bạn dùng trình duyệt web của máy

client trong local truy cập vào địa chỉ mạng và tới phpmyadmin.

Vd : 192.168.1.9/phpmyadmin

43

Page 44: Tìm hiểu và triển khai MySQL Server trên Linux server

Bạn sẽ thao tác bằng hỉnh ảnh trực quan và cũng có thể kiểm tra khi chúng ta thao

tác bằng dòng lệnh đã thành công chưa …

1.5. Liên kết mysql và PHP chúng ta cần nắm 6 hàm cơ bản:

1.5.1.Kết nối cơ sở dữ liệu:

Cú pháp:

mysql_connect(“hostname”,”user”,”pass”)

1.5.2. Lựa chọn cơ sở dữ liệu:

Cú pháp:

mysql_select_db(“tên_CSDL”)

Ví dụ:

$conn=mysql_connect(“localhost”,”root”,”root”) or die(” khong the

ket noi”);

mysql_select_db(“demo”);

1.5.3. Thực thi câu lệnh truy vấn:

Cú pháp:

mysql_query(“Câu truy vấn ở đây”);

44

Page 45: Tìm hiểu và triển khai MySQL Server trên Linux server

1.5.4. Đếm số dòng dữ liệu trong bảng:

Cú pháp:

mysql_num_rows();

1.5.5. Lấy dữ liệu từ bảng đưa vào mảng:

Cú pháp:

mysql_fetch_array();

1.5.6. Đóng kết nối cơ sở dữ liệu:

Cú pháp:

mysql_close();

Tạo cơ sở dữ liệu dựa trên từng đoạn code sau:

mysql -hlocalhost -uroot –proot

mysql>create database demo_mysql;

mysql> use demo_mysql;

mysql>create table user(id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,

username VARCHAR(50) NOT NULL, password CHAR(50) NOT NULL, PRIMARY

KEY(id));

Tạo trang test.php. Đầu tiên chúng ta sẽ kết nối cơ sở dữ liệu.

<?

$conn=mysql_connect(“localhost”, “root”, “root”) or die(“can’t

connect database”);

mysql_select_db(“demo_mysql”,$conn);

?>

Tiếp đến viết câu truy vấn lấy ra tất cả user từ database.

<?

$sql=”select * from user”;

45

Page 46: Tìm hiểu và triển khai MySQL Server trên Linux server

$query=mysql_query($sql);

?>

Kiểm tra xem trong bảng dữ liệu đã tồn tại user nào chưa ?. Nếu chưa thì xuất ra

thông báo lỗi, ngược lại thì đưa chúng vào mảng và lặp cho đến hết bảng dữ liệu.

<?

if(mysql_num_rows($query) == 0)

{

echo “Chua co du lieu”;

}

else

{

while($row=mysql_fetch_array($query))

{

echo $row[username] .” – “.$row[password].”<br />”;

}

}

?>

Và cuối cùng chúng ta đóng kết nối và kết thúc thao tác xử lý.

<?

mysql_close($conn);

?>

Và cuối cùng là file hoàn chỉnh của ứng dụng trên:

<?

$conn=mysql_connect(“localhost”, “root”, “root”) or die(“can’t

connect database”);

mysql_select_db(“demo_mysql”,$conn);

$sql=”select * from user”;

$query=mysql_query($sql);

if(mysql_num_rows($query) == 0)

46

Page 47: Tìm hiểu và triển khai MySQL Server trên Linux server

{

echo “Chua co du lieu”;

}

else

{

while($row=mysql_fetch_array($query))

{

echo $row[username] .” – “.$row[password].”<br />”;

}

}

mysql_close($conn);

?>

47

Page 48: Tìm hiểu và triển khai MySQL Server trên Linux server

48

Page 49: Tìm hiểu và triển khai MySQL Server trên Linux server

Phần 2: PHP MYADMIN và MySQL Client

Định nghĩa

PhpMyAdmin là một công cụ nguồn mở miễn phí được viết bằng PHP dự định để xử lý quản trị của MySQL thông qua một trình duyệt web. Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; thực hiện báo cáo SQL; hoặc quản lý người dùng và cấp phép.

2.1. Thao tác trên Phpmyadmin:

2.1.1. Tạo Database (CSDL – Cơ Sở Dữ Liệu)

Hình1 . giao diện của phpMyAdmin

49

Page 50: Tìm hiểu và triển khai MySQL Server trên Linux server

Hinh 2 tao database “Quan Ly”

2.1.2. Tạo Bảng (table)

Thêm bảng vào database: Ta thêm bảng user có cấu trúc như sau

Field Kiểu dữ liệu Mô tả

id Integer (10) Là Khóa chính của bảng có chiều dài ký tứ tối đa là

10

username Varchar (50)  Là tên đăng nhập có chiều dài kí tự tối đa là 50

password char (50)  Là mật khẩu có chiều dài ký tự tối đa là 50

 Email  Varchar (50)   Email với chiều dài ký tự tối đa là 50

50

Page 51: Tìm hiểu và triển khai MySQL Server trên Linux server

 address varchar

(200) địa chỉ

 Phone  integer (50)  Số điện thoại

 gender  char (1)  thể hiện giới tính

Tiếp theo ta chọn database Quan Ly mà ta cần thêm bảng User vào như hình bên

dưới

Nhấn Go

  Sau khi nhập đầy đủ thông tin ta được như hình bên dưới

51

Page 52: Tìm hiểu và triển khai MySQL Server trên Linux server

Sau đó nhấn save để lưu lại ta được bảng user như hình bên dưới

2.1.3. Thêm dữ liệu vào Bảng (table)

Tiếp theo ta  thêm dữ liệu vào trong bảngClick vào bảng user và chọn Insert ta

được giao diện như sau

Tã đã thêm dữ liệu vào bảng

2.1.4. Sửa và Xóa dữ liệu trong Bảng (table)

Bước 1: Chọn table muốn xóa sửa (ví dụ danhmuc)

Bước 2: Nhắp link Browse.

Bước 3: Hiệu chỉnh/xóa: khi muốn sửa xóa phải tích vào dòng muốn thao tác

Sửa record: Nhắp nút Edit (cây viết) trên dòng chứa record.

Xóa record : Nhắp nút Drop (dấu nhân màu đỏ) trên dòng chứa record.

52

Page 53: Tìm hiểu và triển khai MySQL Server trên Linux server

2.1.5. Sửa cấu trúc Table (bảng):

Bước 1: Chọn table

Bước 2: Nhắp link Structure

Bước 3:

Chỉnh field: Nhắp nút Change (cây viết)

Xóa field : Nhắp nút Drop (dấu nhân màu đỏ)

Thêm field : Nhắp nút Go trong mục Add

2.1.6. Đổi tên Bảng (table)

Bước 1: Chọn table

Bước 2: Nhắp link Operations

Bước 3. Rename table to: gõ tên mới

53

Page 54: Tìm hiểu và triển khai MySQL Server trên Linux server

Bước 4: Nhắp nút Go

Ví dụ: Đổi tên table User thành Nguoidung

2.1.7. Xóa Bảng (table)

Bước 1: Chọn database

Bước 2: Nhắp Drop

Ví dụ: Xóa table Manh

2.2. Sử dụng MySQL Client để kết nối với MySQL server

Hiện nay có rất nhiều phần mềm MySQL Client trong tài liệu này sẽ sử dụng

dbForge Studio Express for MySQL

Để sử dụng dbForge Studio Express for MySQL đầu tiên ta download phần mềm

tại http://www.devart.com/dbforge/mysql/studio/download.html và cài đặt lên máy trạm

như phần mềm bình thường

Dưới đây là một vài minh họa về các thao tác cơ bản sử dụng trên

54

Page 55: Tìm hiểu và triển khai MySQL Server trên Linux server

dbForge Studio Express for MySQL

55

Page 56: Tìm hiểu và triển khai MySQL Server trên Linux server

Giao diện khi chạy dbForge Studio Express for MySQL

2.2.1. Tạo kết nối với MySQL server

Trong phần mềm các thao tác trên MySQL server được thực hiện qua giao hiện đồ

họa trực quan thân thiện

56

Page 57: Tìm hiểu và triển khai MySQL Server trên Linux server

2.2.2.

Thao tác tạo database

Nhập tên và kiểu tham chiếu của database

57

Page 58: Tìm hiểu và triển khai MySQL Server trên Linux server

2.2.3. Tạo bảng

58

Page 59: Tìm hiểu và triển khai MySQL Server trên Linux server

2.2.4. Sửa cấu trúc bảng

59

Page 60: Tìm hiểu và triển khai MySQL Server trên Linux server

2.2.5. Xóa bảng

2.2.6. Đổi tên bảng

Các thao tác với dữ liệu

60

Page 61: Tìm hiểu và triển khai MySQL Server trên Linux server

2.2.7. Xóa database

61

Page 62: Tìm hiểu và triển khai MySQL Server trên Linux server

KẾT LUẬN

Sau khi tìm hiểu và thực hành đề tài bài tập lớn nhóm chúng em đã có sự tập trung

các ý để hoàn thiện tập tài liệu này với một số website tham khảo sau đây:

http://vi.wikipedia.org/wiki/SQL

http://forum.ubuntu-vn.org/viewtopic.php?f=51&t=10750

http://www.quantrimang.com.vn/cai-dat-apache2-voi-php5-va-ho-tro-mysql-tren-

ubuntu-11-10-lamp-83444

và các tài liệu trên sách báo và thực hành trực tiếp trên máy.

Chúng em đã hoàn thành cuốn tài liệu tìm hiểu và triển khai mysql server trên

linux server, cuốn tài liệu chắc chắn còn những thiếu sót mong được thầy và các bạn góp

ý để hoàn thiện hơn. Xin cảm ơn thầy và các bạn.

Ha nôi 10/11/2014

Nhóm 01

62