歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

VF第6章sql查詢語言

  • 資源ID:26942791       資源大小:390KB        全文頁數(shù):56頁
  • 資源格式: PPT        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

VF第6章sql查詢語言

第 六 章 SQL查 詢 語 言 的 使 用 學(xué) 習(xí) 目 標(biāo) :( 1) 了 解 SQL的 基 本 知 識( 2) 掌 握 SQL的 數(shù) 據(jù) 查 詢 操 作( 3) 熟 悉 SQL的 數(shù) 據(jù) 定 義 功 能( 4) 熟 悉 SQL的 數(shù) 據(jù) 操 縱 功 能 6.1 SQL 基 礎(chǔ) 知 識 SQL( Structured Query Language) 結(jié) 構(gòu) 化 查詢 語 言 , 是 一 種 介 于 關(guān) 系 代 數(shù) 與 關(guān) 系 運 算 之 間 的語 言 。 SQL語 言 動 詞SQL功 能 動 詞數(shù) 據(jù) 查 詢 select數(shù) 據(jù) 定 義 creat, drop, alter數(shù) 據(jù) 操 縱 insert, update, delete數(shù) 據(jù) 控 制 grant, revoke 6.2 SQL 的 數(shù) 據(jù) 定 義 功 能一 、 創(chuàng) 建 表格 式 1: CREATE TABLE FREE ( 類 型 (長 度 ) , 類 型 (長 度 ) )功 能 : 創(chuàng) 建 一 個 以 為 表 的 名 字 , 以 指 定的 字 段 屬 性 定 義 數(shù) 據(jù) 表 。說 明 : 定 義 表 的 各 個 屬 性 時 , 需 要 指 明 其 數(shù) 據(jù)類 型 及 長 度 。 例 1: 創(chuàng) 建 新 表 stu2, 其 結(jié) 構(gòu) 和 學(xué) 生 表 相 同 。 creat table stu2(學(xué) 號 C(8), 姓 名 C(8), 性 別 C(2), 出 生 日 期 D, 入 校 總 分 N(3, 0), 三 好生 L, 特 長 M, 照 片 G)格 式 2: CREATE TABLE FREE ( 類 型 (長 度 ) , 類 型 (長 度 ) ) NULL|NOT NULLCHECK ERROR提 示 信 息 DEFAULT FREE: 說 明 定 義 的 表 是 自 由 表 。NULL: 允 許 一 個 字 段 為 空 值 。 如 果 一 個 或 多 個 字段 允 許 包 含 空 值 , 一 個 表 最 多 可 以 定 義 254個 字 段 。NOT NULL: 不 允 許 字 段 為 空 值 , 即 字 段 必 須 取一 個 具 體 的 值 。CHECK : 定 義 字 段 級 的 有 效 性 規(guī) 則 。是 邏 輯 型 表 達 式 。 ERROR 提 示 信 息 : 定 義 字 段 的 錯 誤 信 息 。 當(dāng)字 段 中 的 數(shù) 據(jù) 違 背 了 字 段 的 完 整 性 約 束 條 件 時 ,Visual FoxPro就 會 顯 示 “ 提 示 信 息 ” 定 義 的 出錯 信 息 。DEFAULT : 定 義 字 段 的 默 認(rèn) 值 , 的 數(shù) 據(jù) 類 型 必 須 和 字 段 類 型 一 致 。 例 2: 在 數(shù) 據(jù) 庫 xsgl.DBC中 , 使 用 命 令 建 立“ jsj.DBF” 表 , 表 結(jié) 構(gòu) 包 括 (學(xué) 號 C(8),姓 名 C(6),筆 試 N(5,1),上 機 N(5,1), 并 設(shè) 置 學(xué) 號為 主 索 引 , 筆 試 和 上 機 的 有 效 性 規(guī) 則 是 0, 如果 違 反 有 效 性 規(guī) 則 , 系 統(tǒng) 提 示 : “ 成 績 必 須 大于 0” 。creat database xsgl.DBCcreat table jsj.DBF (學(xué) 號 C(8) primary key,姓 名 C(6),筆 試 N(5,1)check 筆 試 0 error “ 成 績 必 須 大 于 0” ,上 機 N(5,1)check 上 機 0 error “ 成 績 必 須 大 于 0” ) 二 、 修 改 表 的 結(jié) 構(gòu)1、 增 加 字 段格 式 : ALTER TABLE ADD (,); NULL|NOT NULLCHECK ERROR提 示 信 息 ;PRIMARY KEY | UNIQUE功 能 : 為 指 定 的 表 的 指 定 字 段 進 行 添 加 指 定 的字 段 。 例 3: 為 xsdb表 添 加 兩 個 字 段 : “ 平 均 分 ”字 段 N(5,1)和 “ 總 分 ” 字 段 N(5,1)。alter table xsdb.dbf add 平 均 分 N(5,1) check 平 均 分 80 error “ 平 均 分 要 大 于 80!”alter table xsdb.dbf add 總 分 N(5,1)注 意 : check 對 非 數(shù) 據(jù) 庫 表 ( .dbc) 不 可 用 。 2、 修 改 字 段格 式 : ALTER TABLE ALTER 類型 (長 度 ) NULL|NOT NULLSET CHECK ERROR提 示 信 息 功 能 : 為 指 定 的 表 的 指 定 字 段 進 行 修 改 指 定 的 字段 。 例 4: 在 xsdb表 中 , 修 改 兩 個 字 段 : “ 學(xué) 號 ”字 段 C( 10) 和 “ 英 語 ” 字 段 N( 6,1) 。alter table xsdb.DBF alter 學(xué) 號 C(10)alter table xsdb.DBF alter 英 語 N(6,1) 例 5: 修 改 或 定 義 上 機 字 段 的 有 效 性 規(guī) 則 。alter table jsj.dbf alter 上 機 set check 上 機0 error 上 機 應(yīng) 該 大 于 0! 3、 刪 除 字 段ALTER TABLE Drop Drop ;功 能 : 刪 除 指 定 的 表 中 指 定 字 段 。例 6: 刪 除 xsdb表 中 的 平 均 分 、 獎 學(xué) 金 和 備 注 字 段 。alter table xsdb.dbf drop 平 均 分 drop 獎 學(xué) 金 drop 備 注 4、 修 改 字 段 名格 式 : alter table renamecolumn to 功 能 : 將 表 中 的 名 字 修 改 為 。例 7: 將 jsj表 的 筆 試 字 段 名 改 為 筆 試 成 績 。alter table jsj.dbf rename column 筆 試 to 筆 試 成 績 三 、 刪 除 表格 式 : DROP TABLE功 能 : 從 數(shù) 據(jù) 庫 和 磁 盤 上 將 表 直 接 刪 除 掉 。例 8: 刪 除 jsj表drop table jsj.dbf 四 、 視 圖 的 定 義 和 刪 除 格 式 :CREATE VIEW AS SELECT-SQL命 令 。 功 能 : 按 照 AS子 句 中 的 SELECT-SQL命 令 提出 的 查 詢 要 求 , 創(chuàng) 建 一 個 本 地 或 遠(yuǎn) 程 的 SQL視 圖 。視 圖 的 名 稱 由 命 令 中 指 定 。1、 定 義 視 圖 例 9: 從 “ xsgl”數(shù) 據(jù) 庫 所 含 有 的 學(xué) 生 和 選 課兩 個 表 中 抽 取 學(xué) 號 、 姓 名 、 和 課 程 號 3個 字 段 ,組 成 名 稱 為 “ myview”的 SQL視 圖 。 open database xsgl creat view myview as select 學(xué) 生 .學(xué)號 , 學(xué) 生 .姓 名 , 選 課 .課 程 號 from 學(xué) 生 .dbf,選 課 .dbf where 學(xué) 生 .學(xué) 號 =選 課 .學(xué) 號 2、 查 詢 視 圖 例 10: 查 詢 “ xsgl”數(shù) 據(jù) 庫 中 的 “ myview”視 圖 , 要 求 顯 示 學(xué) 生 姓 名 和 課 程 號 open database xsgl select 姓 名 , 課 程 號 from myview 3、 刪 除 視 圖格 式 : drop view 功 能 : 刪 除 數(shù) 據(jù) 庫 中 指 定 的 視 圖 。例 11: 刪 除 數(shù) 據(jù) 庫 “ xsgl”中 的 “ myview”視圖 open database xsgldrop view myview 6.3 SQL 的 數(shù) 據(jù) 查 詢 功 能一 、 SELECT語 句 格 式SELECT ALL | DISTINCT .AS ;FROM 聯(lián) 接 方 式 JOIN表 名 ON聯(lián) 接 條件 ;WHERE ;ORDER BY ASC/DESC;GROUP BY ;HAVING分 組 篩 選 條 件 ;INTO ;功 能 : 查 詢 。 二 、 投 影 查 詢1、 查 詢 部 分 字 段 在 select語 句 后 列 出 要 查 詢 的 字 段 , 之 間 用逗 號 隔 開 。 例 1: 從 學(xué) 生 表 中 查 詢 學(xué) 號 , 姓 名 , 性 別 和出 生 日 期 。 select 學(xué) 號 , 姓 名 , 性 別 , 出 生 日 期 from 學(xué) 生 2、 查 詢 全 部 字 段 可 以 在 select后 面 列 出 全 部 字 段 , 也 可 以 用星 號 “ * ”來 表 示 全 部 字 段 。 例 2: 查 詢 教 師 表 中 的 全 部 字 段 select * from 教 師 select 教 師 號 , 姓 名 , 性 別 , 職 稱 , 工 資 , 政府 津 貼 from 教 師 或 者 3、 取 消 重 復(fù) 記 錄 使 用 distinct取 消 查 詢 結(jié) 果 中 的 重 復(fù) 記 錄 例 3: 查 詢 選 課 表 中 有 成 績 記 錄 的 學(xué) 生 學(xué) 號。 select distinct 學(xué) 號 from 選 課 4、 查 詢 經(jīng) 過 計 算 的 表 達 式查 詢 的 列 可 以 是 字 段 , 也 可 以 是 計 算 后 的 表 達 式 。 例 4: 從 教 師 表 中 查 詢 教 師 的 姓 名 , 工 資 和漲 50%以 后 的 工 資 。 select 姓 名 , 工 資 , 工 資 *1.5 from 教 師 select 姓 名 , 工 資 , 工 資 *1.5 as 漲 后 工 資from 教 師 或 者 as用 來 修 改 查 詢 結(jié) 果 中 指 定 列 的 列 名 。 其 中as可 以 省 略 三 、 條 件 查 詢 使 用 where來 指 定 查 詢 條 件 , 常 用 的 比 較 運算 符 如 表 1、 簡 單 條 件 查 詢 例 5: 從 學(xué) 生 表 中 查 詢 三 好 生 的 信 息 select * from 學(xué) 生 where 三 好 生 =.t. 例 6: 從 學(xué) 生 中 查 詢 7月 份 所 生 的 學(xué) 生 的 學(xué) 號、 姓 名 、 性 別 和 出 生 日 期 select 學(xué) 號 , 姓 名 , 性 別 , 出 生 日 期 from 學(xué) 生 where month( 出 生 日 期 ) =7 例 7: 從 學(xué) 生 表 中 查 詢 入 校 總 分 大 于 600分 的女 生 或 者 入 校 總 分 小 于 600的 男 生 的 學(xué) 號 、 姓 名和 入 校 總 分 。 select 學(xué) 號 , 姓 名 , 入 校 總 分 from 學(xué) 生 where ( 入 校 總 分 600 and 性 別 =“女 ” ) or( 入 校 總 分 1990/01/01 and (入 校 總 分 =600 or 入校 總 分 80 六 、 查 詢 的 排 序 使 用 order by 可 以 按 字 段 值 排 序 , asc為 升序 , desc為 降 序 , 默 認(rèn) 為 升 序 。1、 單 列 排 序 例 21: 查 詢 學(xué) 生 表 中 的 學(xué) 生 信 息 , 并 按 照 入校 總 分 的 降 序 排 列 。 select * from 學(xué) 生 order by 入 校 總 分 desc 例 22: 統(tǒng) 計 選 課 表 中 每 門 課 程 的 平 均 成 績 , 并按 照 平 均 分 數(shù) 的 降 序 排 列 select 課 程 號 , avg( 成 績 ) as 平 均 成 績 from 選 課 group by 課 程 號 order by 平 均 成 績 desc select 課 程 號 , avg( 成 績 ) as 平 均 成 績 from 選 課 group by 課 程 號 order by 2 desc 或 者 2表 示 以 查 詢 結(jié) 果 的 第 2列 作 為 排 序 依 據(jù) 2、 多 列 排 序 例 23: 查 詢 學(xué) 生 表 中 的 學(xué) 生 信 息 , 并 按 照 入校 總 分 的 降 序 排 列 , 若 入 校 總 分 相 同 , 按 照 學(xué) 號的 升 序 排 列 。 select * from 學(xué) 生 order by 入 校 總 分 desc, 學(xué) 號 七 、 內(nèi) 連 接 查 詢 連 接 條 件 : 兩 表 的 公 共 字 段 值 相 等 , 常 用 書 寫格 式 是 : 表 1.公 共 字 段 =表 2.公 共 字 段 例 23: 從 授 課 表 和 課 程 表 中 , 查 詢 各 個 教 師擔(dān) 任 的 課 程 的 課 程 號 及 課 程 名 。 select 授 課 .教 師 號 , 授 課 .課 程 號 , 課 程 .課 程名 from 授 課 , 課 程 where 授 課 .課 程 號 =課 程 .課 程 號 select 授 課 .教 師 號 , 授 課 .課 程 號 , 課 程 .課 程名 from 授 課 join 課 程 on 授 課 .課 程 號 =課 程 .課 程 號 或 者 例 23: 學(xué) 生 表 和 選 課 表 中 查 詢 學(xué) 號 為s0803004和 s0803005的 學(xué) 生 的 選 課 情 況 , 顯 示 其學(xué) 號 、 課 程 號 和 成 績 。 select 學(xué) 生 .學(xué) 號 , 選 課 .課 程 號 , 選 課 .成 績 from 學(xué) 生 , 選 課 where 學(xué) 生 .學(xué) 號 =選 課 .學(xué) 號 and ( 學(xué) 生 .學(xué) 號 =“s08030004” or 學(xué) 生 .學(xué) 號=“s08030005”) select 學(xué) 生 .學(xué) 號 , 選 課 .課 程 號 , 選 課 .成 績 from 學(xué) 生 join 選 課 on 學(xué) 生 .學(xué) 號 =選 課 .學(xué) 號 where( 學(xué) 生 .學(xué) 號 =“s08030004” or 學(xué) 生 .學(xué) 號=“s08030005”) 或 者 八 、 自 連 接 查 詢 將 同 一 個 表 與 其 自 身 進 行 連 接 , 稱 為 自 連 接。 在 自 連 接 查 詢 涉 及 的 字 段 前 面 , 用 別 名 加 以 限制 。 定 義 表 別 名 的 語 法 是 : 例 24: 查 詢 入 校 總 分 大 于 謝 小 芳 的 學(xué) 生 姓 名、 入 校 總 分 。 select 學(xué) 生 .姓 名 , 學(xué) 生 .入 校 總 分 from 學(xué) 生, 學(xué) 生 b where 學(xué) 生 .入 校 總 分 b.入 校 總 分 and b.姓 名 =“謝 小 芳 ” 九 、 修 改 查 詢 去 向1、 into dbf into table 將 查 詢 結(jié) 果 保 存 到 以 命 名 的 永 久 表中 , 并 打 開 該 表 作 為 當(dāng) 前 文 件2、 into cursor 將 查 詢 結(jié) 果 保 存 到 以 命 名的 臨 時 表 中 , 該 文 件 為 只 讀 表 , 當(dāng) 關(guān) 閉 查 詢 相關(guān) 的 表 文 件 時 , 該 臨 時 文 件 會 被 自 動 刪 除 。 3、 into file addtive 將 查 詢 結(jié) 果 保 存 到 以 命 名 的 文 本文 件 中 , 擴 展 名 為 txt, 如 果 有 addtive, 查 詢 結(jié)果 追 加 到 文 本 文 件 的 尾 部 , 否 則 覆 蓋 該 文 本 文 件 。4、 into array 將 查 詢 結(jié) 果 保 存 到 指 定 的 數(shù) 組 中 , 一般 將 存 放 查 詢 結(jié) 果 的 數(shù) 組 作 為 二 維 數(shù) 組 來 使 用 。5、 to printer 將 查 詢 結(jié) 果 輸 出 到 打 印 機 。 十 、 嵌 套 查 詢1、 帶 比 較 運 算 符 的 嵌 套 查 詢 例 25: 查 詢 入 校 總 分 大 于 謝 小 芳 的 學(xué) 生 姓 名、 入 校 總 分 。 ( 1) 查 詢 謝 小 芳 的 入 校 總 分 select 入 校 總 分 from 學(xué) 生 where 姓 名 =“謝 小 芳 ”此 結(jié) 果 的 顯 示 為 : 謝 小 芳 入 校 總 分 為 610 ( 2) 查 詢 入 校 總 分 大 于 610分 的 學(xué) 生 姓 名 、 入校 總 分 。 select 姓 名 , 入 校 總 分 from 學(xué) 生 where 入 校 總 分 ( select 入 校 總 分 from 學(xué) 生 where 姓 名 =“謝 小 芳 ” ) ( 3) 將 610用 第 ( 1) 步 中 的 select語 句 替 換 select 姓 名 , 入 校 總 分 from 學(xué) 生 where 入 校 總 分 610 2、 in謂 詞 嵌 套 查 詢 例 26: 查 詢 有 選 課 記 錄 的 學(xué) 生 信 息 。 ( 1) 在 選 課 表 中 查 詢 選 了 課 的 學(xué) 生 學(xué) 號 select (distinct 學(xué) 號 ) from 選 課 查 詢 結(jié) 果 為 “ s0803002”, “ s0803003”,“ s0803004”, “ s0803005” ( 2) 查 詢 學(xué) 號 為 “ s0803002”, “ s0803003”, “ s0803004”, “ s0803005”的 學(xué) 生 信 息 。 select * from 學(xué) 生 where 學(xué) 號 in( “ s08030002”, “ s08030003”, “ s08030004”, “ s08030005” ) ( 3) 將 “ s0803002”, “ s0803003”,“ s0803004”, “ s0803005”用 第 ( 1) 步 中 的select語 句 替 換 select * from 學(xué) 生 where 學(xué) 號 in( select distinct 學(xué) 號 from 選 課 ) 3、 exists謂 詞 嵌 套 查 詢 例 27: 查 詢 學(xué) 號 為 s0803002的 學(xué) 生 選 修 的課 程 名 稱 select 課 程 名 from 課 程 where exists (select * from 選 課 where 選 課 .課 程 號 =課 程 .課程 號 and 學(xué) 號 =“s0803002”) 例 28: 查 詢 學(xué) 號 為 s0803002的 學(xué) 生 沒 有 選修 的 課 程 名 稱 select 課 程 名 from 課 程 where not exists ( select * from 選 課 where 選 課 .課 程 號 =課 程 .課 程 號 and 學(xué) 號 =“s0803002”) 4、 any、 all、 some謂 詞 嵌 套 查 詢例 29: 查 詢 入 校 總 分 大 于 某 個 三 好 生 的 女 生 的 信 息 。 select * from 學(xué) 生 where 入 校 總 分 any (select 入 校 總 分 from 學(xué) 生 where 三 好 生 =.t. ) and 性 別 =“女 ” 例 30: 查 詢 入 校 總 分 大 于 所 有 三 好 生 的 學(xué) 生 信 息。 select * from 學(xué) 生 where 入 校 總 分 all (select 入 校 總 分 from 學(xué) 生 where 三 好 生 =.t. ) 此 處 的 any也 可 以 用 some替 換 十 一 、 集 合 查 詢用 union可 以 進 行 集 合 查 詢 例 31: 查 詢 入 校 總 分 大 于 600分 或 者 小 于590分 的 學(xué) 生 姓 名 。 要 求 使 用 集 合 查 詢 。 select 姓 名 from 學(xué) 生 where 入 校 總 分 600 union select 姓 名 from 學(xué) 生 where 入 校 總分 590 注 意 : 使 用 union集 合 查 詢 時 , 會 自 動 取 消重 復(fù) 記 錄 。 6.4 SQL 的 數(shù) 據(jù) 操 縱 功 能一 、 插 入 數(shù) 據(jù) 格 式 : insert into (,) values (,) 例 1、 在 課 程 表 中 插 入 一 條 新 記 錄 ( “ c170”,“ 操 作 系 統(tǒng) ” , 48) insert into 課 程 values( “ c170”, “ 操 作系 統(tǒng) ” , 48) 二 、 更 新 數(shù) 據(jù) 格 式 : update ! set= , = where 功 能 : 用 指 定 的 新 值 更 新 記 錄 。 例 2、 在 課 程 表 中 課 程 號 為 “ c170”的 課 時 數(shù) 改為 32。 update 課 程 set 課 時 =32 where 課 程 號=“c170” 三 、 刪 除 數(shù) 據(jù)格 式 : delete from where 功 能 : 邏 輯 刪 除 一 條 或 多 條 記 錄說 明 : 沒 有 where子 句 , 表 示 邏 輯 刪 除 所 有 記 錄 。 例 3、 邏 輯 刪 除 課 程 表 中 課 程 號 為 “ c170”的 記錄 delete from 課 程 where 課 程 號 =“c170” 注 意 : 若 要 物 理 刪 除 必 須 使 用 pack命 令 。

注意事項

本文(VF第6章sql查詢語言)為本站會員(無***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!