實驗四SQL語言資料定義語言DDL 精

2023-02-08 13:48:05 字數 5304 閱讀 4651

一、實驗目的

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表徵輸入結束,插入資料時需保持資料的遞增有序,並且將第偶數次出現的資料從表中刪除,每插入乙個資料後,將表中元素依次...