(3)用SELECT-SQL命令創(chuàng)建查詢
常用的格式:
SELECT 表名1. 字段名1 [AS 標題名1], 表名1. 字段名2 [AS 標題名2], … &&在源表中要查詢的字段 AS新表中字段標題
FROM 數(shù)據(jù)庫名! 表名1 [,數(shù)據(jù)庫名! 表名2 ] [, 數(shù)據(jù)庫名! 表名3 ] &&源表
[TO FILE 文本文件名 | into table | into cursor 新表文件名 ] &&查詢結果去向
[ WHERE 選定條件] &&查詢的條件
[GROUP BY 分組字段名 ]
[HAVING 分組中的滿足條件 ]
[ORDER BY 排序字段名1 [ASC | DESC] [, 排序字段名2 [ASC | DESC] ...]]
示例:
瀏覽學生中的查詢學生 student.qpr :
SELECT 表xs.xh as 學號, 表xs.xm as 姓名, 表xs.xb as 性別, ;
表xs.csrq as 出生日期, 表xs.bj as 班級名稱;
FROM 數(shù)據(jù)test!表xs;
WHERE 表xs.bj =cs1;
ORDER BY 表xs.xh;
INTO TABLE xs
瀏覽成績中的按課程查詢 sub_cj.qpr :
SELECT 表xs.bj as 班級名稱, COUNT(表xs.xh) as 班級人數(shù), AVG(表cj.cj) as 平均分, ;
MAX(表cj.cj) as 最高分, MIN(表cj.cj) as 最低分;
FROM 數(shù)據(jù)test!表xs, 數(shù)據(jù)test!表cj, 數(shù)據(jù)test!表kc;
WHERE 表cj.xh = 表xs.xh;
AND 表kc.kcm = 表cj.kcm;
AND 表cj.kcm = sc1;
GROUP BY 表xs.bj;
ORDER BY 表xs.bj;
INTO TABLE sub_cj
4.2 創(chuàng)建視圖
1. 視圖的特點
1) 視圖是存在于數(shù)據(jù)庫中的一個虛表,不以獨立的文件形式保存;
2) 視圖中的數(shù)據(jù)是可以更改的,它不僅具有查詢的功能,且可以把更新結果反映到源數(shù)據(jù)表中;
3) 視圖打開時,其基表自動打開,但視圖關閉時,其基表并不隨之自動關閉;
4) 視圖的數(shù)據(jù)源可以是自由表、數(shù)據(jù)庫表或另一個視圖。
2. 用視圖設計器創(chuàng)建本地視圖[圖例]
從項目管理器中選擇一個數(shù)據(jù)庫 → 選擇本地視圖 → 單擊新建按鈕 → 選擇新視圖 → 添加所需的數(shù)據(jù)表 → 在視圖設計器中按照與創(chuàng)建查詢相同的步驟(2)~(6)建立視圖 → 設置更新條件 → 保存視圖 → 給出視圖名稱 → 關閉視圖設計器(可以先運行一下看看)。
創(chuàng)建參數(shù)化視圖:
在篩選頁面的實例框中輸入: ?參數(shù)名 → 從查詢菜單中選擇視圖參數(shù) → 在對話框中給出參數(shù)名并選擇參數(shù)類型 → 確定 → 保存視圖 → 給出視圖名稱 → 關閉視圖設計器(可以先運行一下看看)。
3. 用視圖向?qū)?chuàng)建本地視圖
從項目管理器中選擇一個數(shù)據(jù)庫 → 選擇本地視圖 → 單擊新建按鈕 → 選擇視圖向?qū)?→ 選取字段 → 關聯(lián)表 → 記錄操作范圍 → 篩選記錄 → 排序記錄 → 選擇保存方式→ 完成。
4. 用CREATE SQL VIEW 命令創(chuàng)建視圖
打開數(shù)據(jù)庫,用命令來創(chuàng)建視圖:
OPEN DATABASE 數(shù)據(jù)庫名
CREATE SQL VIEW 視圖文件名 AS SQL-SELECT 語句
例: OPEN DATABASE SJ
CREAT SQL VIEW SCORE AS SELECT SJCJ.XH, SJCJ.CJ ;
FROM SJ!SJCJ WHERE SJCJ.KCH=”計算機基礎”
5. 視圖的使用
用菜單方式對視圖中的記錄進行編輯的方法與操作數(shù)據(jù)表相同。也可用以下命令操作。
視圖操作基本命令
打開視圖文件并瀏覽 OPEN DATABASE 數(shù)據(jù)庫名
USE 視圖文件名
BROWSE
修改視圖 MODIFY VIEW 視圖文件名
視圖重命名 RENAME VIEW 原視圖文件名 TO 新視圖文件名
刪除視圖 DELETE VIEW 視圖文件名
6.利用視圖更新源表數(shù)據(jù)
可在視圖設計器的更新條件頁面中進行如下設置來實現(xiàn)對源表數(shù)據(jù)的更新:
1)從表框中選擇想要更新的源表;
2)在字段名框中單擊一個字段前關鍵列? 和更新列 ? ,使其作為主關鍵字和可更新字段;
3)將發(fā)送SQL 更新復選框選中
4.3 SQL 語言中的命令語句
SQL是一種日趨流行的標準的數(shù)據(jù)庫系統(tǒng)管理語言,能使數(shù)據(jù)檢索異常地方便、靈活。
VFP5.0支持的7條SQL命令一覽表
命令 功能 示例 備注
CREATE TABLE -SQL 創(chuàng)建一個指定字段的表 create table xs (;
xh c(4) default "1201" primary key,;
xm c(6), ;
xb c(2) check xb="男" or xb="女" error "性別只能是男或女" default "女",;
nl n(2) null ) 新表的每個字段由名稱、類型、精度、比例、是否支持 NULL 值和參照完整性規(guī)則來定義,可從命令本身或數(shù)組中獲得這些定義。
CREATE CURSOR-SQL 創(chuàng)建一個臨時表 CREATE CURSOR teacher ;
(TeacherID N(5), Name C(20), Address;
C(30),OfficeNo C(8) NULL, Specialty M)
ALTER TABLE - SQL 以編程方式修改一個已存在的表的結構。 ALTER TABLE xscj ADD COLUMN kcmc C(14) 可以修改表中每個字段的名稱、類型、精度、比例、是否支持 NULL 值和參照完整性規(guī)則。
ALTER TABLE cj;
ALTER COLUMN cj SET CHECK cj >= 0;
ERROR " 成績不能為負數(shù)"
SELECT - SQL 從一個或多個表中檢索數(shù)據(jù)。 SELECT 表xs.xh, 表xs.xm, 表xs.xb, ;
FROM 數(shù)據(jù)test!表xs;
WHERE 表xs.xh >'81991025';
ORDER BY 表xs.xh 可以用union命令連接兩個條件。
DELETE - SQL 使用 SQL 語句將表中的記錄加上刪除標記。 DELETE FROM cj WHERE cj<60
INSERT - SQL 在已存在表的末尾追加一條新記錄 INSERT INTO xs(xh,xm,xb) valueS;
("8399101", "張麗", "女") 新記錄包含的數(shù)據(jù)列在 INSERT 命令中,或者來自數(shù)組。
UPDATE - SQL 更新表中的記錄 UPDATE cj SET cj = cj*1.05 WHERE cj>80 可以基于 SELECT - SQL 語句結果更新記錄
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請
點擊舉報。