Mysql简单入门
这两天比较懒,没有学习,这个是我问一个学java的小伙伴要的sql的总结资料,大体语句全在上面了,复制到博客上,以后忘记可以查看
#1命令行连接MySQL
msyql -u root -proot;
#2创建数据库
DATABASE `school`;
#3查看数据库列表
SHOW DATABASES;
#4选择数据库
USE `school`;
#5删除数据库
DROP DATABASE `school`;
#6创建表 学生表 (字段:学生编号 学生名)
CREATE TABLE IF NOT EXISTS student( studentId INT(4) PRIMARY KEY, studentName VARCHAR(20));
#7创建学生表 字段的约束及属性 主键 注释 字符集
CREATE TABLE IF NOT EXISTS student ( studentId INT(4) PRIMARY KEY, studentName VARCHAR(20)) COMMENT="学生表" DEFAULT CHARSET=utf8;
#8查看表
SHOW TABLES;
SELECT * FROM 表名;
#9删除表
DROP TABLE student;
#10修改表表名
ALTER TABLE new_student RENAME student;
#11修改表字段
ALTER TABLE student MODIFY studentname VARCHAR(10) NOT NULL;
ALTER TABLE 表名 CHANGE 旧字段名 新字段名[属性或约束];
#12添加表字段
ALTER TABLE student ADD newC INT(4);
#13删除字段
ALTER TABLE student DROP COLUMN newc;
#14添加主键
ALTER TABLE student ADD PRIMARY KEY `id`;
#15添加外键
ALTER TABLE student ADD CONSTRAINT g_s FOREIGN KEY (gradeId) REFERENCES `grade`(`gradeId`);
#16编写SQL语句实现从学生表提取姓名、手机号两列数据存储到通讯录表中
CREATE TABLE tongxunlu (SELECT studentname,phone, FROM student);
#17把成绩都降低10%后加5分,再查询及格成绩,并按照成绩从高到低排序
SELECT studentresult*0.9+5 FROM result WHERE studentresult*0.9+5>=60 ORDER BY studentresult*0.9+5 DESC;
#18查询所有年级编号为1的学员信息,按学号升序排序
#显示前4条记录
#每页4条,显示第2页,即从第5条记录开始显示4条数据
SELECT * FROM student WHERE gradeId = 1 ORDER BY studentNo LIMIT 4,4;
#19将学生表中学号为20000的学生的邮箱修改为stu20000@163.com,密码改为000
UPDATE student SET email='stu20000@163.com' WHERE studentNO = 20000;
#20将科目表中课时数大于200且年级编号为1的科目的课时减少10
UPDATE `subject` SET classhour=classhour-10 WHERE classHour>200 AND gradeId = 1;
#21将所有年级编号为1的学员姓名、性别、出生日期、手机号码信息保存到新表student_grade1中
CREATE TABLE student_grade1(SELECT studentName,sex,bornDate,phone FROM student);
#22查询2016年2月17日考试前5名的学员的学号和分数
SELECT studentNO,studentresult FROM result WHERE examdate = '2016-02-17' ORDER BY studentresult DESC LIMIT 5;
#23将所有女学生按年龄从大到小排序,从第2条记录开始显示6名女学生的姓名、年龄、出生日期、手机号信息
SELECT studentname,borndate,phone FROM student WHERE sex = '女' ORDER BY bornDate LIMIT 1,6;
#24查询参加2016年2月17日考试的所有学员的最高分、最低分、平均分
SELECT MAX(studentresult),MIN(studentresult),AVG(studentresult) FROM result WHERE examdate='2016-02-17';
#25编写SQL语句,查看年龄比“李斯文”小的学生,要求显示这些学生的信息
SELECT * FROM student WHERE bornDate < (SELECT borndate FROM student WHERE studentName = '李斯文');
#26查询参加最近一次Logic Java考试成绩的学生的最高分和最低分
SELECT MAX(studentResult),MIN(studentResult) FROM result WHERE examDate = (SELECT MAX(examdate) FROM result WHERE subjectno = (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava'));
#27查询“Logic Java”课程考试成绩为60分的学生名单
SELECT studentName FROM result,student WHERE result.`studentNo`=student.`studentNo` AND studentResult=60;
#28检查“Logic Java”课程最近一次考试成绩,#如果有 80分以上的成绩,显示分数排在前5名的学员学号和分数
SELECT studentResult FROM result WHERE EXISTS (SELECT studentNo FROM result WHERE studentResult>=80 AND examDate = (SELECT MAX(examDate) FROM result WHERE subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')) AND
subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')
) AND examDate = (SELECT MAX(examDate) FROM result WHERE subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')) AND
subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava') ORDER BY studentResult DESC LIMIT 5;
#29检查“Logic Java”课程最近一次考试成绩,#如果全部未通过考试(60分及格),认为本次考试偏难,计算的该次考试平均分加5分
SELECT AVG(studentResult)+5 FROM result WHERE NOT EXISTS (SELECT studentNo FROM result WHERE studentResult<60 AND examDate = (SELECT MAX(examDate) FROM result WHERE subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')) AND
subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')
) AND examDate = (SELECT MAX(examDate) FROM result WHERE subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava')) AND
subjectNo IN (SELECT subjectno FROM `subject` WHERE subjectName = 'logicjava');
#30根据课程编号分组,求每个小组平均分
SELECT AVG(studentResult) FROM result GROUP BY subjectNo;
#31根据课程编号分组,求每个小组平均分,由小到大排序
SELECT AVG(studentResult) FROM result GROUP BY subjectNo ORDER BY AVG(studentResult);
#32以年级,性别分组,求人数
SELECT COUNT(0) '人数' FROM student GROUP BY gradeId,sex;
#33求每个平均分数大于60的年级编号
SELECT gradeId FROM result,`subject` WHERE result.`subjectNo`=`subject`.`subjectNo` GROUP BY gradeId HAVING AVG(studentResult)>60;
#34查询学生成绩信息及个人信息显示
SELECT * FROM student JOIN result USING (studentNo);
#35查询u1所在的年级课程
SELECT sb.* FROM `subject` sb JOIN grade g USING (gradeid)
WHERE gradeName = 'u1';
Mysql简单入门的更多相关文章
- Sql与MySQL简单入门
作为过来人,给"新司机"一点建议:运维时需要搭建的生产环境,需尽量保持与测试环境一致:但搭建环境时,又苦于找不到合适的版本怎么办?不用怕,我是一个体贴的人,管杀也管埋(该链接为My ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
- [转]MySQL主从复制入门
1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的33 ...
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- 运维自动化之SALTSTACK简单入门
运维自动化之SaltStack简单入门 饱食终日而无所事事,是颓也,废也.但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣.故今日来缀一文以忏昨日之悔. Salt ...
- Java中Redis简单入门
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...
- MyBatis学习总结(一)简单入门案例
MyBatis学习总结(一)简单入门案例 主要内容:本文主要通过对数据库中的use表进行增删改查总结mybatis的环境搭建和基本入门使用 一.需要的jar包: 1.核心包 2.依赖包 3.jdbc数 ...
- MySQL 菜鸟入门“秘籍”
一.MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不 ...
- MySQL存储过程入门
MySQL存储过程入门 在本教程中,我们将逐步介绍如何使用CREATE PROCEDURE语句开发第一个MySQL存储过程. 另外,我们将向您展示如何从SQL语句调用存储过程. 编写第一个MySQL存 ...
随机推荐
- fjwc2019 D2T3 排序(堆)
#183. 「2019冬令营提高组」排序 贴一段ppt 考虑模拟出这个算法进行k轮(即外层的i循环到k)时的序列,之后再暴力模拟零散的步. 考虑这个算法在01序列上的表现,k轮后实际上就是将最开始的不 ...
- oracle 11g禁用和强制direct path read
一般在混合型环境中,大表在进行全表扫描或者走并行的时候一般会出现direct path read等待事件,如果在OLTP或者纯粹的DSS环境中,出现大量的direct path read直接路径读取, ...
- Linux系统更改默认Python版本
Linux 默认的Python版本为Python2.X,但是在很多时候我们需要使用Python3.X,那么我们需要更改Linux的默认Python版本,更改很简单,只需要两句话. sudo updat ...
- 20145204张亚军——web安全基础实践
web安全基础实践 实验后回答问题 1.SQL注入原理,如何防御 SQL注入:就是通过把SQL命令插入到"Web表单递交"或"输入域名"或"页面请求& ...
- linux 压缩工具
gzip gunzip zcat bzip2 bunzip2 bzcat xz unxz xzcat a: gzip 用法 # gzip file 压缩文件 不会保留源文件 直接生成 file.g ...
- App Store 审核指南
App Store 审核指南 https://developer.apple.com/app-store/review/guidelines/cn/ https://developer.apple.c ...
- 2018年11月22日 字典 E18灯翼平整度 D&G is SB
如果创建的东西需要增加修改的,则用list 如果不能修改就用元祖,如果需要修改这需要转成list 字典 字典的value是任意值 info= {"k1":'v1',"k2 ...
- log4j2的配置及使用
log4j2与log4j1的不同点(不完整): 前者配置文件格式多样性.log4j2的配置文件可以是xml,也可以是json. 在不修改web.xml的前提下,前者配置文件的命名可以为log4j2.x ...
- win7系统Oracle数据库本地备份
第一步:命令行登录 sqlplus sys/root@orcl as sysdba sqlplus 超级管理员/密码@数据对象 as sysdba 第二步:创建DIRECTORY create dir ...
- Python3 tkinter基础 Label pack 设置控件在窗体中的位置
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...