การใช้งานในคำสั่ง MySQL

การจัดการระเบียนข้อมูล

การสร้างฐานข้อมูล ด้วยคำสั่ง Create Database

รูปแบบ create database [if not exists] db_name

สร้างฐานข้อมูลชื่อ db_name ในกรณีที่มี database นั้นอยู่แล้ว และไม่ได้ใช้ออปชัน if not exists จะปรากฏข่าวสารแสดงความผิดพลาด (Error Message)

click to edit

แสดง database ที่มีในระบบทั้งหมด

show databases;

การจัดการระเบียนข้อมูล

การสืบค้นข้อมูล ด้วยคำสั่ง Select

click to edit

เป็นคำสั่งที่ใช้งานมากที่สุด เพื่อสอบถาม ค้นหา และสืบค้นข้อมูล

รูปแบบ

select…from table_name where condition [order by…]

select…from table_name group by…[having condition

[order by…]]

การสืบค้นจากตารางเดียว

แสดงข้อมูลทั้งหมดในตาราง Person select * from person;

แสดงข้อมูลทั้งหมดในตาราง Dept select * from dept;

การสืบค้นโดยกำหนดเงื่อนไข โดยใช้

Where clause

Operator ทางคณิตศาสตร์ = <> <= >= in between not like

Operator ทางตรรกะ or and not

ค้นหาข้อมูลในตาราง Person ที่มี id เป็น 5 select * from person where id=5;

ค้นหาข้อมูลของคนที่มีตำแหน่ง Manager select * from person where position=‘manager’;

ค้นหาข้อมูลของคนที่มีชื่อขึ้นต้นด้วยอักษร S select * from person where firstname like ‘s%’;

ค้นหาข้อมูลของคนที่มีชื่อมีตัวอักษร s เป็นประกอบและมีเงินเดือนน้อยกว่า 20000 บาท select * from person where firstname like ‘s%’ and salary<20000;

การแสดงข้อมูลเพียงบางฟิลด์ นอกเหนือจากการใช้ *

การสืบค้นจากหลายตาราง

Capture

แสดงชื่อ (firstname) นามสกุล (lastname) และชื่อแผนก (dept_name) ของคนที่ทำงานในรหัสแผนก 13 พร้อมทั้งแสดงชื่อแผนก (dept_name) ว่าคือแผนก

select person.firstname, person.lastname,

person.dept_no, dept.dept_name from dept, person

where dept.dept_no=person.dept_no

and dept.dept_no=13;

รูปแบบ

insert into tbl_name [(col_name,…)] select … Insert … value … เป็นการใช้คำสั่ง insert แบบปกติ ที่พบเห็นบ่อย ๆ

แสดงชื่อ (firstname) ตำแหน่ง (position) เงินเดือน (salary) และชื่อแผนก (dept_name) ของคนที่ทำงานในแผนก Computer

select person.firstname, person.position,

person.salary, dept.dept_name from dept, person

where dept.dept_no=person.dept_no

Insert … value … เป็นการเพิ่มระเบียนข้อมูลโดยดึงข้อมูลจากตารางอื่น

and dept.dept_name=‘computer’;

แสดงผลข้อมูล โดยคำสั่งSelect * from tbl_name; (แสดงทุกฟิลด์จากตารางข้อมูลชื่อ...)

การใช้ Order by clause

ทำการจัดเรียงข้อมูล จากน้อยไปมาก และจากมากไปน้อย ถ้าไม่กำหนด default จะเป็นน้อยไปมาก

การเพิ่มระเบียนข้อมูลใหม่ ด้วยคำสั่ง Insert

แสดงชื่อ นามสกุลและเงินเดือน จากตาราง person โดยเรียงเงินเดือนจากมากไปน้อย
select firstname, lastname, salary from person order by salary desc;

แสดงข้อมูลจากตาราง dept โดยเรียงชื่อแผนกจากน้อยไปมาก (อักษร A ไป Z)select * from dept order by dept_name asc;

เพิ่มข้อมูลเข้าสู่ตาราง Person ในฐานข้อมูล Mydb (แบบไม่ระบุฟิลด์)insert into person values

แสดงข้อมูลของคนที่ไม่ใช่ Manager โดยเรียงข้อมูลตามชื่อจากน้อยไปมากselect from person where position not in (‘manager’) order by firstname asc; หรือ
select
from person where position <>’manager’ order by firstname asc;

เพิ่มข้อมูลเข้าสู่ตาราง Person (แบบระบุฟิลด์) โดยการเพิ่มระเบียนใหม่ เฉพาะฟิลด์ firstname ว่า Somsri เท่านั้น insert into person (firstname) values (‘Somsri’);

ป้อนข้อมูลใน ฟิลด์ start_date เป็นวันที่ 29 ธ.ค. 2005 รูปแบบ (‘yyyy/mm/dd’)insert into person (start_date) values (‘2005/12/29’);

การใช้งาน group aggregate function

Capture

ข้อมูลใน Table ชื่อ Dept

Dept_no dept_name

การแก้ไข เปลี่ยนแปลงข้อมูล ด้วยคำสั่ง Update

รูปแบบ

