經典SQL學習筆記 (十)-學生資訊資料庫練習
阿新 • • 發佈:2019-02-06
學生資訊資料庫
1) 建立一張學生表,包含以下資訊,學號,姓名,年齡,性別,家庭住址,聯絡電話 ,其中id為主鍵,且設定自增長,姓名不能為空。
--------------------------------------------------------------------
2) 修改學生表的結構,新增一列資訊,學歷
3) 修改學生表的結構,刪除一列資訊,家庭住址
4) 向學生表新增如下資訊:
學號 姓名 年齡 性別 聯絡電話 學歷
1 A 22 男 122 小學
2 B 21 男 119 中學
3 C 23 男 110 高中
4 D 18 女 114 大學
--------------------------------------------------------------------
5) 修改學生表的資料,將電話號碼以11開頭的學員的學歷改為“大專”
6) 刪除學生表的資料,姓名以C開頭,性別為‘男'的記錄刪除
7) 查詢學生表的資料,將所有年齡小於22歲的,學歷為“大專”的,學生的姓名和學號顯示出來
8) 查詢學生表的資料,查詢所有資訊,列出前3條記錄
9) 查詢出所有學生的姓名,性別,年齡降序排列
10) 按照性別分組查詢所有的平均年齡
SQL實現
1) 建立一張學生表,包含以下資訊,學號,姓名,年齡,性別,家庭住址,聯絡電話 ,其中id為主鍵,且設定自增長,姓名不能為空。
/*
sporter表
*/
DROP TABLE IF EXISTS student;
CREATE TABLE student(
stuID Integer(20) NOT NULL auto_increment,
name varchar(20) NOT NULL,
age Integer(11),
sex char(4),
address varchar(30),
phoneNumber Integer(11),
PRIMARY KEY (stuID )
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--------------------------------------------------------------------
2) 修改學生表的結構,新增一列資訊,學歷
ALTER TABLE student ADD eduBackground varchar(30);
3) 修改學生表的結構,刪除一列資訊,家庭住址
ALTER TABLE student DROP address;
4) 向學生表新增如下資訊:
學號 姓名 年齡 性別 聯絡電話 學歷
1 A 22 男 122 小學
2 B 21 男 119 中學
3 C 23 男 110 高中
4 D 18 女 114 大學
INSERT INTO student VALUES(1,'A',22,'男',122,'小學'),
(2,'B',21,'男',119,'中學'),(3,'C',23,'男',110,'高中'),
(4,'D',18,'女',114,'大學');
--------------------------------------------------------------------
5) 修改學生表的資料,將電話號碼以11開頭的學員的學歷改為“大專”
UPDATE student SET eduBackground= '大專'WHERE phoneNumber LIKE '11%';
6) 刪除學生表的資料,姓名以C開頭,性別為'男'的記錄刪除
DELETE FROM student WHERE name LIKE 'C%' AND sex ='男';
7) 查詢學生表的資料,將所有年齡小於22歲的,學歷為“大專”的,學生的姓名和學號顯示出來
SELECT name,stuID
FROM student
WHERE age<22 AND eduBackground='大專';
8) 查詢學生表的資料,查詢所有資訊,列出前3條記錄
SELECT *
FROM student
LIMIT 3;
9) 查詢出所有學生的姓名,性別,年齡降序排列
SELECT name,sex,age
FROM student
ORDER BY age desc;
10) 按照性別分組查詢所有的平均年齡
SELECT sex, AVG(age)
FROM student
GROUP BY sex;