1. 程式人生 > >經典SQL學習筆記 (十)-學生資訊資料庫練習

經典SQL學習筆記 (十)-學生資訊資料庫練習

學生資訊資料庫

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;