gioi thieu my sql
TRANSCRIPT
-
8/18/2019 Gioi Thieu My SQL
1/25
Mv SOL Introduction (sưu tầm)
GI I THIỆU MySQL
Nội dung1. Chuẩn b ị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12. Khỏi động và t ắt MySQL Ser ver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13. Quản tr ị MỵSQL với MySQL Admi ni st r at or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14. Truy vấn vói MySQL Query Br owser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Ki ểu dữ l i ệu t r ong MySQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86. Tạo CSDL t r ongMySQL Admi ni st r at or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137. Tạo Bảng t r ongMySQL Admi ni st r at or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148. Tạo khóa c hi nh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169. Tạo khóa ngoại . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1810. I nser t dữ l i ệu vào bảng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.Chuẩn bị
MySQL có hai phi ên chi nh l à MySQL Ent er pr i se và MỵSQL Communi t yServer . Tr ong phần t hực hành này t a chọn MySQL Communi t y Ser verphi ên bản 5. 0. 45 và MySQL GUI Tool s phi ên bản 5. 0. 12 t ạiht t p:/ / dev. mysql .com/ downl oads.
2.Khởi đ ng và tắt MySQL Server
Để khởi động MySQL Ser ver t a có t hể dùng một t r ong hai cách sau:a. MySQL Server sẽ t ự động khởi động ngay sau khi khởi động Wi ndows
nếu t r ong quá t r ì nh cài đặt t a chọn t hi ết l ập cài đặt MỵSQL nhưl à một dị ch vụ của Wi ndows.
b. Sử dụng l ệnh mysql d- nt như sau:• Mở cửa sổ dòng l ệnh Command Pr ompt bằng:
+ St ar t -» Al l Progr ams ->Access or i es -+CommandPr omt hoặc
+ St ar t ->Run và t hực t hi l ệnh cmd.• Từ cửa sổ dòng l ệnh t hực hi ện l ệnh mysql d- nt [ opt i ons] Tr ong đó [ opt i ons] l à các t ùy chọn khởi động cho MySQLServer . Để xem đầy đủ nội dung các t ùy chọn t a sử dụngmysql d- nt - verbose - hel p. Nếu khởi động với các opt i ons mặcđị nh t hì chỉ dùng l ệnh mysql d- nt , khi đó các opt i ons sẽ đượcl ấy t r ong t ập t i n cấu hì nh my. i ni t r ong t hư mục cài đặt MySQLhoặc t hư mục Wi ndows của hệ t hống.
Để t ắt MỵSQL Server t a sử dụng l ệnh mysql admi n như sau:• Mở cửa sổ dòng l ệnh Command Pr ompt .• Từ cửa sổ dòng l ệnh t hực hi ện l ệnh mysql admi n - u r oot
shut down.
3.Quản trị MySQL với MySQL Administrator
Để dễ dàng t ạo các cơ sờ dữ l i ệu chúng t a có t hể sử dụng công cụhổ t r ợ quản t r ị MySQL Ser ver gọi l à MySQL Admi ni st r at or . Sau khi
Trang: 1
http://dev.mysql.com/downloadshttp://dev.mysql.com/downloads
-
8/18/2019 Gioi Thieu My SQL
2/25
Mv SOL Introduction (su'u tam)
chắc chắn MySQL Ser ver đã được khởi động, t a sẽ khởi động MySQLAdmi ni st r at or bằng cách chọn st ar t -> Al l Pr ogr ams -» MySQL -t MySQLAdmi ni st r at or . Cửa sổ đăng nhập MySQL Admi ni st r at or xuất hi ện( Hì nh 1. 1) .
Gi ả sử MySQL Ser ver được cài đặt t r ên máy đơn mà t a đang sử dụng.Để kết nối với MỵSQL Ser ver t a cần các t hông số sau cơ bản sau:
Ser ver Host: l ocal hostPor t : 3306User name: r ootPassword:
Sau đó nhấp chuột vào nút OK. Nếu kết nối t hành công cửa sổ chi nhcủa MySQL Admi ni st r at or sẽ xuất hi ện ( Hì nh 1. 2) .
Để t ạo cơ sở dữ l i ệu t a chọn mục Cat al ogs t r ong phần bên t r ái củacửa sổ chi nh. Nhấp chuột phải vào phần ờ góc t r ái dưói của cửa sổchỉ nh và chọn Creat e New Schema, chú ý t r ong MySQL một cơ sở dữl i ệu còn được gọi l à Schema. Hộp t hoại Cr eat e New Schema xuất hi ện( Hì nh 1. 3) và yêu cầu t a nhập vào Schema name, t ên của cơ sở dữl i ệu cần t ạo.
MySQL Administrator 1 .2.12
Connect to MySQL Server Instance
Stored Connection:
Server Host:
Username:
Password:
□
Port: 33ŨS
Details >> OK Clear Cancel
Hình 1.1: Cửa sổ đăng nhập MySQL Administrator
Trang: 2
-
8/18/2019 Gioi Thieu My SQL
3/25
Mv SOL Introduction (sifu tarn)
*MySQL Administrator - Connection: Luong's ConnectionFile E dt View T ools Window MySQL Enterprise Help
W Sc i vc i Irrfomwtiun
Service Control
Startup Variables
A 3 User Administration
Server Connections
Health
Server Logs
£ Replication Status^ Backup
^4 Restore
information_schema
mysql
test
Select a schema to display Ihe assets.
Create new Schema
Please enter a name for the new schema.
Schema name:
OK Cancel
Hình 1.3: Hộp thoại Create New Schema
Gi ả sử t a tạo một cơ sở dữ l i ệu có t ên l à CSDL_Congt y, khi đóSchema csdl _congt y sẽ xuất hi ện t r ong danh sách các Schema ở góct r ái dưới của cửa sổ chi nh.
Để t ạo mới , chi nh sửa, xóa các quan hệ (bảng) của một cơ sờ dữl i ệu, t a nhấp chuột để chọn cơ sở dữ l i ệu ( schema) t r ong danh sáchschema. Tr ong phần bên phải của cửa sổ chi nh sẽ xuất hi ện mụcSchema Tabl es cho phép thực hi ện vi ệc t ạo, hi ệu chỉ nh và xóa quanhệ ( Hì nh 1. 4) .
Trang: 3
-
8/18/2019 Gioi Thieu My SQL
4/25
Mv SOL Introduction (sưu tầm)
*MySQL Administrator Connection: Luong’s Connection E H T3 EFie Edit View Took Window MySQL Enterprise Help
Seivof Information
' . Service Control
J Startup Variables¿ 3 User Administration
Server Connections
V j Heallh
Server Logs
Replication Status
Backup
L,^ j Restore
!̂ / Catalogs
information_schema
J roysq!lest
Schema Tables Schema Indices Views S toted procedures
— csld_conglyJ AI tables of the csỉd_congty schema
Table Name ■' Engine D ata len . Index len... u pda te time
[itoị~Create T
0 IData Len
Edt Table
OB I Index Len
Maintenance
Hình 1.4: Cửa sổ chính với mục Schema Tables
Reset mật khẩu của root trên Windows:
vào Star t - > Run - > gõCode:ser vi ces. mscEnt er Tì m servi ces MySQL và st op l ại
sau đó t ì m t hư mục cài đặt mySQL gi ả sử C: \ mySQLVào St ar t - > Run - > gõCode:
cmdEnter.ta vào t hư mục bi nCode:cd C: \ mysql \ bi nvà gõ l ệnhCode:c : \ mySQL\ bi n\ >mysql d- nt —ski p- grant - t abl esGi ữ nguyên cửa số đó và mờ t hêm 1 cửa sổ command móivào bi n và gõ l ệnhCode:c : \ mySQT.\bi n\>rmysql -11 root.khi đó sẽ l ogi n vào root mà không cần password.Để Reset passwor d root t a dùng l ệnhCode:mysql >use mỵsql ; updat e user set Passwor d=PASSWORD(' new_pass') WHEREUser =' r oot ' ; FLUSH PRI VI LEGES;t rong đó new_pass chi nh l à password của bạn.
Trang: 4
-
8/18/2019 Gioi Thieu My SQL
5/25
Mv SOL Introduction (sưu tầm)
4.Truy vấn vởi MySQL Query Browser
MySQL Quer y Br owser cho phép ta t hực hi ện các l ệnh t r uy vấn cơ sởdữ l i ệu. Để sử dụng MySQL Quer y Br owser t a khởi động nó từ st ar t -»Al l Pr ogr ams -» MySQL -» MySQL Quer y Br owser . Khi đó cửa sổ đăngnhập MỵSQL Quer y Br owser xuất hi ện ( Hì nh 1. 5) .
MySQL Query Browser 1 .2.12 ><
Connect to MySQL Server Instance
Stored Connection:
Server Host:
Username:
Password:
Default Schema:
g Port: 330S
Details » OK Clear Cancel
Hình 1.5: Cửa sổ đăng nhập MySQL Query Browser
Gi ả sử MySQL Ser ver được cài đặt t r ên máy đơn mà t a đang sù dụng. Ta cũng nhập vào các t hông số cơ bản t ương t ự khi kết nối MySQLAdmi ni st r at or với MySQL Ser ver :
Ser ver Host: l ocal hostUser name: r ootPassword:
Tr ong mục Def aul t Schema phải nhập vào t ên cơ sở dữ l i ệu mà t amuốn thực hi ện các t r uy vấn t r ên đó. Sau đó nhấp chuột vào nút OKvà cửa sổ chỉ nh của MySQL Query Br owser sẽ xuất hi ện ( Hì nh 1. 6) .
Cửa sổ chi nh của MỵSQL Query Br owser gồm các t hành phần cơ bảnsau.c. Công c truy vấn - Query Toolbar
Nơi để soạn t hảo và t hực t hi các t r uy vấn. Gồm có 3 nút dichuyển (Go back, Next , Ref r esh) , vùng soạn t hảo t r uy vấn, 2 nútchức năng ( Execut e, s t op) .• Các nút di chuyển
Dùng để duyệt danh mục các l ệnh t r uy vấn đã được t hực t hi .Chỉ các l ệnh t r uy vấn không xảy ra l ỗi mới được l ưu vào danhmục. Nút Go back chuyển về nhóm l ệnh t r uỵ vấn đã thực t hi
Trang: 5
-
8/18/2019 Gioi Thieu My SQL
6/25
Mv SOL Introduction (sưu tầm)
ngay t r ước nhóm l ệnh hi ện đang có t r ong vùng soạn thảo t r uỵvấn. Nút Next chuyển đến nhóm l ệnh t r uy vấn đã t hực t hi ngaysau nhóm l ệnh hi ện đang có t r ong vùng soạn t hảo t r uy vấn. NútRefresh t hực t hi l ại nhóm l ệnh t r uy vấn đã được t hực t hi gầnnhất .
• Vùng soạn t hảo t r uy vấn
Dùng hi ển t hị và soạn t hảo các l ệnh t r uy vấn. vùng này mặcđị nh có 3 dòng và có t hể được mở r ộng l ên t ối đa 10 dòng. Nếucác t r uy vấn dài hơn 10 dòng t hì t hanh cuộnsẽ xuấthi ện. Đểt ăng t ối đa kí ch t hước vùng soạn t hảo dùng vi ew ->Maxi mi zeQuer y Edi t hoặc gõ phi m F11.
• Các nút chức năngDùng để t hực t hi hoặc dừng các l ệnh t r uy vấn. Nút Execute dùng để t hực t hi các l ệnh t r uy vấn hi ện t hời t r ong vùng soạnt hảo. Nút Stop dùng để chấm dứt các l ệnh t hực t hi nếu vi ệct hực t hi xảy ra quá l âu mà chưa cho ra kết quả.
Để l ưu l ại các câu l ệnh t r uy vấn đã t hực t hi vào t ậpt i n dùngFi l e -> Save As . Sau đót a chọn ki ểu t ập t i n để l ưu l à SQLScr i pt F i l e ANSI ( * . sql ) .
' MySQl Query Browser - Connection: 1uong's Connection /csdf_congty jn.
d. Công c truy vấn - Query Toolbar
Nơi để soạn t hảo và t hực t hi các t r uy vấn. Gồm có 3 nút dichuyển ( Go back, Next , Ref r esh) , vùng soạn t hảo t r uy vấn, 2 nútchức năng ( Execut e, s t op) .
Trang: 6
-
8/18/2019 Gioi Thieu My SQL
7/25
Mv SOL Introduction (sưu tầm)
• Các nút di chuyểnDùng để duỵệt danh mục các l ệnh t r uy vấn đã được t hực t hi .Chỉ các l ệnh t r uy vấn không xảy ra l ỗi mới được l ưu vào danhmục. Nút Go back chuyển về nhóm l ệnh t r uy vấn đã t hực t hingay t r ước nhóm l ệnh hi ện đang có t r ong vùng soạn thảo t r uỵvấn. Nút Next chuyển đến nhóm l ệnh t r uỵ vấn đã t hực t hi ngaysau nhóm l ệnh hi ện đang có t r ong vùng soạn thảo t r uy vấn. NútRefresh
t hực t hi l ại nhóm l ệnh t r uy vấn đã được t hực t hi gầnnhất .
• Vùng soạn t hảo t r uy vấnDùng hi ển t hị và soạn t hảo các l ệnh t r uy vấn. vùng này mặcđị nh có 3 dòng và có t hể được mở r ộng l ên t ối đa 10 dòng. Nếucác t r uy vấn dài hơn 10 dòng t hì t hanh cuộn sẽ xuất hi ện. Đểt ăng t ối đa kí ch thước vùng soạn thảo dùng vi ew -> Maxi mi zeQuer y Edi t hoặc gõ phỉ m F11.
• Các nút chức năngDùng để t hực t hi hoặc: dừng các l ệnh t r uy vấn. Nút Execute dùng để t hực t hi các l ệnh t r uy vấn hi ện t hời t r ong vùng soạnt hảo. Nút Stop dùng để chấm dứt các l ệnh t hực t hi nếu vi ệct hực t hi xảy ra quá l âu mà chưa cho ra kết quả.
Để l ưu l ại các câu l ệnh t r uy vấn đã thực t hi vào t ập t i n dùngFi l e -► Save As. Sau đó ta chọn ki ểu t ập t i n để l ưu l à SQL Scr i ptFi l e ANSI ( * . sql ) .
e. Vùng hiển thị kết quả truy vấn - Result Area Nơi hi ển t hị kết quả của các l ệnh t r uy vấn.
f. Vùng duyệt đối tượng - Object Browser
Nơi l i ệt kê và cho phép l ựa chọn cơ sờ dữ l i ệu, quản l ý bookmar kvà danh mục các câu l ệnh t r uy vấn đã được t hực hi ện.
Tr ì nh duyệt cơ sở dữ l i ệu, t hẻ Schemat a, l à t hành phần chỉ nh củavùng duyệt đối t ượng. Ta có t hể chọn các quan hệ và các t huộct ĩ nh của quan hệ, có t hể hi ệu chỉ nh, hủy và t ạo bảng, có t hể hủyvà tạo cơ sở dữ l i ệu. Ta cũng có t hể l ựa chọn cơ sở dữ l i ệu mặcđị nh để thực hi ện các t r uy vấn t r ên cơ sở dữ l i ệu đó.
Cơ sở dữ l i ệu mặc đị nh l uôn được t ô đậm, để t hay đổi cơ sở dữl i ệu mặc đị nh nhấp chuột phải vào cơ sở dữ l i ệu muốn đổi và chọnMake Def aul t Schema.
g. Vùng duyệt thông tin - Information Browser
Nơi cho phép t ham khải nhanh các t hông t i n về cú pháp các l ệnh,cách sử dụng các t oán tử và các hàm có sẵn t r ong MySQL.
h. Vùng soạn thảo script - Script Editor
Trang: 7
-
8/18/2019 Gioi Thieu My SQL
8/25
Mv SOL Introduction (sưu tầm)
Nơi để soạn t hảo các nhóm l ệnh t r uy vấn l ớn. vùng này nằm t r ongmột t hẻ r i êng bi ệt t r ong vùng hi ển t hị kết quả t r uy vấn. Khivùng này xuất hi ện, công cụ Advanced Tool bar xuất hi ện và t hayt hế Quer y Tool bar .
Để t ạo vùng soạn t hảo mới dùng Fi l e -» New Scr i pt Tab. Để l ưu l ạinội dung t r ong vùng soạr. t hảo dùng Fi l e -» Save As và chọn ki ểu
t ập t i n để l ưu l à SQL Scri pt Fi l e ANSI ( *. sql ) .Các nút chức năng gỡ l ỗi của công cụ Advanced Tool bar có thể sửdụng với Scr i pt Edi t or gồm:• Execute: t hực t hi t ất cả các l ệnh t r uy vấn t r ong vùng soạn
t hảo.• Continue : t hực t hi l ệnh t r uy vấn đầu t i ên ( hoặc l ệnh t r uy vấn
t ại vị t r í con t rỏ) và kết t húc khi xảy ra l ỗi hoặc gặp mộtđi ểm gãy ( br eak poi nt ) .
• Step: t hực t hi l ệnh t r uy vấn kế t i ếp.• Pause: dừng vi ệc t hực t hi và t ô đậm l ệnh sẽ được t hực thi kế
t i ếp.• Stop: dừng vi ệc t hực t hi .
5.Kiểu dữ liệu trong MySQL
i . Các kiểu sốMySQL hổ t r ợ t ất cả các ki ểu số của SLQ chuẩn gồm các ki ểu sốchỉ nh xác ( I NTEGER, SMAL1I NT, DECI MAL và NUMERI C) và các ki ểu sốgần đúng ( FLOAT, REAL và DOUBLE PRECI SI ON) . I NT l à vi ết t ắt củaI NTEGER và DEC l à vi ết t ắt của DECI MAL.
Ngoài ra, MySQL cũng hổ t r ợ các ki ểu số của SQL mở r ộng l à TI NYI NT, MEDI UMI NT va BI GI NT. Bảng 1. 1 l i ệt kê kí ch t hước vàphạm vi của các ki ểu số.
Kiểu Ki ch thước (Bytes)
Giá trị nhỏ nhất (Dấu / Không dấu)
Giá trị lớn nhất (Dấu / không dấu)
TI NYI NT 1 - 128 127
0 255
SMALLI NT 2 - 32, 768 32, 767
0 65, 535
MEDI UMI NT 3 - 8, 308, 608 0, 300, 607
0 16, 777, 215
I NT 4 - 2, 147, 483, 648 2, 147, 483, 647
0 4, 294, 967, 295
BI GI NT 89, 223, 372, 036, 854, 775
9, 223, 372, 036, 854, 775, 807
Trang: 8
-
8/18/2019 Gioi Thieu My SQL
9/25
Mv SOL Introduction (sưu tầm)
, 808
0 18, 446, 744, 073, 709, 551, 615
Bảng 1. 1: Kí ch thước và phạm vi của các ki ểu số
Với ki ểu số gần đúng MỵSQL dùng 4 bỵt es bi ểu di ễn gi á t r ị gần
đúng và 8 bỵt es bi ểu di ễn gi á t r ị chí nh xác. Ki ểu FLOAT vàDOUBLE dùng để bi ểu di ễn ki ểu số gần đúng. Ki ểu số gần đúng vớiđộ chi nh xác t ừ 0 - 2 3 chữ số được bi ểu di ễn bằng ki ểu FLOAT vàđộ chí nh xác t ừ24 - 53 chữ số được bi ểu di ễn bằng ki ểu DOUBLE.
MySQL cũng cho phép bi ểu di ễn độ chi nh xác của ki ểu gần đúng vớicu pháp FLOAT(M, D) , REAL(M, D) và DOUBLE PRECI SI ON(M, D) với Ml à t ổng số chữ số và D l à số chữ số phần t hập phân, vỉ dụ,FLOAT (7,4) bi ễu di ễn số chữ số có dạng - 999. 9999. MySQL cũngl àm t r òn số khi l ưu tr ữ. vi dụ, nếu gi á t r ị l à 999. 00009 vóiki ểu FL OAT(7, 4) sẽ được l àm t r òn t hành 999. 0001.
Ki ểu DOUBLE PRECI SI ON t r ong SQL mở r ộng cũng tương đưong vớiki ểu DOUBLE.
j . Kiểu thời gianCác ki ểu ngày t háng và gi ờ dùng để bi ểu di ễn các gi á t r ị t hờigi an l à DATETI ME, DATE, TI MESTAMP, TI ME và YEAR. Mỗi ki ểu t hờigi an có một vùng gi á t r ị hợp l ệ và một gi á tr ị gọi l à zer o dùngđể chỉ một gi á t r ị không hợp l ệ mà MỵSQL không t hể bi ểu di ễn.Ki ch t hước của các ki ểu t hời gi an được cho t r ong Bảng 1. 2.
Kiểu Ki ch thước (Bytes)
DATE 3
TI ME 3
DATETI ME 8
TI MESTAMP 4
YEAR 1
Bảng 1. 2: Kí ch t hước của các ki ểu t hời gi an
Các chú ý khi sử dụng các ki ểu t hời gi an:• MySQL khôi phục các gi á t r ị của ki ểu ngày hoặc gi ờ t heo một
đị nh dạng xuất chuẩn, nhưng có thể hi ểu nhi ều đị nh dạng chocác gi á t r ị nhập.
• Các ki ểu ngày t háng với gi á t r ị có năm l à hai chữ số gây ra
Trang: 9
-
8/18/2019 Gioi Thieu My SQL
10/25
Mv SOL Introduction (sưu tầm)
sự nhập nhằng vì t hành phần t hi ên ni ênkỷ không được xác đị nhcụ t hể. MySQL hi ểu các gi á t r ị có năml à hai chữ số t heo quyt ắc sau:+ Gi á t r ị của năm t ừ 70 - 99 đuợc hi ểul à t ừ 1970 - 1999.+ Gi á t r ị của năm t ừ 00 - 69 được hi ểul à t ừ 2000 - 2069.
• Mặc dù MySQL có t hể hi ểu các gi á t r ị t heo nhi ều đị nh dạng,
nhưng gi á t r ị của các ki ểu ngày t háng phải l uôn được nhập vàot heo t hứ t ự năm- t háng- ngày. vỉ dụ, 98- 09- 04 l à ngày 04 t háng0 9 năm 1998.
• MySQL t ự động chuyển một gi á t r ị ki ểu ngày t háng hoặc gi ờt hành một số nếu gi á t r ị được dùng ở dạng số và nguợc l ại .
• Khi MySQL gặp phải một gi á t r ị ki ểu ngày tháng hoặc gi ờ nằmngoài phạm vi bi ểu di ễn hoặc không hợp l ệ, nó sẽ chuyển gi át r ị này t hành gi á t r ị zer o ứng với ki ểu t ương ứng. Ri êng gi át r ị nằm ngoài phạm vi của ki ểu TI ME sẽ được cắt để t hành mộtgi á tr ị gi ới hạn t hi ch hợp của ki ểu TI ME.
• Zer o l à các gi á t r ị đặc bi ệt , nhưng t a có t hể l ưu hoặc xemchúng một cách t ườngmi nh như các gi á t r ị t r ong bảng bêndưới . Ta cũng có t hể vi ết một cách đơn gi ản gi á t r ị zer o l à0.
Kiểu Giá trị zero
DATETI ME ' 0000- 00- 0000: 00: 00'
DATE ' 0000- 00- 00'
TI MESTAMP ' 0000- 00- 00
00: 00: 00' TI ME
o o Ö o o o
YEAR 0000
Bảng 1. 3: Gi á t r ị zer o của các ki ểu
. Ki ểu DATETI ME, DATE và TI MESTAMPKi ểu DATETI ME được dùng khi t a cần bi ểu di ễn các gi á t r ị chứacả t hông t i n ngày t háng và gi ờ. MỵSQL khôi phục và hi ển t hịgi á t r ị DATE TI ME t heo đị nh dạng ' YYYY- MM- DD HH: MM: SS' . Phạmvi bi ểu di ễn t ừ ' 1000- 01- 01 00: 00: 00' đến ' 9999- 12- 31
23: 59: 59' .Ki ểu DATE được dùng khi t a cần bi ểu di ễn các gi á t r ị chỉ chứat hông t i n ngày t háng. MySQL khôi phục và hi ển t hị gi á t r ịDATE t heo đị nh dạng ' YYYY- MM- DD' . Phạm vi bi ểu di ễn t ừ ' 1000-01- 01' đến ' 9999- 12- 31' .
Trang: 10
-
8/18/2019 Gioi Thieu My SQL
11/25
Mv SOL Introduction (sưu tầm)
Ki ểu TI MESTAMP có nhi ều t i nh chất phụ t huộc vào phi ên bảnMySQL và chế độ SQL mà hệ quản t r ị đang chạy.
CÓ nhi ều đị nh dạng để đị nh nghĩ a các gi á t r ị DATETI ME, TI MEvà TI MESTAMP:- Chuỗi có dạng ' YYYY- MM- DD HH: MM: SS' hoặc 1YYYY- MM- DD' . vỉ
dụ, ' 1998- 12- 31 11: 30: 45' l à 11 gi ờ 30 phút 45 gi ây ngày 31t háng 12 năm 1998- Chuỗi có dạng ' YYYYMMDDHHMMSS' hoặc 1YYYYMMDD' . vi dụ
' 19981231113045' l à 11 gi ờ 30 phút 45 gi ây ngày 31 t háng12 năm 1998.
- Số có dạng YYYYMMDDHHMMSS hoặc YYYYMMDD. vỉ dụ19830905132800 l à 13 gi ờ 28 phút ngày 05 tháng 09năm 1983.
Các gi á t r ị không hợp l ệ được chuyển t hành zero của ki ểut ương ứng.
Khi MySQL Ser ver chạỵ với chế độ MAXDB t hì ki ểu TI MESTAMP vàDATETI ME l à như nhau. Khi không chạy với chế độ MAXDB t hì cáct huộc t ỉ nh có ki ểu TI MESTAMP có gi á t r ị mặc đị r. h l à NOT NULL.
• Ki ểu TI MEMySQL khôi phục và hi ển t hị các gi á t r ị TI ME theo đị nh dạng' HH: MM: SS' ( hoặc đị nh dạng ' HHH: MM: SS' với các gi á t r ị gi ờl ớn) . Các gi á t r ị TI ME có phạm vi bi ểu di ễn ~ừ ' - 838: 59: 59'đến ' 838: 59: 59' . Thành phần gi ờ có t hể có gi á t r ị l ớn vì ki ểu
TI ME không chỉ được dùng để bi ểu di ễn gi ờ t r ong một ngày màcòn được dùng để bi ểu di ễn khoảng t hời gi an qi ữa hai mốc sựk i ện.
Có nhi ều đị nh dạng để đị nh nghĩ a các gi á t r ị TI ME:Chuỗi có dạng ' D HH: MM: SS' .Chuỗi có dạng ' HHMMSS' nếu gi á t r ị bi ểu di ễn gi ờt r ong mộtngày, vỉ dụ, ' 101112' l à 10 gi ờ 11 phút 12 gi ây.Số có dạng HHMMSS nếu gi á t r ị bi ểu di ễn gi ờ t r ong một ngày.Vỉ dụ, 101112 l à 10 gi ờ 11 phút 12 gi ây.
Các gi á tr ị nằm ngoài phạm vi bi ểu di ễn của ki ểu TI ME sẽ đượcchuyển về gi á t r ị gi ới hạn t hí ch hợp. vi dụ, ' - 850: 00: 00' t r ởt hành ' - 838: 59: 59' . Các gi á tr ị không hợp l ệ t r ở t hành' 00: 00: 00' . vậy khi gặp một gi á t r ị ' 00: 00: 00' t a không t hểnói r ằng nó l à một gi á t r ị được đị nh nghĩ a bởi ' 00: 00: 00' hayl à một gi á t r ị không hợp l ệ.
• Ki ểu YEARKi ểu YEAR dùng để bi ểu di ễn các gi á t r ị năm. MySQL khôi phụcvà hi ển t hị các gi á tr ị YEAR t heo đị nh dạng YYYY. Phạm vibi ểu di ễn t ừ 1901 đến 2155.
Có nhi ều đị nh dạng để đị nh nghĩ a các gi á t r ị YEAR:
Trang: 11
-
8/18/2019 Gioi Thieu My SQL
12/25
Mv SOL Introduction (sưu tầm)
Chuỗi 4 chũ số t ừ ' 1901' đến ' 2155' . ví dụ, ' 1990' l à năm1990.Số 4 chữ số t ù 1901 đến 2155. vi dụ, 1990 l à năm 1990.Chuỗi 2 chứ số t ừ ' 00' đến ' 99' . vỉ dụ, ' 90' l à năm 1990.Lưu ý sự nhập nhằng khi t hi ếu t hành phần thi ên ni ên kỷ.Số t ừ 1 đến 99. Vi dụ, 50 l à năm 2050. Lưu ý sự nhập nhằngkhi t hi ếu t hành phần t hi ên ni ên kỷ. Tr ong t r ường hợp này t a
không thể sử dụng số 0 để chi l à năm 2000 nà t a phải dùngchuỗi ' 0' hoặc ' 00' vì số 0 được hi ểu l à gi á t r ị zero.Các gi á t r ị không hợp l ệ được chuyển thành zero.
• Vấn đề năm 2000 và các ki ểu t hời gi anMySQL Ser ver không gặp vấn đề với năm 2000 ( Y2K) .
k. Kiểu chuỗi
Các ki ểu chuỗi gồm CHAR, VARCHAR, BI NARY, VARBI NARY, BLOB, TEXT,ENUM.• Ki ểu CHAR và VARCHAR
Ki ểu CHAR và VARCHAR t ương t ự nhau nhưng khác nhau cách cácgi á t r ị của chúng được l ưu t r ữ và khôi phục.
Ki ểu CHAR và VARCHAR được khai báo với độ dài để đị nh rõ sốt ối đa các ký t ự mà một gi á t r ị có t hể có. vỉ dụ, CHAR (30)t hì gi á t r ị l à một chuỗi có t hể chứa tối đa 30 ký tự.
Với ki ểu CHAT độ dài có t hể có gi á t r ị t ừ 0 đến 255. Khi mộtchuỗi gi á t r ị ki ểu CHAR được l ưu, các ký t ự t r ắng được ghépvào cuối để chuỗi có chi ều dài như chi ều dài đã đị nh. Khi mộtchuỗi gi á t r ị CHAR được khôi phục, các ký t ự t r ắng ở cuốichuỗi sẽ bị xóa.
Các gi á t r ị ki ểu VARCHAR l à các chuỗi có độ dài t hay đổi . Độdài có t hể có gi á t r ị t ừ 0 đến 65535. Khác với ki ểu CHAR, cácgi á t r ị ki ểu VARCHAR được l ưu với độ dài t hực.
Nếu các chuỗi gi á t r ị có độ dài l ớn hơn độ dài đã được xácđị nh t hì chuỗi sẽ bị cắt bớt các ký tự ở cuối để có được độdài như đã xác đị nh. Bảng 1. 4 mi nh họa sự khác nhau của ki ểuCHAR và VARCHAR.
Chuỗi giá trị
CHAR(4) VARCHAR(4)
» » 1 f f f
' ab' ' ab ' 1 ab1
'abcd' 'abcd' ' abed'
' abcdef g' ' abed' ' abed'
Bảng 1. 4: Sự khác nhau của ki ểu CHAR và VARCHAR
Trang: 12
-
8/18/2019 Gioi Thieu My SQL
13/25
Mv SOL Introduction (sưu tầm)
• Ki ểu BI NARY và VARBI NARYKi ểu BI NARY và VARBI NARY t ương t ự CHAR và VARCHAR nhung cácgi á t r ị của nó l à các chuỗi nhị phân, đó l à các chuỗi byt e.Do đó các gi á t r ị này có t hể sắp xếp và so sánh dựa t r ên cácgi á t r ị số của các byte.
Khái ni ệm độ dài của BI NARY và VARBI NARY cũng t ượng t ự CHARvà VARCHAR nhưng độ dài được t í nh t heo số bỵt e t haỵ vì t i nht heo số ký tự. vỉ dụ, BI NARY (5) t hì gi á t r ị l à một chuỗi nhịphân 5 byt e.
. Ki ểu BLOB và TEXTKi ểu BLOB và TEXT chứa các gi á t r ị l àchuỗi nhị phân và chuỗiký t ự l ớn.
• Ki ểu ENUMKi ểu ENUM chứa các gi á t r ị l à các chuỗi được l i ệt kêtrước.
6.Tạo CSDL trong MySQL Administrator
Nhấp chuột phải vào vùngt r ống Schemata, chọnCreat e New Schema
níc*maỉion_schefna
mynewdatabase
mysql
phpmyadrmn
IẠtesthjandafabase
luandripaỉSOa
contac*_dat abas e
csd_cong»y Edit Schema
Drop SchemaCopy CREATE statement to Clipboard
F2
Ctrl* Del
Ctrl+CXuất hi ện hộp t hoạiCr eat e new Schema, gõ t ênCSDL vào, vi dụ ở đây t at ạo CSDL chuyenbay
Create New SchemaCreate New Table
Create New ViewCreate New Procedure / Function
Ctri+N
Ctri+T
Ctrl+VCtrl*p
Create new SchemaRefresh F5
rr
Please enter a name for the new schema.
Schema name: chuyenba^
OK
Trang: 13
-
8/18/2019 Gioi Thieu My SQL
14/25
Mv SOL Introduction (sưu tầm)
« I MySQL Administrator - Connection: roo t©localhost:3306
File Edit View Tools Window MySQL Enterprise Help
G e i v e r I n f o r m a t i o n
Sei viceControlStẽítupVariablesUser AdministrationSeiver Connections
-*Healths eiver Logs
0 ReplicationStatusBackup
QjJ Restore'̂, Catalogs
SchemaTables SchemaIndicesI Views jjiloredprocedures—̂ chuyenbdy—3 All tablesof thechuyeroayschema
TableName Engine Rows Daialength Indexlength Updatetime
trong MySQL Administrator
t ạo bảng t r ong vùng Schemata. vi dụ ta
7.Tạo Bảng
- Nhấp chuột phải vào CSDL cầnchọn CSDL chuyenbay để tạobảng như hì nh bên.
- Chọn Cr eat e New Tabl e- Xuất hi ện hộp thoại MySQL
Tabl e Edi t or như bên dưới
Edit Schema
Drop SchemaCopy CREATE sta temen t to Cl ipboard
F2
Ctrl» Del Ctr i+C
Create N ew Schem a C t r l +N
Create N ew Tab le C t r l+T
Create New View Ctr l+V
Create New Pro cedure / Funct ion ctrl+p
Refresh F5
Trang: 14
-
8/18/2019 Gioi Thieu My SQL
15/25
Mv SOL Introduction (sưu tầm)
< ) MySQL Table Editor
T abte N ame: CH uYE N BA'ïj D atabase:
Table Options Advanced Options
chuyenbay Comment:
Columns and Indices
Column Name Datatype Default Value Comment
Indices Foreign Keys Column Details
Index Settings
Index Name:
Index Kind:
Index Type:
Index Columns (Use Dtag’n'Diop
INDEX
DEFAULT
+ -
+vùng t ab gồm 3 phần :
• Columns and Indices: sử dụng tab nàỵ để t ạo và hi ệu chi nh t hông t i nchỉ số và cột của bảng. Ta cũng t ạo quan hệ KHÓA NGOẠI t r ong tab này.
• Table Options: Ta sử dụng t ab Tabl e Opti ons để chọn st orage engi nevà bảng mã ký t ự cho bàng đó
• Advanced Options: Tab này để cấu hì nh một số t ùy chọn
+ Tr ong vùng soạn t hảo cột , t a có t hể hi ệu chỉ nh t ên, l oại dữ l i ệu,gi á t r ị mặc đị nh và các t huộc t i nh khác cho cột .
- Tạo bảng:
+ Ta gõ t ên bảng vào ô Tabl e Name
- Tạo field cho bảng:
+ Ta gõ t ên f i el d t r ong cột Col umn Name, ki ểu dữl i ệu của f i el d t r ong cột Dat at ype. Nếu f i el d đó bắt buộc phải có gi át r ị t hì check vào cột NOT NULL, . . . . vỉ dụ t a t ạo các f i el d cho bảngchuyenbay t r ong CSDL chuyenbay như hì nh bên dưới .
Trang: 15
-
8/18/2019 Gioi Thieu My SQL
16/25
Mv SOL Introduction (sưu tầm)
Database: chuyenbay Comment:
Columns and Indices Table Options Advanced Options
Column Name Datatype hull ftT Flags Default Value Comment
MaCB CHAR(5) ✓ □ BINARY □ ASCII □ UNIC
-
8/18/2019 Gioi Thieu My SQL
17/25
Mv SOL Introduction (sưu tầm)
MySQL Table Editor U M
Table Name: chuyenbay Database:
Columns and Indices Table Options Ị Advanced Options
Column Name Datatype mul l S)?'3 Flags Default Value Comment0 MaCB □ ^ CHAR(5) □ BINARY □ ASCII □ UNIC
ộ GaDi L& VAR CHAR (50) □ BINARY E2S
-
8/18/2019 Gioi Thieu My SQL
18/25
Mv SOL Introduction (sưu tầm)
♦ ) MySQL Table Editor
Table Name, chuyenbay Database. chuyenbay Comment.
Columns and Indices Table Options I Advanced Options
Column Name Datatype hul l me10 Flags Default Value CommentMaCB 3 I CHAR (5) □ BINARY □ ASCII □ UNIC
-
8/18/2019 Gioi Thieu My SQL
19/25
Mv SOL Introduction (sifu tarn)
5 MySQL Adminis trator - Connection: root@locđlhost:3306
1Fie ỄLdit View Tools Window MySQL Enterprise tielp1
tgServer InformationP / Service Control
Startup Variables
User Administration
^ Server Connectionsf j Health
m Server Logs£ Replication Status
^ Backup1»
Restoie
Catalogs
Schemata
[ Z U-I chuyenbay
collectionsdrupal57ainfofmation_schemamysql
phpmyadminstudymgdatabase
p) testtuandatabasetuandrupal6
Schema Tables Schema Indices Views Stored procedures
—̂ chuyenbayAll tables of the chuyenbay schema
Table Name Engine Rows Data length Index length Update timefr chungnhan 0 16 kB 16 kB
chuyenbay MylSAM 0 OB 1kB 2008-10-03 09:36:08maybay MylSAM 0 OB 1kB 2008-10-03 09:36:08nhanvien MylSAM 0 OB 1kB 2008-10-03 09:36:08
Num. of Tables: 4 |R o w s : Ol ị Data Len: 18 kB 11ndex Len 19 kB
Table Status Row Status
chungnhanDetailed table sta:us information
General Table Type: InnoDBRow format: CompactAuto Increment:Create options:
Comment: InnoDB free: 4096 kB
« Detads Create T able £drt Table Maintenance ßefresh
+ Tr ước khi t ạo khóa ngoại cho bảng, cần đặt Tabl e Engi ne của bảngđó và các bảng mà nó t ham chi ếu t ới l à InnoDB.
Trang: 19
-
8/18/2019 Gioi Thieu My SQL
20/25
Mv SOL Introduction istSu tarn)
i MySQL Table Editor
Table Name: chungnhan Database: chuyenbay V Comment: InnoDB free: 4096 kB
Columns and Indices Table Options Advanced Options
Storage Engine
Table Engine:
Supports transactions, row-level locking, and foreign keys
Character Set
Charset: Utf8 v The default character set that is used for the table. Starting from MySQL 4.1 youcan specify an individual character set for each column
Collation: Utf8_general_ci v Colation method that is used to compare text and sort columns.
Apply Changes Discard Changes Close
Trang: 20
-
8/18/2019 Gioi Thieu My SQL
21/25
Mv SOL Introduction (sưu tầm)
s MySQL Table Editor
Table Name: chungnhan Database: chuyenbay Comment: IrinoDB free. 4096 KB
Columns and Indices Table Options Advanced Options
Column Name Datatype mul l Sic0 Flags Default Value CommentMaNV CHAR(9) ✓ □ BINARY □ ASCII □ UNIC
MaMB INTEGER ✓ □ UNSIGNED □ ZEROFILL 0
Indices I Foreign Keys I Column Details
Foreign Key Settings
Key Name: Ref. Table:
On Delete:
On Update:
No Action
No Action
Column Reference Column
+ -
Apply Changes Discard Changes Close
+ Chọn t ab Forei gn Keys+ Cl i ck vào dấu cộng như hì nh t r ên để t ạo mới một khóa ngoại
+ Xuất hi ện hộp thoại Add Forei gn Key, nhập t ên khóa ngoại vào Add Foreign Key
Please enter the name of the new foreign key.
Foreign Key Name: iungnhan_nhanvien_fk
OK Cancel
+ Tr ong vùng For ei gn Key Set t i ngs, t ại l i st box Ref . Tabl e t a chọnbảng t ham chi ếu t ới . ví dụ ở đây ta chọn bảng t ham chi ếu l à nhanvien
Trang: 21
-
8/18/2019 Gioi Thieu My SQL
22/25
Mv SOL Introduction (su'u tam)
Foreign Key Settings
Key Name: chungnhan_nhanvien_f -lei. Table: V
chungnhanchuyenbaymavbay
On Delete:
On Update:
Restrict v Column
Restrict v
Indices Foreign Keys Column Details
Foreign Key Settings
Key Name: chungnhan_nhanvien_f
On Delete:
On Update:
Restrict
Restrict
Ref. Table: nhanvien
Column
MaNV
Reference Column
MaNV
Apply Changes Discard Changes Close
+ Chọn but t on Appl y ChangesConfirm Table Edit (5 < ]
Are you sure you want to execute the following SQL command to apply the changes to the table?
ALTER TABLE chuyenbay.'chungnhan' DROP FOREIGN KEY 'FK_chungnhan_1ADD CONSTRAINT 'chungnhan nhanvien fk'FOREIGN KEY'chungnhan nhanvien fk'('MaNV')
REFERENCES 'nhanvien' ('MaNV')ON DELETE RESTRICTON UPDATE RESTRICT
, ROW FORMAT =DYNAMIC;
Execute Cancel
+ Chọn Execut e
Trang: 22
-
8/18/2019 Gioi Thieu My SQL
23/25
Mv SOL Introduction (su'u tam)
5 MySQL Table Edi tor
Table Name: chungnha n Database: chuyenbay Comment: InnoDB free: 4096 kB; ('MaNV ')
Columns and Indices Table Options || Advanced Options|
Column Name Datatype huI i mc° Flags Default ValueMaNV ¿> CHAR(9) ✓ □ BINARY Q ASCII □ UNICMaMB INTEGER ✓ □ UNSIGNED □ 2ER0F ILL 0
Comment
Indices Foreign Keys Column Details
Foreign Key Settings
Key Name: | chungnha n_nhanvien_ f| Ref. Table: | nhanvien~
On D elete:
On Update
Restrict 1 Column Reference ColumnMaNV MaNV
Restricf 3
Apply Changes discard Changes Close
10.Insert dữ liệu vào bảng
+ Nhấp chuột phải vào bảng cần i nser t dữ l i ệu, vỉ dụ t a chọn bảngnhanvien
Trang: 23
-
8/18/2019 Gioi Thieu My SQL
24/25
Mv SOL Introduction (sưu tầm)
Schema Tables Schema Indices Views Stored procedures
- n chuyenbay
All tables of the chuyenbay schema
Table Name
chungnhan
chuyenbay
maybayfF1 nhanvier
Engine
InnoDB
My I SAM
InnoDB
Rows
00
0
Num. of Table
Table Status
nhanvi
Edit Table
Edit Table Data
Maintenance
16 kB 16 kB
OB 1 kB
16 kB OB16 kB o s
Update time
2008-10-03 09:36:08
Create Table
Drop Table
Refresh
Detailed table status information
General
Table Type:Row format:
Auto Increment:Create options:
Rows: 0 I Data Len: 48 kB j I Index Len: 17 kB
InnoDB
Compact
Comment: InnoDB free: 409S kB
+ Chọn Edi t Tabl e Dat a+ Xuất hi ện hộp t hoại MySQL Query Br owser
Trang: 24
-
8/18/2019 Gioi Thieu My SQL
25/25
Mv SOL Introduction (sưu tầm)
+ Chọn Edi t+ Rồi nhập l i ệu tr ong vùng Resul t set 1
Trang: 25