一、實驗目的
sql(structured query language 語言是關聯式資料庫的標準語言。是一種介於關係代數與關係演算之間的結構化查詢語言,其功能並不僅僅是查詢, sql 語言是乙個通用的、功能極強的關聯式資料庫語言。
本次實驗了解 sql 語言中 ddl 語言的 create 、 drop 、 alter 對錶、索引、檢視的操作,掌握在 n**icat for mysql 中用 ddl 語言進行對錶、索引、檢視的增加、 刪除和改動。 掌握使用 sql 語句增加或刪除約束, 加深對完整性概念的理解, 達到靈活應用的目的。掌握使用 sql 語句定義和刪除同義詞。
二、實驗要求
1、實驗前:預習實驗內容,學習相關知識。
2、實驗中:按照實驗內容要求進行實驗,實驗時注意每種 sql 語句的基本命令及各個關鍵字的含義,做好實驗記錄。
3、實驗後:分析實驗結果,總結實驗知識,得出結論,按格式寫出實驗報告。
4、在整個實驗過程中,要獨立思考、獨立按時完成實驗任務,不懂的要虛心向教師或同學請教。
5、要求按指定格式書寫實驗報告,且報告中應反映出本對次實驗的總結,下次實驗前交實驗報告。
三、實驗的重點與難點
1、重點:
(1用 sql 語句定義表結構(建立、修改和刪除 。
(2用 sql 語句定義索引(建立、刪除 。
(3用 sql 語句定義檢視(建立、刪除 。
(4用 sql 語句定義同義詞(建立、刪除 。
2、難點:
完整性約束的定義、增加及刪除。
同義詞的定義與刪除。
四、儀器裝置及用具
硬體:投影儀、每位同學分配已連線校園網 pc 機一台。
軟體:本機已安裝 mysql 5.5資料庫平台。
五、教學過程
(一實驗預習
(1熟悉 sql 中的 create 、 drop 、 alter 語句的格式及所用的關鍵字含義及用法。
(2掌握完整性約束定義、增加和刪除的一般用法。
(3掌握同義詞定義、刪除的一般用法。
(二實驗原理
在 n**icat for mysql 中使用 create 命令完成對錶、索引、檢視、同義詞的建立,使用 drop 命令完成對錶、索引、檢視、同義詞的刪除,使用 alter 命令對錶結構進行修改及完整性約束的增加、刪除。
(三實驗內容
1. 執行 n**icat for mysql,連線到 test 資料庫,用如下語句進行表操作, 詳細的語法格式如下:
create table 表名字
(column1 datatype [default expression],
column1 datatype [default expression],
……|[constraint [symbol ]] primary key [index_type] (index_col_name,...
| key [index_name] [index_type] (index_col_name,...
| index [index_name] [index_type] (index_col_name,...
| [constraint [symbol ]] unique [index]
[index_name] [index_type] (index_col_name,...
| [fulltext|spatial] [index] [index_name] (index_col_name,... | [constraint [symbol ]] foreign key
[index_name] (index_col_name,... [reference_definition]
| check (expr
建立表主要指定義下列資訊:
列定義、主鍵定義、鍵定義、索引定義 、完整性約束、外來鍵定義、表示式檢查
例如在新建查詢中輸入如下語句:
create table new_dept92150033
(dptno decimal(10,2,
dname char(6,
loc char(13,
primary key (dptno;
點選執行,建立表 new_dept92150033,如下圖所示:
選中表 , 單擊右鍵,執行重新整理進行表重新整理,這時你可以看到新建的表。
更改表詳細的語法格式如下:
增加乙個列:
alter table 表名字 add [column] column_definition [first | after col_name ],….;
修改乙個列:
alter table 表名字 modify [column] column_definition [first | after col_name],….;
刪除乙個列:
alter table 表名字 drop [column] col_name;
在查詢編輯器中執行 create table語句首先建立乙個 test92150033表 , 然後分別使用 alter table add、 alter table modify、 alter table drop column在表 test92150033上來增加兩個列、修改乙個列和刪除乙個列。 sql 語句如下所示:
create table test92150033 (id varchar(20 not null;
alter table test92150033 add (name varchar (30 default ' 無名氏 ' not null;
alter table test92150033 add (age integer not null;
alter table test92150033 modify name varchar(16;
alter table test92150033 drop column age;
刪除表語法:
drop table 表名字 ;
例如在查詢編輯器中執行如下語句刪除表:
drop table test92150033;
2. 用如下語句進行檢視操作,詳細的語法格式如下:
create view 檢視名 as select … from … ;
檢視是乙個邏輯表, 它允許操作者從其它表或檢視訪問資料, 檢視本身不包含資料。檢視所基於的表稱為基表。
引入檢視有下列作用:
提供附加的表安全級,限制訪問基表的行或 /和列集合。
隱藏資料複雜性。 為資料提供另一種觀點。
例如在查詢編輯器中執行如下語句建立檢視:
先建立基表:
create table t (qty int, price int;
插入記錄
insert into t values(3, 50;
insert into t values(5, 10;
在基表 t 的基礎上,建立檢視 v 。
create view v as select qty, price, qty*price as value from t; 從檢視 v 檢索資料
select * from v;
結果如圖所示。
點選檢視可以看到新建立的檢視 v, 如圖所示。
刪除檢視語法: drop view 檢視名; 例如在查詢編輯器中執行如下語句刪除檢視: drop view v; 3.
用如下語句對索引進行操作,詳細的語法格式如下: 建立索引:create [unique|fulltext|spatial] index index_name [using index_type] on tbl_name (index_col_name,...
index_col_name: col_name [(length] [asc | desc] 索引是種資料庫物件。 對於在表或聚集的索引列上的每一值將包含一項,為行提供直接的快速訪問。
例如,在 address 表的 customerid 上建立索引 ix_add_cust: create index ix_add_cust on address(customerid; 刪除索引語法: drop index index_name on tbl_name; 例如在查詢編輯器中執行如下語句刪除索引:
drop index ix_add_cust on address; (四)注意事項 1、建立檢視 v 之前,必須建立表 t 和插入記錄。 2、建立索引前,保證實驗二生成的 在 test 資料庫上正確執行,生成 address 表。否則索引執行會出錯。
六、實驗步驟: 執行以下內容: 1.
啟動 n**icat for mysql,在 mysql – 新建連線中完成連線引數配置。 2.登入到本地資料庫伺服器後,連線到 test 資料庫上。
3.用 sql 語句,建立如下所示的表 student: 屬性名 studentid name *** age fee address memo 型別 varchar varchar varchar integer decimal varchar varchar 10,2 50 300 長度 10 20 2 4.
用 create table 語句建表 courseaa,表結構如下所示: 屬性名 aa1 aa2 aa3 型別 varchar integer decimal 10 長度 20 5. 用 create table 語句建表 choosebb,表結構如下所示:
屬性名 bb1 bb2 bb3 型別 varchar integer decimal 6 長度 30 6. 用 drop table 語句刪除表 courseaa。 7.
用 alter table 語句更新表 choosebb,新增乙個屬性名 bb4,型別 varchar, 長度 20,完整性約束設為非空值,預設值設為字元「系統測試值」 。 8. 用 alter table 語句更新表 choosebb,新增乙個屬性名 bb5,型別 varchar,
長度 10,完整性約束設為主碼。完成後,表 choosebb 的設計如下所示。 9.
用 create view 語句建立乙個檢視 view_choosebb, 生成的檢視屬性名 (view_bb1,view_bb2,view_bb3), 其中 view_bb1 對應於基表 choosebb 的 bb1、view_bb2 對應於基表 choosebb 的 bb4、view_bb3 對應於基表 choosebb 的 bb5。完成後,檢視 view_choosebb 的設計如下所示。 10.
用 drop view 語句刪除檢視 view_choosebb。 11. 用 create index 語句對錶 choosebb 的 bb2 屬性建立乙個公升序索引,索引名 index_bb2。
用 create index 語句對錶 choosebb 的 bb4 屬性建立乙個降序索引, 索引名 index_bb4。 12. 用 drop index 語句刪除索引 index_bb2。
以上 sql 語句請儲存,以備老師檢查和寫實驗報告之用。
6關聯式資料庫SQL語言真題
2011年9月 第 34 36 題基於 學生 選課 課程 資料庫中的如下三個關係 學生基本資訊 s s sname,age 選課資訊 sc s c grade 課程資訊 c c cname,teacher 34 查詢 由李偉老師執教的資料庫課程的平均成績 最高成績和最低成績 將使用關係b a s和s...
C語言 資料結構 實驗
實驗四 佇列子系統 1 實驗目的 1 掌握佇列的特點及其描述方法。2 用鏈式結構實現乙個佇列。3 掌握佇列的各種基本操作。4 掌握佇列的簡單應用程式。2 實驗內容 1 設計乙個字元型的鏈佇列 2 編寫佇列的進隊 出隊 讀隊頭元素 顯示佇列中全部元素程式 3 設計乙個輸入限制性的雙佇列,要求 輸入只能...
曉莊 資料結構 C語言版 實驗報告
學院資訊工程學院 班級行13軟體工程 學號 13201607 姓名蔣龍建 指導教師曹晨 實驗一線性表基本操作和簡單程式 1 實驗目的 向一張空的順序表和乙個空的鍊錶中插入若干個整數,以0表徵輸入結束,插入資料時需保持資料的遞增有序,並且將第偶數次出現的資料從表中刪除,每插入乙個資料後,將表中元素依次...