Rumah pangkalan data tutorial mysql 数据库上机试验(三)

数据库上机试验(三)

Jun 07, 2016 pm 03:11 PM
kandungan pangkalan data hasil

这是第三次上机内容以及结果,本次的程序是基于第二次上机时候的建立好的表。所有完整代码在我空间的代码库中均存放,可以直接运行。 上机实验五 SELECT语句的使用(二) 一、实习目的 掌握SELECT语句的嵌套使用方法,能适用SQL Server对表作复杂查询。 二、

     这是第三次上机内容以及结果,本次的程序是基于第二次上机时候的建立好的表格。所有完整代码在我空间的代码库中均存放,可以直接运行。

     

上机实验五 SELECT语句的使用(二)

一、实习目的

掌握SELECT语句的嵌套使用方法,能适用SQL Server对表作复杂查询。

二、实习准备

1.复习SELECT语句较高级格式的使用。

2.了解集合函数在分组查询中的使用规则。

三、实验内容

使用嵌套查询和表的连接查询分别完成以下查询语句:

(1) 找出与李勇在同一个班级的学生信息。

(2) 找出所有与李勇有相同选修课的学生信息。

(3) 找出年龄介于学生李勇和25岁之间的学生信息。

(4) 找出选修了课程操作系统的学生学号和姓名。

(5) 找出所有没有选修1号课程的学生姓名。

(6) 找出选修了全部课程的学生姓名。

完成以下查询:

(1) 查询选修了3号课程的学生学号及其成绩,并按成绩的降序排列。

(2) 查询全体学生信息,要求查询结果按班级号升序,同一班级学生按年龄降序排列。

(3) 求每个课程号相应的选课人数。

(4) 查询选修了3门以上课程的学生学号。

 

四、实习报告内容

    1.写出上述操作的SQL语句。

2.使用存在量词[NOT] EXISTS的嵌套查询时,何时外层查询的WHERE条件为真,何时为假?

3.当既能用连接查询又能用嵌套查询时,应该选择哪种比较好?为什么?

 

上机实验六 SQL的存储操作

一、实习目的

掌握用交互式SQL语句对已建基本表进行存储操作:修改,删除,插入,加深对数据的完整性的理解。

二、实习准备

1.复习数据的完整性,在进行数据的修改、删除、插入时,要注意保证数据的一致性。

2.复习UPDATE、DELETE、INSERT语句与子查询的结合使用。

三、实习内容

完成以下查询语句:

(1) 对每个班,求学生的平均年龄,并把结果存入数据库。

(2) 将01311班的全体学生的成绩置零。

(3) 删除2001级计算机软件班全体学生的选课记录。

(4) 学生李勇已退学,从数据库中删除有关他的记录。

四、实习报告内容

1.写出上述操作的SQL语句。

2.DROP和DELETE命令的本质区别是什么?


运行代码:

/*************上机试验五************************/
/**找出与李勇在同一个班级的学生信息**/
SELECT Sno '学号',Sname '姓名',Ssex '性别',Sage '年龄',Clno '班级'
FROM Student 
WHERE Clno = 
(SELECT Clno 
FROM Student 
WHERE Sname = '李勇');

/**找出所有与李勇有相同选修课的学生信息**/
SELECT * 
FROM Student
 WHERE Sno IN 
(SELECT Sno
FROM Grade 
WHERE Cno IN
(SELECT Cno 
FROM Grade 
WHERE Sno IN
(SELECT Sno
FROM Student
 WHERE Sname='李勇')));
 
/**找出年龄介于学生李勇和25岁之间的学生信息**/
SELECT * 
FROM Student 
WHERE Sage BETWEEN 
(SELECT Sage 
FROM Student 
WHERE Sname = '李勇') AND 25;


/**找出所有没有选修1号课程的学生姓名**/
SELECT Sname '姓名' 
FROM Student 
WHERE Sno NOT IN
(SELECT Sno 
FROM Grade 
WHERE Cno = '1');

