280 likes | 379 Views
MS SQLServer 7. เสรี ชิโนดม seree@buu.ac.th. การสร้างฐานข้อมูลโดยใช้ SQL Enterprise Manager ใน SQL Server 7.0. มีขั้นตอนดังต่อไปนี้ . เข้าสู่ SQL Enterprise Manager ให้เลือกเซิร์ฟเวอร์ SQL แล้วคลิกเมาส์ที่เมนู คำสั่ง Databases
E N D
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 ลบฐานข้อมูล • การใช้ 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 • การแสดง database ใช้คำสั่ง show database ; • การแสดง table ใช้คำสั่ง show tables ;
The SQL Alter Table Statement • คำสั่ง alter table ใช้สำหรับเพิ่มเติม หรือเปลี่ยนแปลงคอลัมน์ในตาราง รูปแบบ มีดังนี้ • 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 ใช้สำหรับเพิ่มเรคอร์ดลงในตาราง มีรูปแบบคำสั่งดังนี้ 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 เป็นคำสั่งใช้สำหรับเปลี่ยนแปลงสารสนเทศในตาราง มีรูปแบบคำสั่งดังนี้ 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 mysql> select * from test;
ตัวอย่าง • 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_ageFROM 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 WHEREUPPER(str_name_first) LIKE ‘F%’ OR UPPER(str_name_first) LIKE ‘G%’ ;
The Order By Clause • อนุประโยค Order by .ใช้สำหรับแสดงผลลัพธ์โดยการจัดเรียงข้อมูล ดังตัวอย่างเป็นการจัดเรียงชื่อจากน้อยไปมาก SELECT str_name_first,int_age FROMselect01 ORDER BYstr_name_first; • หากต้องการเรียกจากมากไปน้อยจะต้องระบุด้วยคำว่า DESC ดังนี้ SELECT str_name_first,int_age FROMselect01 ORDER BYStr_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 เพียงบางส่วนตามเงื่อนไข เช่น • SELECTstr_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 ใช้ลบข้อมูลในแต่ละแถวของตาราง มีรูปแบบคือ • DELETE FROM {table_name} WHERE {where_clause} ; • คำสั่ง delete เป็นคำสั่งที่สำคัญ ต้องใช้อย่างระวัง เรคอร์ดที่ลงลบออกแล้วจะเรียกคืนไม่ได้ ดังตัวอย่าง DELETE FROM select01 WHERE UPPER(str_name_first) = ‘Charles’; • หรือ SELECT COUNT(*) FROM select01 WHERE UPPER(str_name_first) = ‘Charles’;