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存 ...
随机推荐
- 10分钟看懂!基于Zookeeper的分布式锁
实现分布式锁目前有三种流行方案,分别为基于数据库.Redis.Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开.我们来看下使用Zookeeper如何实现分布式锁. 什么是 ...
- Let's Chat ZOJ - 3961
ACM (ACMers' Chatting Messenger) is a famous instant messaging software developed by Marjar Technolo ...
- codevs——1003——电话连线
题目描述 Description 一个国家有n个城市.若干个城市之间有电话线连接,现在要增加m条电话线(电话线当然是双向的了),使得任意两个城市之间都直接或间接经过其他城市有电话线连接,你的程序应该能 ...
- modelform添加属性
暗暗啊
- Linux学习笔记之Linux运行脚本时 $'\r' 错误
1.Windows上操作 用notepad++编译器打开脚本,编辑->文档格式转换->转换为UNIX格式,然后保存. 重新上传.运行,问题解决 2.Linux上操作 用vi/vim命令打开 ...
- P4172 [WC2006]水管局长(LCT)
P4172 [WC2006]水管局长 LCT维护最小生成树,边权化点权.类似 P2387 [NOI2014]魔法森林(LCT) 离线存储询问,倒序处理,删边改加边. #include<iostr ...
- pagehelper调用mybatis报错java.lang.NoSuchMethodError:org.apache.ibatis.reflection.MetaObject.forObject
最近在升新的基础框架到spring cloud,启动时pagehelper报错,如下: java.lang.NoSuchMethodError:org.apache.ibatis.reflection ...
- 线性回归、Logistic回归、Softmax回归
线性回归(Linear Regression) 什么是回归? 给定一些数据,{(x1,y1),(x2,y2)…(xn,yn) },x的值来预测y的值,通常地,y的值是连续的就是回归问题,y的值是离散的 ...
- Django模版语言的复用 1. include标签--模版导入 2.inclusion_tag自定义标签--模版导入 3.母版
include标签--模版导入 ''' 前提:项目中,往往会出现多个页面拥有一个或几个相同的页面版块,或是一个页面多个页面版块是相同的 如何运用:可以将多个样式标签的集合进行封装,对外提供版块的名字( ...
- java利用poi解析excel文件
首先需要引入以下jar包 如果使用maven,需要添加两个依赖 <dependencies> <dependency> <groupId>org.apache.po ...