แสดงค่าผลรวมของเงินเดือนของพนักงานที่ชื่อขึ้นต้นด้วยอักษร S
select sum(salary) from person where firstname like ‘s%’;

คำสั่ง update จะต้องใช้อย่างระมัดระวัง เพราะถ้าลืมใส่เงื่อนไขในการแก้ไข จะหมายถึงการ update ข้อมูลทั้งหมด ทุกระเบียน

แสดงค่าเฉลี่ยของเงินเดือนทั้งหมดselect avg(salary) from person;

แสดงค่าเบี่ยงเบนมาตรฐานของเงินเดือนทั้งหมด
select std(salary) from person;

ได้แก่ฟังก์ชัน count(), min(), max(), sum(), avg(), std()

นับจำนวนพนักงานที่เป็น manager
select count(*) from person where position=‘manager’;

แสดงค่าเงินเดือนที่น้อยที่สุด
select min(salary) from person;

แสดงค่าเงินเดือนมากที่สุดของรหัสแผนก 13
select max(salary) from person where dept_no=13;

การใช้งาน group by clause
;

ใช้ในการจัดกลุ่มข้อมูล เช่น จัดกลุ่มตามรหัสแผนก

แก้ไขข้อมูล ID=2 (ซึ่งปัจจุบันมีแค่ firstname เท่านั้น) ให้มีข้อมูลดังต่อไปนี้update person set lastname=‘Jaidee’,

นับจำนวนพนักงานในแต่ละตำแหน่ง
select position, count(*) from person group byposition;

รวมเงินเดือนของพนักงานแต่ละรหัสแผนกselect dept_no, sum(salary) from person group by dept_no;

นับจำนวนพนักงานในแต่ละแผนก
select dept_no count(*) from person group by dept_no;

delete from tbl_name [where condition]

ลบข้อมูลในตารางข้อมูล Person เฉพาะข้อมูลที่ 8delete from person where id=8; select * from person;

click to edit

11 Computer

12 Information IT

13 Marketing

สร้างฐานข้อมูลใหม่ ชื่อ mydbcreate database mydb;

click to edit

แสดง database ที่มีในระบบอีกครั้งshow databases;

(จะพบฐานข้อมูล mydb)

การลบฐานข้อมูลด้วยคำสั่ง Drop Database

รูปแบบ drop database [if not exists] db_name

ทดสอบสร้างฐานข้อมูลใหม่ ชื่อ test001create database test001;

แสดงฐานข้อมูลที่มีอยู่ show databases;

ลบฐานข้อมูลชื่อ test001drop database test001;

แสดงฐานข้อมูลอีกครั้ง (ฐานข้อมูล test001 จะหายไป)

การเลือกใช้ฐานข้อมูลด้วยคำสั่ง Use

รูปแบบ Use db_name เลือกใช้ฐานข้อมูลชื่อ db_name

เลือกใช้ database ชื่อ mydb use mydb;

การตารางใหม่ ด้วยคำสั่ง Create table

ก่อนทำการสร้างตารางข้อมูล ต้องมีการออกแบบฐานข้อมูลให้ดีเสียก่อน และต้องเลือกฐานข้อมูลที่ต้องการใช้ โดยคำสั่ง Use

1

การแก้ไขโครงสร้างตาราง ด้วยคำสั่ง Alter table

รูปแบบ Alter [IGNORE] TABLE tbl_name alter_spec [, alter_spec…]

ใช้สำหรับแก้ไขโครงสร้างของ table ให้เป็นไปตามที่ต้องการ เช่น การเพิ่มหรือลบฟิลด์ทิ้ง การเปลี่ยนชื่อ ประเภท หรือขนาดของฟิลด์ เป็นต้น

เปลี่ยนขนาดของฟิลด์ Lastname เป็น varchar(40)

ลบฟิลด์ birthday ทิ้ง alter table person drop birthday;


เพิ่มฟิลด์ start_date ซึ่งเป็นข้อมูลชนิด date เข้าไปในโครงสร้าง alter table person add start_date date;


ลบตารางข้อมูลด้วยคำสั่ง Drop table

รูปแบบ drop table [if exists] tbl_name [, tbl_name,…]


ใช้สำหรับลบตารางข้อมูลออกจากระบบ ต้องใช้ความระมัดระวังในการใช้งาน โดยเฉพาะการทำงานกับตารางข้อมูลประเภท non-transaction เพราะจะทำการ commit การทำงานอัตโนมัติ

เปลี่ยนชื่อตารางข้อมูลด้วยคำสั่ง Rename table

รูปแบบ rename table tbl_name to new_table_name [,tbl_name2 to new_table_name2,…]
ใช้สำหรับเปลี่ยนชื่อตารางข้อมูลใหม่

ลบตารางข้อมูลด้วยคำสั่ง Drop table

แสดงตารางทั้งหมดในฐานข้อมูล show table status;

สร้างตารางใหม่ชื่อ Example create table example (id int(2));

เปลี่ยนชื่อตารางข้อมูลจากExample เป็น Newexample


การออกจากโปรแกรม MySQL

รูปแบบquit ใช้สำหรับออกจากโปรแกรม MySQLออกจากโปรแกรม MySQL quit


click to edit