Thứ Sáu, 29 tháng 6, 2012

MySQL - Nâng Cao

Posted by Unknown Thứ Sáu, tháng 6 29, 2012, under | No comments

Đây là phần tiếp theo của phần trước " MySQL - Căn Bản"
Tạo cấu trúc database như sau: ( xem lại phần trước)
Hình minh họa:

Tạo table "person" có cấu trúc như sau:( xem phần trước cách tạo mới 1 table)
Hình minh họa:

Trong table "person" nhập giá trị như sau: ( xem phần trước cách nhập liệu cho table )
Hình minh họa:

Ok, vậy là xong các bước chuẩn bi, bây h tiến hành các thao tác nha !



select *from table_name; : lệnh này sẽ xuất ra màn hình giá trị của toàn table  "name_table".
Demo: hãy xuất toàn bộ  table "person".
Thực hiện: select *from person; ->Enter
Hình minh họa:

select distinct column_name from table_name; : lệnh này xuất ra màn hình  giá trị của cột "name_table"
Demo: hãy xuất ra màn hình cột "City" của table "prson".
Thực hiện : select distinct Address from
Hình minh họa:

select  *from table_name where coluomn_name like 'keyword%' ; : lệch này sẽ in ra màn hình những dòng mà có cột "Address" có ký tự đầu tiên là " keyword".
Demo: hãy xuất ra màn hình những dòng của table "person" có cột "Address" chứa ký tự đàu tiên là "T".
Thực hiện: select *from person where Address like 'T%'; ->Enter .
Hình minh họa:

select *from table_name where column_name like '%keyword' ; : lêch này sẽ trích những dòng của table "table_name" có cột "column_name" chứa ký tự cuối cùng bằng 'keyword'.
Demo: hãy trích những dòng của tble "person" có cột "City" mà ký tự cuối cùng là "nes".
Thực hiện: select *from person where City like '%nes' ;->Enter .
Hinh minh họa:

select *from table_name where column_name like '%keyword%' ; : lệnh này sẽ trích những dòng thuộc table "table_name" mà cột "column_name" có chứa từ "keyword" ở phía trong.
Demo: trích từ table "person" những dòng sao cho cột "City" có chứa từ "ndn" ("van").
Thực hiện: select *from person where City '%ndn%' ; ->Enter.
Hình minh họa:

select *from table_name where column_name like 'keyword1_keyword2_keyword3' ; : trích những dòng của table "table_name" sao cho cột "column_name" có hầu hết các ký tự giốnng "keyword1_keyword2_keyword3" chỉ có 2 ký tự ở 2 vị trí "_" là không quan tâm.
Demo: trích từ table "person" những dòng có cột "LastName" có  ký tự đâu tiên"H" , ký tự thứ 3 "n", 2 ký tự cuối cùng là "en".
Thực hiện: select *from person where LastName like 'H_n_en' ; ->Enter.
Hình minh họa:

select *from table_name where column_name in ('keyword_i', ... , 'keyword_j') ; : lệcnh này sẽ trích xuất những dòng thuộc table " table_name" sao cho cột "column_name" có giá trị là "keyword_i", .. ,"keyword_j".
Demo: trích những dòng của table "person"  sao cho  cột "LastName" có giá trị là "Hansen","Pettersen".
Thực hiện: select *from person where LastName in ('Hansen','Pettersen') ; ->Enter.
Hình minh họa:



MySQL - Căn Bản

Posted by Unknown Thứ Sáu, tháng 6 29, 2012, under | No comments

Giới Thiệu:

MySQL là hệ quản trị cơ sở dữ liệu mã 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,...


Cài Đặt: www.google.com



Cách Khởi Động Và Sử Dụng MySQL:
Chúng ta sử dụng command như sau:
mysql –h host –u username –p;
•    -h : sau do nhập tên host
•    -u : sau đó nhập username
sau do nhap password.
Ví dụ : với localhost, username = root , pass= rỗng
 mysql –h localhost –u root –p;