/**找出选修了全部课程的学生姓名**/
SELECT Sname
FROM Student
WHERE NOT EXISTS(SELECT *
         FROM Course
         WHERE NOT EXISTS (SELECT *
                   FROM Grade
                   WHERE Student.Sno=Grade.Sno and Course.Cno=Grade.Cno));
                   
 /**查询选修了3号课程的学生学号及其成绩,并按成绩的降序排列**/
 SELECT Sno '学号', Gmark '成绩' 
 FROM Grade 
 WHERE Cno = '3' ORDER BY Gmark DESC;


/**查询全体学生信息,要求查询结果按班级号升序,同一班级学生按年龄降序排列**/
SELECT * 
FROM Student
ORDER BY Clno,Sage DESC;


/**求每个课程号相应的选课人数**/
SELECT Cno '课程号',COUNT(*) '选课人数'
FROM Grade 
GROUP BY Cno;


/**查询选修了3门以上课程的学生学号**/
SELECT Sno 
FROM Grade 
GROUP BY Sno HAVING COUNT(*)>3;


/**********上机作业六***************/
/**对每个班,求学生的平均年龄,并把结果存入数据库**/
/*第一种方法建立新的数据库*/
DROP TABLE Savage;
CREATE TABLE Savage(
Clno Char(5) NOT NULL,
Avage Smallint
);
INSERT INTO Savage(Clno,Avage)
SELECT Clno,AVG(Sage)
FROM Student
GROUP BY Clno; 
/*第二种方法在Class表中新建一个属性列*/  /*一直出错误,错在哪了。。。*/
/*ALTER TABLE Class add Avage Smallint;
UPDATE Class 
SET Avage = AVG(Sage)
FROM Class,Student
GROUP BY Clno HAVING Student.Clno =Class.Clno;*/  

/**将01311班的全体学生的成绩置零**/
UPDATE Grade
SET Gmark=0
WHERE Sno IN
(SELECT Sno
FROM Student 
WHERE Clno = '01311');


/**删除2001级计算机软件班全体学生的选课记录**/
DELETE 
FROM Grade
WHERE Sno IN
(SELECT Sno 
FROM Student 
WHERE Clno = (
SELECT Clno 
FROM Class 
WHERE Speciality = '计算机软件' AND Inyear = '2001'));


/**学生李勇已退学,从数据库中删除有关他的记录**/
  /*受影响的表为Class Grade Student (新建的Savage 表先不考虑)*/
UPDATE Class
SET Number = Number-1
WHERE Clno = 
(SELECT Clno 
FROM Student
WHERE Sname = '李勇');
DELETE
FROM Grade
WHERE Sno = 
(SELECT Sno 
FROM Student 
WHERE Sname = '李勇');
DELETE
FROM Student
WHERE Sname = '李勇';

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Mar 27, 2024 pm 09:39 PM

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Apr 09, 2024 pm 12:36 PM

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Mar 27, 2024 pm 05:21 PM

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Analisis prinsip asas sistem pengurusan pangkalan data MySQL Analisis prinsip asas sistem pengurusan pangkalan data MySQL Mar 25, 2024 pm 12:42 PM

Analisis prinsip asas sistem pengurusan pangkalan data MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menggunakan bahasa pertanyaan berstruktur (SQL) untuk penyimpanan dan pengurusan data. Artikel ini akan memperkenalkan prinsip asas sistem pengurusan pangkalan data MySQL, termasuk penciptaan pangkalan data, reka bentuk jadual data, penambahan data, pemadaman, pengubahsuaian dan operasi lain, dan menyediakan contoh kod khusus. 1. Penciptaan Pangkalan Data Dalam MySQL, anda perlu mencipta contoh pangkalan data untuk menyimpan data. Kod berikut boleh mencipta fail bernama "my

See all articles