เสรี ชิโนดม seree@buu.ac.th MS SQLServer 7 เสรี ชิโนดม seree@buu.ac.th
การสร้างฐานข้อมูลโดยใช้ SQL Enterprise Manager ในSQL Server 7.0 มีขั้นตอนดังต่อไปนี้ .เข้าสู่ SQL Enterprise Manager ให้เลือกเซิร์ฟเวอร์ SQL แล้วคลิกเมาส์ที่เมนูคำสั่ง Databases ให้คลิกที่เมาส์ที่เมนู New Database จะปรากฏหน้าต่างของ New Database ที่ช่อง Name พิมพ์ชื่อฐานข้อมูลลงไปแล้วคลิกเมาส์ที่ปุ่ม ปุ่ม OK
การใช้ SQL Enterprise Manager ลบฐานข้อมูล 1. เข้าสู่ SQL Enterprise Manager ให้เลือกเซิร์ฟเวอร์ SQL แล้วคลิกเมาส์ที่เมนูคำสั่ง Databases 2. ให้คลิกที่ชื่อของฐานข้อมูลที่จะลบ แล้วคลิกเมาส์ที่เมนู Delete เพื่อลบฐานข้อมูล
The SQL Create Table Statement คำสั่ง create table จะเป็นคำสั่งที่ใช้สำหรับตารางในระบบฐานข้อมูล ซึ่งจะต้องใส่ชื่อตาราง ชื่อคอลัมน์ (field) ชนิดของคอลัมน์โดยสามารถใส่ได้หลายคอลัมน์ รูปแบบคำสั่ง CREATE TABLE <table name> (<column name-1> <data type> [size][constraint] , <column name-2> <data type> [size][constraint] , ….. <column name-n> <data type> [size][constraint] );
CREATE TABLE เป็นคำสั่งที่ใช้ในการสร้างตาราง (เป็นคีย์เวิร์ด) table name เป็นชื่อของตารางที่จะสร้าง column name เป็นชื่อของคอลัมน์ภายในตาราง โดยจะเก็บข้อมูลต่างๆ ที่เกี่ยวข้องไว้ และใช้เครื่องหมาย, (คอมม่า) ขั้นระหว่างคอลัมน์อื่นๆ data type เป็นประเภทชนิดของข้อมูล จะมีความแตกต่างกันบ้างเล็กน้อย ขึ้นอยู่กับ ผู้ผลิตระบบฐานข้อมูลแต่ละบริษัท
ตัวอย่างการสร้างตาราง CREATE TABLE LOGON ( LGID numeric identity, LGNAME varchar(20) not null, PASSWD varchar(20) not null, SEX varchar(10) not null, LGGROUP tinyint not null, COMMENT varchar(128) null constraint PK_LOGON primary key (LGID) )
CREATE TABLE authors ( key_authors INT(5) DEFAULT '0' NOT NULL IDENTITY ,author_name VARCHAR(50) NOT NULL ,author_phone VARCHAR(20) NOT NULL ,PRIMARY KEY (key_authors) )
การสร้างตารางโดยใช้SQL Server Query Analyzer เปิด SQL Server Query Analyzer จะเข้าสู่หน้าต่าง Microsoft SQL Server Query Analyzer ในช่อง DB เลือก เลือก ชื่อฐานข้อมูล แล้วพิมพ์คำสั่งสร้างฐานข้อมูลลงไปในแถบ Query เสร็จแล้วกดคีย์ Ctrl+E เพื่อรันคำสั่งเหล่านี้ถ้าถูกต้องก็จะมีข้อความ “The command(s) completed successfully.”
การแสดง database & Table show database ; การแสดง table ใช้คำสั่ง show tables ;
The SQL Alter Table Statement alter table { table_name } add column { field_name } { field_data_type }; alter table { table_name } change column {existing_field_name} { new_field_name } { new_field_data_type }; alter table { table_name } drop column { existing_field_name}
Using Add Column Option แสดงการใช้คำสั่ง alter table เพิ่มฟิลดชื่อ temp_field ลงในตาราง email_message ใช้คำสั่งดังนี้ mysql > use php_book; Database changed mysql > alter table email_messages add column -> temp_field -> integer; mysql > describe email_messages;
Using Change Column Option mysql > use php_book; Database changed mysql > alter table email_messages change column temp_field -> temp_field -> varchar(25); เรียกดูโครงสร้าง mysql > describe email_messages;
Using Drop Column Option การลบคอลัมน์ออกจากตารางสามารถทำได้ โดยใช้คำสั่ง alter table ดังนี้ mysql > use php_book; Database changed mysql > alter table email_messages drop column -> temp_field;
The SQL Drop Table Statement การลบตารางออกจากฐานข้อมูลจะง่ายกว่าการลบคอลัมน์โดยกำหนดชื่อตารางที่จะลบ โดยใช้คำสั่งดังนี้ mysql > use php_book; Database changed mysql > drop table email_messages;
The SQL Insert Statement insert into { table_name } ( { column_list } ) values ( { value_list } ) สตริงก์ที่ใช้ในคำสั่ง insert จะต้องปิดล้อมด้วยเครื่องหมาย single quote และจำนวนของค่าใน value_list จะต้องเท่ากับจำนวนคอลัมน์ใน column_list
ตัวอย่าง ให้พิมพ์คำสั่งเพิ่มข้อมูลดังต่อไปนี้ mysql > create table test ( -> a integer ,b VARCHAR(10) -> ); mysql > insert into test -> (a, b) -> values -> ( 134, ‘aaa’ );
The SQL Update Statement update { table_name } set { column_name } = { expression }… where { where_clause } คำสั่ง update ที่ใช้กันมากคือเพิ่มฟิลด์ในเรคอร์ด
ตัวอย่าง mysql> create table test (a integer); mysql> insert into test (a) values (134); mysql> insert into test (a) values (100); mysql> select * from test; mysql> update test set a = a+1; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0
ตัวอย่าง update employees set salary = salary * 1.15; เราสามารถใช้คำสั่ง update กับอนุประโยค where ได้ดังนี้ update employees set salaary = salary * 1.15 where last_name = ‘medinets’ ; นอกจากนี้ยังสามารถใช้ร่วมกับฟังก์ชันอื่นๆได้อีกเช่น update employees set last_name = upper(last_name);
The SQL Select Statement คำสั่ง select จะใช้สำหรับการแสดงคอลัมน์ (field) หรือกลุ่มของคอลัมน์ที่เราต้องการดูข้อมูล รูปแบบการใช้งานคือ select {field_list}from {table_list} from {table_list} where {where_clause} <------ filters group by {column_list} <----- aggregates order by {column_list} <------ sorts having {having_cluase} <------ filters after aggregation
The Field List คำสั่ง select ที่ง่ายที่สุดคือ SELECT * FROM Table_name ; คำสั่งจะแสดงทุกฟิลด์ของเรคอร์ดที่อยู่ในตาราง ถ้าต้องการแสดงข้อมูลเฉพาะจะต้องระบุฟิลด์ด้วยดังตัวอย่าง SELECT str_name_first , int_age FROM Select01;
The Where Clause อนุประโยค where ใช้แสดงข้อมูลแบบมีเงื่อนไข ดังเช่น SELECTstr_name_first, int_age FROM select01 WHERE UPPER(str_name_first) LIKE ‘F%’ ; SELECT str_name_first, int_age FROM select01 WHERE UPPER(str_name_first) LIKE ‘F%’ OR UPPER(str_name_first) LIKE ‘G%’ ;
The Order By Clause อนุประโยค Order by .ใช้สำหรับแสดงผลลัพธ์โดยการจัดเรียงข้อมูล ดังตัวอย่างเป็นการจัดเรียงชื่อจากน้อยไปมาก SELECT str_name_first, int_age FROM select01 ORDER BY str_name_first; หากต้องการเรียกจากมากไปน้อยจะต้องระบุด้วยคำว่า DESC ดังนี้ SELECT str_name_first, int_age FROM select01 ORDER BY Str_name_first DESC;
The Group By Clause ตัวอย่างการใช้ group by SELECT str_name_first ,count(*) FROM select01 GROUP BY str_name_first; เราสามารถหาค่าสูงสุดของอายุ SELECT str_name_first ,MAX(int_age) AS OLDEST_PERSON FROM select01 GROUP BY str_name_first ;
The Having Clause อนุประโยค HAVING จะใช้ร่วมกับอนุประโยค group by เสมอ เพื่อต้องการให้แสดงข้อมูลที่ได้ผ่านการจัดกลุ่มโดย GROUP BY เพียงบางส่วนตามเงื่อนไข เช่น SELECT str_name_first , MAX(int_age) AS OLDEST_PERSON FROM select01 GROUP BY str_name_first HAVING OLDEST_PERSON > 65; SELECT str_name_first,MAX(int_age) AS OLDEST_PERSON FROM select01 WHERE int_age > 65 GROUP BY str_name_first ;
The SQL Delete Statement DELETE FROM {table_name} WHERE {where_clause} ; คำสั่ง delete เป็นคำสั่งที่สำคัญ ต้องใช้อย่างระวัง เรคอร์ดที่ลงลบออกแล้วจะเรียกคืนไม่ได้ ดังตัวอย่าง DELETE FROM select01 WHERE UPPER(str_name_first) = ‘Charles’; หรือ SELECT COUNT(*) FROM select01