Lệnh Cơ Bản:
create databases name_data;     : tạo mới 1 data có với tên là "name_data"
Demo: tạo data có tên là "thang_cu" .Ta thực hien như sau: mở MySQL consolo trong WampServer -> nhập tên user và password vào, gõ vào lệnh "show databases;" để xem trong MySQL có những database nào, kế đến bạn gõ tiếp lệnh tạo database " create database thang_cu; " rồi "Enter" , nếu thành công ( đúng cú pháp, không bị trùng tên ) nó sẽ hiện ra dòng thông báo " Query Ok, 1 row acffected (0.00 sec). Tiếp theo là bạn kiểm tra xem mình có thật sự tạo thành công 1 data không bằng cách gõ lệnh "show databases;"
 Hình minh họa Demo trên :

create table name_table (column 1 ,column 2, .. ,column n); : tạo mới 1 table có tên là " name_table " , trong table này bạn phải nhập tên tương ứng côt nha ! ( column 1 : tên cột thứ nhất  kiểu DL , .. , column n : tên cột thứ n  kiểu DL )
Demo: tạo 1 table có tên là "ly_lich", table này có 2 cột : cột thứ nhất tên " ten " kiểu DL là " varchar " có
25 ký tự, cột thứ 2 có tên "nam_sinh" kiểu DL là " int" có 4 chữ số.
Để làm điều này, ta trước tiên phải chọn "data" là "thang_cu" chứa "table" của "ly_lich". Dùng lệnh "use name_data;" để chọn data .
Minh họa bởi hình sau:

Tiếp đến bạn gõ lệnh tạo table : "create table ly_lich (ten varchar(25),nam_sinh int(4));" ->Enter. Nếu thành công thì sẽ có thông báo : "Query Ok, ... "
Để xem trong data "thang_cu" có bao nhiêu table bạn dùng lệnh : "show tables;".
Để xem trong table "ly_lich" có bao nhiêu cột bàn dùng lệnh: "decsribe name_table;"
Hình minh họa:

alter table name_table add name_column+type  after name_column_befor; :lệnh này sẽ thêm 1 cột vào bảng có tên "name_table" , cột mới thêm vào có tên là " name_column" ( +kiểu DL của cột mới thêm vào nũa nha !), cột mới thêm vào nằm sau cột "name_column_befor"
Demo: thêm vào table "ly_lich" 1 cột có tên "que_quan" có kiểu DL là "varchar" tối đa  là 30 ký tự, thêm vào phía sau cột "nam_sinh".
Ta thực hiện như sau: "alter table ly_lich add column `que_quan` varchar(30) after `nam_sinh`;" -> "Enter". Nếu thành công  sẽ có thông báo :"Query Ok,  ... " . Để kiểm tra kết quả bạn dùng lệnh " describe ly_lich" .
Hình minh họa:

insert into name_table (name_column 1, .. , name_column n) values (value_column1, .. , value_column n); : lệnh này chèn giá trị "value_column 1", ... vào cột tương ứng "name_column 1", ... của table có tên "name_table". nếu giá trị của cột là chuỗi ký tự ta phải để trong ' ' (phím chứ dấu ngoăc kép gần phím Enter,  không phải ` ` phím bên trái số 1 nha !).
Demo: trong table "ly_lich" hãy nhập giá trị "cu_ngay" cho cột "ten", 2000 cho cột "nam_sinh", "hoc mon" cho cột "que_quan".
Ta thực hiện như sau: insert into ly_lich (ten, nam_sinh, que_quan) values ('cu_ngay', 2000, 'hoc mon'); -> Enter . Nếu thành công thì sẽ có thông báo : "Query Ok, 1 row affected (  số giây     sec)".

select name_table.name_column_1, ... , name_table.name_column_n from name_table; : xuất ra màn hình giá trị cột thứ " name_column_1" , .. ,"name_column_n" của table có tên là "name_table".
Demo:xuất ra màn hình cột "ten"  của table "ly_lich".
Ta thục hiện như sau: select ly_lich.ten from ly_lich; ->Enter . Nế thành công thì có thông báo :" số row in set  (số sec)".
Hình minh họa:

