当前位置:网站首页>常用SQL语句(完整范例)
常用SQL语句(完整范例)
2022-07-02 15:00:00 【游戏编程】
本文基于学校的班级、学生、学科、成绩等场景,实践SQL语句的使用
创建表
- 创建班级表
CREATE TABLE class(class_id INT auto_increment PRIMARY key,class_name VARCHAR(10));alter table class AUTO_INCREMENT =1;
- 创建学生表
CREATE TABLE student(stu_id INT AUTO_INCREMENT PRIMARY KEY,stu_name VARCHAR(10),stu_sex VARCHAR(1),stu_age INT,class_id INT,foreign key(class_id) references class(class_id));alter table student AUTO_INCREMENT =1;
- 创建科目表
CREATE TABLE course(course_id INT auto_increment PRIMARY key,course_name VARCHAR(10));alter table course AUTO_INCREMENT =1;
- 创建成绩表
drop table score;CREATE TABLE score(id INT auto_increment PRIMARY key,stu_id INT,course_id INT,mark DECIMAL(3,1),foreign key(stu_id) references student(stu_id),foreign key(course_id) references course(course_id));alter table score AUTO_INCREMENT =1;desc score;
向表里插入数据
操作表为class表
insert into class values(NULL, '一二')insert into class (`class_id`,`class_name`) values (NULL, '一3')insert into class (`class_name`) values ('一4')
存储过程的使用:批量插入数据
- 创建存储过程
CREATE PROCEDURE search_sex ( #search_user_name为存储过程的名字 IN search_sex VARCHAR (20), #传入的参数 OUT count_number INT #返回的参数) READS SQL DATA #程序中包含读数据的语句BEGIN SELECT COUNT(*) INTO count_number FROM student WHERE stu_sex LIKE CONCAT('%', search_sex, '%');END
- 调用存储过程
CALL search_sex('女', @nameCount);SELECT @nameCount;
- 使用存储过程向学生表里插入大量数据
#创建存储过程创建大量数据drop PROCEDURE if EXISTS insert_students;CREATE PROCEDURE insert_students(IN loop_times INT,IN stu_name CHAR,IN stu_sex CHAR,IN stu_age INT,IN class_id INT)BEGIN DECLARE var INT DEFAULT 0; WHILE var < loop_times DO INSERT INTO student VALUES (NULL,concat(stu_name,CONVERT(var,CHAR)),stu_sex,stu_age,class_id); SET var = var + 1; END WHILE;ENDCALL insert_students(10,'钱','男',16,4);
查找语句
- 查找所有成绩都大于95分的同学姓名
SELECT student.stu_name FROM score,studentwhere score.mark>95and student.stu_id=score.stu_idGROUP BY score.stu_idhaving count(*)>1
- 查询平均分大于90分的同学名单
SELECT score.stu_id,student.stu_name,AVG(score.mark)FROM score,student where student.stu_id=score.stu_idGROUP BY score.stu_id HAVING AVG(score.mark)>90
- 查出平均分最高的同学 (如果最高有两个呢??)
SELECT score.stu_id,student.stu_name,AVG(score.mark)FROM score,student where student.stu_id=score.stu_idGROUP BY score.stu_idORDER BY AVG(score.mark) desc LIMIT 1
作者:测试进阶
游戏编程,一个游戏开发收藏夹~
如果图片长时间未显示,请使用Chrome内核浏览器。
边栏推荐
- OpenHarmony如何启动FA(本地和远程)
- Helm kubernetes package management tool
- Microservice architecture practice: Construction of highly available distributed file system fastdfs architecture
- Sword finger offer 25 Merge two sorted linked lists
- Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
- visibilitychange – 指定标签页可见时,刷新页面数据
- uniapp H5页面调用微信支付
- Dstat use [easy to understand]
- TCP congestion control details | 2 background
- Changwan group rushed to Hong Kong stocks: the annual revenue was 289million, and Liu Hui had 53.46% voting rights
猜你喜欢
[shutter] dart data type (dynamic data type)
The construction of scalable distributed database cluster and the partition design of oneproxy sub database
Baobab's gem IPO was terminated: Tang Guangyu once planned to raise 1.8 billion to control 47% of the equity
Geoserver: publishing PostGIS data sources
Linux Installation PostgreSQL + Patroni cluster problem
Interpretation of key parameters in MOSFET device manual
The difference of message mechanism between MFC and QT
[leetcode] 14. Préfixe public le plus long
Does digicert SSL certificate support Chinese domain name application?
Sword finger offer 21 Adjust the array order so that odd numbers precede even numbers
随机推荐
社交元宇宙平台Soul冲刺港股:年营收12.8亿 腾讯是股东
JS20 数组扁平化
线性规划例题 投资的收益与风险
ceph 原理
Microservice architecture practice: Construction of scalable distributed database cluster
The poor family once again gave birth to a noble son: Jiangxi poor county got the provincial number one, what did you do right?
AP and F107 data sources and processing
剑指 Offer 25. 合并两个排序的链表
helm kubernetes包管理工具
Win10 system uses pip to install juypter notebook process record (installed on a disk other than the system disk)
class和getClass()的区别
【Leetcode】13. Roman numeral to integer
visibilitychange – 指定标签页可见时,刷新页面数据
Shutter: action feedback
选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由
Sword finger offer 22 The penultimate node in the linked list
Configure lamp+supervisor
si446使用记录(二):使用WDS3生成头文件
如何给 SAP Spartacus Storefront 创建新的页面
How to quickly distinguish controlled components from uncontrolled components?