sql資料庫實驗
❶ 設計1個sql小實驗,幫忙給點思路
給你一個可以實踐的例子,可以先在企業管理器環境下操作,如果想練習T——SQL語句就在查詢分析器環境下做。
一、創建資料庫
二、創建資料庫包含的數據表:
在剛創建的資料庫內建立名為「員工」的數據表文件,其數據列的結構如下
列名 數據類型 長度 是否空
員工編號 Char(定長字元型) 4個位元組 主鍵
姓名 Varchar(可變長字元型) 20個位元組 √
性別 Char (定長字元型) 2個位元組 √
出生日期 Smalldatetime(短日期類型) √
工資 Smallmoney(小貨幣型)
在職否 Bit(邏輯類型) √ 默認值為1
三、向表中輸入數據
請向數據表「員工」中送入2行數據,如下
員工編號 姓名 性別 出生日期 工資 在職否
1001 張三 男 1978年1月1日 5000 1
1002 李四 女 1980年12月11日 4500 0
1003 王五六 女 1988年09月30日 3500 1
註:有其它需要再提
❷ SQL Server 資料庫設計 實驗目的:熟悉SQL Server軟體的使用;進一步熟悉T-SQL的基本語法;了解資料庫設計
20分就想搞這個...暈死
❸ 有關 SQL2005 資料庫實驗題的問題
1.
select min(t.s_count) s_count, t.tname from (select count(sc.sno) as s_count, project.tname from sc, project where sc.cno = project.cno group by project.tname) t;
2.
select student.sname, project.pname, case when sc.grade>=90 then "優秀" when sc.grede<60 then "不及格" as grade_lvl from sc, student, project where sc.sno = student.sno and sc.cno = project.cno and sc.grade>=90 or sc.grade<60;
3.
首先查出課題,班級,分數;
再按課題,班級分組,成績在60-70分的為count(1);成績在70-80分的為count(1);成績在80-90分的為count(1);就是想要的結果了,自己嘗試一下。
❹ 求SQL的資料庫實驗報告..關於學生管理系統的..
SQL> create table stu (
2 stu_id number,
3 name varchar2(20),
4 class varchar2(20),
5 sex char(1)
6 );
表已創建。
SQL> alter table stu add constraint pk primary key (stu_id);
表已更改。
SQL> insert into stu values(1, '王昭君', '一班', 'f');
已創建 1 行。
SQL> insert into stu values(2, '楊玉環', '二班', 'f');
已創建 1 行。
SQL> insert into stu values(3, '貂蟬', '三班', 'f');
已創建 1 行。
SQL> insert into stu values(4, '西施', '四班', 'f');
已創建 1 行。
SQL> insert into stu values(5, '帥哥', '五班', 'm');
已創建 1 行。
SQL> commit;
提交完成。
SQL> select * from stu;
STU_ID NAME CLASS S
---------- -------------------- -------------------- -
1 王昭君 一班 f
2 楊玉環 二班 f
3 貂蟬 三班 f
4 西施 四班 f
5 帥哥 五班 m
SQL> delete from stu where stu_id = 5;
已刪除 1 行。
SQL> update stu set sex = 'm' where stu_id = 1;
已更新 1 行。
SQL> select * from stu;
STU_ID NAME CLASS S
---------- -------------------- -------------------- -
1 王昭君 一班 m
2 楊玉環 二班 f
3 貂蟬 三班 f
4 西施 四班 f
SQL> alter table stu add column age number;
alter table stu add column age number
*
第 1 行出現錯誤:
ORA-00904: : 標識符無效
SQL> alter table stu add age number;
表已更改。
SQL> desc stu;
名稱 是否為空? 類型
----------------------------------------- -------- ----------------------------
STU_ID NOT NULL NUMBER
NAME VARCHAR2(20)
CLASS VARCHAR2(20)
SEX CHAR(1)
AGE NUMBER
SQL> update stu set age = 2000 where stu_id = 1;
已更新 1 行。
SQL> select a from (select age a from stu);
A
----------
2000
SQL> select count(*) from stu group by sex;
COUNT(*)
----------
1
3
SQL> select name from stu order by stu_id desc;
NAME
--------------------
西施
貂蟬
楊玉環
王昭君
SQL> spool off;
幫你寫的
❺ 求sql詳細資料庫實驗報告,步驟~~~答好加分~~~
引用
microsoft activeX Data objects 2.X library
microsoft activeX Data objects recordset 2.X
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Driver=;server=(local);uid=sa;pwd=;database=賬戶管理"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select * from 賬戶信息", conn, adOpenStatic, adLockReadOnly, adCmdText
text1=rs.fields("列")'實現顯示功能
...
要實現查詢就在rs.open的時候把條件代入
下一個上一個用rs.movenext這種方式
添加新記錄的代碼
with rs
.addnew
.fields("列")=text1
...
.update
end with
刪除:
rs.Delete adAffectCurrent
❻ SQL資料庫 游標實驗
我也是菜鳥,寫了一個你瞧瞧。
select*fromaaax;
銀行ys貸款金額jerq貸款日期貸款年限nxgs公司名稱
工行 3 2017-5-8 15 塞德斯公司
建行 5 2018-6-9 12 塞德斯公司
中國銀行 6 2016-6-8 5 塞德斯公司
中國銀行 66 2016-6-8 77 dfgfdgh
建行 34 2016-6-8 55 dfgfdgh
declare
v_yhvarchar2(100);
v_jenumber;
v_rqvarchar2(100);
v_nxvarchar2(100);
v_gsvarchar2(100);
vv_gsvarchar2(100);
vv_sumnumber;
cursoremp_cursorisselect*fromaaa;
cursoremp_cursor2isselectgs,sum(je)fromaaagroupbygs;
begindbms_output.enable(500000);
openemp_cursor2;loopfetchemp_cursor2intovv_gs,vv_sum;exitwhenemp_cursor2%notfound;
DBMS_OUTPUT.PUT_LINE(vv_gs||'總貸款金額為'||vv_sum||'萬元,具體情況為如下:');
openemp_cursor;
loop
fetchemp_cursorintov_yh,v_je,v_rq,v_nx,v_gs;
exitwhenemp_cursor%notfound;
ifvv_gs=v_gsthen
DBMS_OUTPUT.PUT_LINE(v_yh||','||v_rq);endif;
endloop;
closeemp_cursor;endloop;closeemp_cursor2;
end;
效果
❼ 資料庫實驗-sql存儲過程
CREATE PROCEDURE P1
@XH VARCHAR(10) AS
IF @XH NOT IN(SELECT 學號 FROM 選課) INSERT 選課 VALUES(@XH,'1',0)
ELSE IF NOT EXISTS(SELECT * FROM 選課 WHERE 學號=@XH AND 成績>=60)
DELETE FROM 選課 WHERE 學號=@XH
ELSE SELECT * FROM 選課 WHERE 學號=@XH
❽ 100分高分求sql語言的資料庫實驗報告...
以下是日期的查詢
簡單的例子
select
*
from
View_Change
where
Wname='AAAA'
select
*
from
View_Change
where
Updatetime>'2007-10-13'
下面是統計
select
Wno,Count(Wnum)
as
統計
from
View_Change
where
Updatetime>'2007-10-13'
group
by
Wno
如果改為復雜點點的統計的話
select
Wno,Count(Wnum)
as
統計
from
View_Change
where
Updatetime>='2008-01-01'
and
Updatetime<'2009-01-01'
and
Wno=1
and
Type='出庫'
group
by
Wno
ftp://220.184.188.33/
裡面的幾個文檔案就是創建的過程
我也好久沒做過了
都忘記了
大部分都是企業管理器內做的
❾ 資料庫實驗要SQL語言編寫的
-- Create table
create table Student
(
S_No varchar2(20),
S_Name varchar2(20) not null,
S_Sex varchar2(2) default '男',
S_Birthday date
)
;
-- Add comments to the table
comment on table Student
is '學生';
-- Create/Recreate primary, unique and foreign key constraints
alter table Student
add constraint Pri_S_No primary key (S_NO);
-- Create table
create table Course
(
C_No varchar2(20),
C_Name varchar2(40),
Grade number(4,1)
)
;
-- Add comments to the table
comment on table Course
is '課程';
-- Add comments to the columns
comment on column Course.Grade
is '分數';
-- Create/Recreate primary, unique and foreign key constraints
alter table Course
add constraint Pri_C_No primary key (C_NO);
-- Create table
create table T_Course
(
S_no varchar2(20),
C_no varchar2(20),
Grade number(4,1)
)
;
-- Add comments to the table
comment on table T_Course
is 'take the course選課信息';
-- Add comments to the columns
comment on column T_Course.Grade
is '成績';
-- Create/Recreate primary, unique and foreign key constraints
alter table MEA.T_Course
add constraint For_S_No foreign key (S_NO)
references Student (S_No);
alter table MEA.T_Course
add constraint For_C_No foreign key (C_NO)
references Course (C_No);
3:
-- Add/modify columns
alter table Student add S_Tel varchar2(20);
-- Add comments to the columns
comment on column Student .S_Tel
is '電話';
4:
-- Add/modify columns
alter table Course modify C_Name CVARCHAR2(20);
5:
INSERT INTO Student (S_No, S_Name,S_Sex, S_Birthday ) VALUES ('A001','日月哥','女',to_date('20110515','yyyyMMdd'))
其他你自己來
6:
update Course set Grade =Grade +1
7:
-- Create/Recreate indexes
create unique index PK_oo on Student(S_Birthday order by desc);
8:
select s.S_No, avg(tc.Grade) from Student s,T_Course tc where s.S_No=tc.S_No group by s.S_No
9:
delete T_Course tc where tc.S_No='A000';
delete Student s where s.S_No='A000';
思考題自己來,我用的orcal,這都不給分的話,爆你菊花啦
❿ 求SQL資料庫實驗報告
*****系實驗(上機)報告
課程名稱 資料庫系統基礎
實驗名稱 數據查詢與存儲過程
學號 33
學生姓名 嘻習喜戲
成績
年 月 日
序號 5 實驗名稱 SQL數據查詢
實驗目的:
熟練掌握SQL SELECT 語句,能夠運用該語句完成各種查詢。
實驗內容:
用SQL SELECT 語句完成下列查詢:
1. 查詢客戶表中的所有記錄。
2. 從訂購單表中查詢客戶號信息(哪些客戶有訂購單)。
3. 查詢單價在20元以上(含)的產品信息。
4. 查詢單價在20元以上(不含)的產品名稱為牛奶的產品信息。
5. 查詢單價在20元以上(不含)的產品名稱為牛奶或德國乳酪的產品信息。
6. 查詢有2003年7月訂購單的客戶名稱、聯系人、電話號碼和訂單號信息。
7. 查詢有德國乳酪訂貨的客戶的名稱、聯系人和電話號碼信息。
8. 查詢有德國乳酪訂購需求的訂單名細記錄。
9. 查詢所有訂購數量(即訂單名細中每個訂購項目的數量)都在10個以上的訂購單的信息。
10. 找出和德國乳酪同等價位的所有產品信息。
11. 查詢單價范圍在10元到30元范圍內的產品信息(使用BETWEEN…AND)。
12. 從客戶表中查詢出客戶名稱中有「公司」二字的客戶信息(使用LIKE運算符)。
13. 從客戶表中查詢出客戶名稱中沒有「公司」二字的客戶信息(使用NOT LIKE運算符)。
14. 按產品的單價升序列出全部產品信息。
15. 先按產品名稱排序,再按單價排序列出全部產品信息。
16. 從產品表中查詢共有幾種產品。
17. 從訂購名細表中查詢德國乳酪的訂購總數。
18. 計算德國乳酪所有訂購的總金額。
19. 求所有訂購單的平均金額,在查詢結果中列出訂購單的個數和平均金額。
20. 求每個訂購單訂購的項目數和總金額。
21. 求每個客戶包含了德國乳酪訂購的訂單號及其最高金額和最低金額。
22. 求至少有兩個訂購項目的訂購單的平均金額。
23. 找出尚未最後確定訂購單(即訂購日期為空值的記錄)的有關客戶信息(客戶的名稱、聯系人和電話號碼)和訂單號。
24. 找出在2000年1月1日之後簽訂的訂購單的客戶信息(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期。
25. 列出每類產品(相同名稱)具有最高單價的產品信息(產品號、名稱、規格說明和單價,提示:使用內外層互相關嵌套查詢)。
26. 確定哪些客戶目前沒有訂購單(使用謂詞NOT EXISTS)。
27. 查詢目前有訂購單的客戶的信息(使用謂詞EXISTS)。
28. 查詢符合條件的產品信息,要求該產品的單價達到了任意一款產品名稱為牛奶的單價的一半(使用ANY或SOME量詞)。
29. 查詢符合條件的產品信息,要求該產品的單價大於任何一款產品名稱為牛奶的單價(使用ALL量詞)。
30. 設計如下的連接操作,並分析各自的特點:
•廣義笛卡兒積
•內連接
•外連接
•左連接
•右連接
•全連接
掌握存儲過程的創建命令,按照題目要求創建存儲過程,理解存儲過程的作用。
(1) 建立存儲過程。查詢單價范圍在x元到y元范圍內的產品信息。
(2) 建立存儲過程。查詢在某年某月某日之後簽訂的訂購單的客戶信息(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期。
(3) 建立存儲過程。將某產品的訂購日期統一修改為一個指定日期。
(4) 建立存儲過程。刪除沒有簽訂單的客戶信息。
實驗要求:
用SELECT語句完成本次實驗,並提交上機報告。
(1) 掌握存儲過程的創建命令,按照實驗內容的要求創建存儲過程,理解存儲過程的作用。
(2) 用CREATE PROCEDURE和EXECUTE 語句完成本次實驗,並提交上機報告。
實驗准備(本實驗預備知識和為完成本實驗所做的准備):
仔細閱讀課本第五章關於SQL的數據查詢功能的內容
實驗過程(實驗的操作過程、遇到的問題及其解決辦法或未能解決的問題):
用SQL SELECT 語句完成以上30題查詢
實驗總結(總結本次實驗的收獲、未解決的問題以及體會和建議等):
熟練掌握SQL SELECT 語句,能夠運用該語句完成各種查詢
附錄(SQL語句):
--1. 查詢客戶表中的所有記錄。
select * from 客戶
--2. 從訂購單表中查詢客戶號信息(哪些客戶有訂購單)
select 客戶號from 訂單where 訂單號!=null
--3. 查詢單價在元以上(含)的產品信息。
select *from 產品where 單價> 20 or 單價=20
--4. 查詢單價在元以上(不含)的產品名稱為牛奶的產品信息。
select *from 產品where 單價>20 and 產品名稱='牛奶'
--. 查詢單價在元以上(不含)的產品名稱為牛奶或德國乳酪的產品信息
select *from 產品where 單價>20 and (產品名稱='牛奶'or 產品名稱='德國乳酪')
--6. 查詢有年月訂購單的客戶名稱、聯系人、電話號碼和訂單號信息
select 客戶名稱,聯系人, 電話,訂單號from 客戶,訂單where (year(訂購日期)=2003 and month (訂購日期)=7)and (訂單.客戶號=客戶.客戶號)
--7. 查詢有德國乳酪訂貨的客戶的名稱、聯系人和電話號碼信息。
select 客戶名稱,聯系人, 電話from 客戶
where
(客戶號= (select 客戶號from 訂單where(訂單號 =(select 訂單號from 訂單明細
where 產品號= ( select 產品號from 產品where 產品名稱= ' 德國乳酪' )))))
--8. 查詢有德國乳酪訂購需求的訂單名細記錄。
select * from 訂單明細where (數量!=null and 產品號=(select 產品號from 產品where 產品名稱= '德國乳酪'))
--9. 查詢所有訂購數量(即訂單名細中每個訂購項目的數量)都在個以上的訂購單的信息。
select * from 訂單where (訂單號in (select 訂單號from 訂單明細where (數量>10)))
--10. 找出和德國乳酪同等價位的所有產品信息。
select * from 產品where (
--11. 查詢單價范圍在元到元范圍內的產品信息(使用BETWEEN…AND)。
select * from 產品where (單價between 10 and 30)
--12. 從客戶表中查詢出客戶名稱中有「公司」二字的客戶信息(使用LIKE運算符)
select * from 客戶where 客戶名稱like '%公司%'
--13. 從客戶表中查詢出客戶名稱中沒有「公司」二字的客戶信息(使用NOT LIKE運算符)。
select * from 客戶where 客戶名稱not like '%公司%'
--14. 按產品的單價升序列出全部產品信息。
select *from 產品order by 單價
--15. 先按產品名稱排序,再按單價排序列出全部產品信息。
select * from 產品order by 產品名稱,單價
--16. 從產品表中查詢共有幾種產品。
select count ( distinct 產品名稱) as 產品總數from 產品
--17. 從訂購名細表中查詢德國乳酪的訂購總數
select sum (數量) as '訂購乳酪數量'
from 訂單明細
where 產品號in(select 產品號from 產品where 產品名稱='德國乳酪')
--18. 計算德國乳酪所有訂購的總金額
declare @a money
select @a=(select 單價from 產品where 產品名稱='德國乳酪')
declare @b int
select @b=(select sum (數量) as '訂購乳酪數量'
from 訂單明細
where 產品號in(select 產品號from 產品where 產品名稱='德國乳酪'))
declare @c int
select @c=@a*@b
select @c as 總金額
--19. 求所有訂購單的平均金額,在查詢結果中列出訂購單的個數和平均金額。
select 訂單均值= avg(單價*數量) ,訂單個數=count ( 訂單號)
from 訂單明細,產品
where 產品.產品號=訂單明細.產品號
--20. 求每個訂購單訂購的項目數和總金額。
select 訂單號, count (產品.產品號) as 項目數,sum(數量*單價) as 總金額
from 產品,訂單明細
where (產品.產品號=訂單明細.產品號)
group by 訂單號
--21.求每個客戶包含了德國乳酪訂購的訂單號及其最高金額和最低金額
select 客戶.客戶號,產品.產品號,數量*單價as 總金額
from 客戶,訂單,訂單明細,產品
where 客戶.客戶號=訂單.客戶號and 訂單.訂單號=訂單明細.訂單號and 訂單明細.產品號=產品.產品號and
產品名稱='德國乳酪'
order by 客戶號
compute max(數量*單價),min (數量*單價) by 客戶號
--22.求至少有兩個訂購項目的訂購單的平均金額
select 訂單號,avg(數量*單價),count(產品.產品號)
from 訂單明細,產品
where 訂單明細.產品號=產品.產品號
group by 訂單號
having count(產品.產品號)>=2
--23.找出尚未最後確定訂購單(即訂購日期為空值的記錄)的有關客戶信息
-- (客戶的名稱、聯系人和電話號碼)和訂單號
select 客戶名稱,聯系人,電話,訂單明細.訂單號
from 客戶, 訂單明細,訂單
where(客戶.客戶號= 訂單.客戶號) and 訂購日期=null
--24.找出在年月日之後簽訂的訂購單的客戶信息
--(客戶的名稱、聯系人和電話號碼)、訂單號和訂購日期
select 客戶名稱,聯系人,電話,訂單號,訂購日期
from 客戶,訂單
where 客戶.客戶號=訂單.客戶號
and year(訂購日期)>1996 and month(訂購日期)>4 and day(訂購日期)>2
--25.列出每類產品(相同名稱)具有最高單價的產品信息
--(產品號、名稱、規格說明和單價,提示:使用內外層互相關嵌套查詢)
select A.產品號, A.產品名稱, A.規格說明, A.單價
from 產品A
where 單價= (SELECT MAX(單價)
FROM 產品B
WHERE A.規格說明= B.規格說明)
--26.確定哪些客戶目前沒有訂購單(使用謂詞NOT EXISTS)
select *
from 客戶
where not exists (select* from 訂單where 客戶號=訂單.客戶號)
--27.查詢目前有訂購單的客戶的信息(使用謂詞EXISTS)
select *
from 客戶
where exists (select* from 訂單where 客戶號=訂單.客戶號)
--28.查詢符合條件的產品信息,要求該產品的單價達到了任
--意一款產品名稱為牛奶的單價的一半(使用ANY或SOME量詞)
select *
from 產品a
where(單價>any(select 單價/2 from 產品b where b.產品名稱='牛奶'))
--29.查詢符合條件的產品信息,要求該產品的單價大於任何
-- 一款產品名稱為牛奶的單價(使用ALL量詞)
select *
from 產品a
where(單價>all(select 單價from 產品b where b.產品名稱='牛奶'))
--30.設計如下的連接操作,並分析各自的特點:
-- •廣義笛卡兒積
SELECT *
FROM 客戶CROSS JOIN 訂購單
WHERE 客戶.客戶號= 訂購單.客戶號
-- •內連接
SELECT *
FROM 客戶INNER JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •外連接
-- •左連接
SELECT *
FROM 客戶LEFT JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •右連接
SELECT *
FROM 客戶RIGHT JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
-- •全連接
SELECT *
FROM 客戶FULL JOIN 訂購單
ON 客戶.客戶號= 訂購單.客戶號
說明:
1. 上機報告上傳到211.68.36.251的資料庫文件夾中的上傳目錄
2. 文件名的命名規則為:學號+姓名+實驗+序號。如:9724101汪偉的第二次上機報告名為:9724101汪偉實驗2
3. 封面由學生填寫;
4. 正文的實驗名稱、實驗目的、實驗內容、實驗要求已經由教師指定;
5. 實驗准備由學生在實驗或上機之前填寫;
6. 實驗過程由學生記錄實驗的過程,包括操作過程、遇到哪些問題以及如何解決等;
7. 實驗總結由學生在實驗後填寫,總結本次實驗的收獲、未解決的問題以及體會和建議等;
8. 將相關的語句粘貼到附錄中。
你自己改改吧。想要word原版的話再說一聲。