select name_table_a.name_column_1, ..., name_table_a.name_column_n, name_table_b.name_column_1, .., name_table_b.name_column_n from name_table_a, name_table_b where name_table_a.name_column_i=name_table_b.name_column_j; : xuất ra màn hình giá trị cột với điều kiện là giá trị cột i của "table_a" = giá trị cột j của "table_b" .
Demo: tạo table "ly_lich_a" sao cho cột "ten" có tên là "cu_ngay" như hình sau:
 Hình minh họa:


Demo: xuất ra màn hình lý lịch những người nào có tên giống nhau .
Ta thực hiện như hình sau: select ly_lich.ten, ly_lich.nam_sinh, ly_lich.que_quan,  ly_lich_a.ten, ly_lich_a.nam_sinh, ly_lich_a.que_quan from ly_lich, ly_lich_a where ly_lich.ten=ly_lich_a.ten; ->Enter. Nếu thành công thì nó sẽ hiện ra bảng kết quả và 1 dòng thông báo: " số row in set (số sec) ".
Hình minh họa:


select name_table.name_column_1, ..., name_table.name_column_n from name_table limit fisrt_number, number; :xuất ra màn hình giá trị cột bắt đầu từ dòng thứ "fisrt_number" , số dòng xuất ra là "number".
Demo: giả sử ta có bảng DL  là : "ly_lich" như ở trên. Xuất ra màn hình lý lịch 1 người đầu tiên, 2 người đầu tiên, người thứ 2.
Ta thực hiện như  sau: xuất 1 người đầu tiên : select ly_lich.ten, ly_lich.nam_sinh, ly_lich.que_quan from ly_lich limit 0,1; ->Enter
Hình minh họa :


select name_table.name_column_1, .. ,n from name_table where name_table.name_search_column like '%keyword'  order by name_table.name_search_column asc | desc; : xuất DL ra màn hình thỏa DK có cột "nam_table.name_search_column" có ký tự giống ký tự "keyword" theo thứ tự từ trên xuống ( ASC) hoặc từ dưới lên (DESC) ( DK where name_table.name_search_column like '%keyword' có thể bỏ đi ).
Demo: không dùng DK "where name_table.name_search_column like '%keyword' ". Giả sử ta có bảng DL "ly_lich" như ở trên, bây h xuất ra màn hình theo thứ tự từ trên xuống, từ dưới lên.
Ta thực hiện như sau: select ly_lich.ten, ly_lich.nam_sinh, ly_lich.que_quan from ly_lich order by ly_lich.ten asc; ->Enter.
Hình minh họa:

update name_table set name_column='new_valuse' where (name_column_ID='keyword') ; : cập nhật giá trị mới "new_value" cho "name_column" của bảng "name_table" khi giá trị "name_column_ID" bằng giá trị "keyword", nếu mệnh đề "where" trở về sau bỏ đi thì nó sẽ cạp nhật cả bảng.
Demo: giả sử ta có table "ly_lich" như ở trên, h ta muốn cập nhật lại năm sinh của "cu_ngay" là 1990.
Ta thực hiện như sau: update ly_lich set nam_sinh=1990 where (ten='cu_ngay'); ->Enter
Hình minh họa:

delete from name_table where (name_column_ID='keyword'); : xóa dòng nào có cột "name_column_ID" bằng "keyword" của bảng "name_table", nếu không có mệnh đề "where" thì xóa hết bảng.
Demo: giả sử có bảng "ly_lich" như trên, bây h ta muốn xóa dòng nào có cột "ten" là "cu_ngay" của bảng "ly_lich".
Ta  thực hiện : delete from ly_lich where(ten='cu_ngay'); ->Enter.
Hình minh họa:


Tham khảo thêm: w3schools


Xem Nhiều

Bài đăng phổ biến

Lưu trữ blog

Blog Archive