1、创建数据表

 CREATE TABLE guest(
    Accounts  VARCHAR(20)  NOT NULL,
    Details  VARCHAR(20)  NOT NULL,
    Date  VARCHAR(20)  NOT NULL,
    Money  DECIMAL(8,2),
    Class  SMALLINT  UNSIGNED
    );

创建数据表

2、向数据表中插入数据

 INSERT  guest  VALUES("S001","房费","2010-01-01",280,001);
INSERT guest VALUES("S001","酒水","2010-01-02",120,001); INSERT guest VALUES("S001","酒水","2010-01-08",300,003); INSERT guest(Accounts,Details,Date,Money) VALUES("S002","酒水","2010-01-29",50); INSERT guest VALUES("S004","房费","2010-02-01",230,001); INSERT guest(Accounts,Details,Date,Money) VALUES("S005","酒水","2010-02-01",100); INSERT guest VALUES("S005","房费","2010-02-02",128,001);

向数据表中插入数据

那么问题来了,

①查出房费大于200的账号?

②将消费不是房费的班次都改为001

③查询出房费都大于100的账号(查询结果不能重复)

④查出1月份每个账号酒水和房费总金额

3、答案在这

 查出房费大于200的账号?

 SELECT Accounts,Details,Money FROM guest WHERE Details="房费" and Money>200;

 将消费不是房费的班次都改为001

 UPDATE guest SET Class=001 WHERE Details!="房费";

 查询出房费都大于100的账号(查询结果不能重复)

 SELECT Accounts,Details,Money FROM guest WHERE Details="房费" GROUP BY 1 HAVING Money>100;

 查出一月份每个账号酒水和房费总金额

 SELECT Accounts,SUM(Money) FROM guest WHERE Date<'2010-02-01' and Accounts='S001' GROUP BY 1;

答案

①创建两张表

②为两张表插入数据记录

③查询sutdent表的所有记录

④查询sutdent表的第2条到第4条记录

⑤从sutdent表查询所有学生的学号(id)、姓名(name)、和院系(department)的信息

⑥从sutdent表中查询计算机系和英语系的学生的信息

⑦从sutdent表中查询年龄在18-22岁的学生信息

⑧从sutdent表中查询每个院系有多少人

⑨从score表中查询每个科目的最高分

⑩查询李四的考试科目(c_name)和考试成绩(grade)

-------------------------参考答案---------------------

 1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR(20) NOT NULL ,
sex VARCHAR(4) ,
birth YEAR,
department VARCHAR(20) ,
address VARCHAR(50)
);
创建score表。SQL代码如下:
CREATE TABLE score (
id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,
stu_id INT(10) NOT NULL ,
c_name VARCHAR(20) ,
grade INT(10)
);
2.为student表和score表增加记录
向student表插入记录的INSERT语句如下:
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
向score表插入记录的INSERT语句如下:
INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85); 3.查询student表的所有记录
mysql> SELECT * FROM student;
+-----+--------+------+-------+------------+--------------+
| id | name | sex | birth | department | address |
+-----+--------+------+-------+------------+--------------+
| 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
| 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
| 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
| 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
| 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
| 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
+-----+--------+------+-------+------------+--------------+ 4.查询student表的第2条到4条记录
mysql> SELECT * FROM student LIMIT 1,3;
+-----+--------+------+-------+------------+--------------+
| id | name | sex | birth | department | address |
+-----+--------+------+-------+------------+--------------+
| 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
| 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
| 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
+-----+--------+------+-------+------------+--------------+ 5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
mysql> SELECT id,name,department FROM student;
+-----+--------+------------+
| id | name | department |
+-----+--------+------------+
| 901 | 张老大 | 计算机系 |
| 902 | 张老二 | 中文系 |
| 903 | 张三 | 中文系 |
| 904 | 李四 | 英语系 |
| 905 | 王五 | 英语系 |
| 906 | 王六 | 计算机系 |
+-----+--------+------------+ 6.从student表中查询计算机系和英语系的学生的信息
mysql> SELECT * FROM student WHERE department IN ('计算机系','英语系');
+-----+--------+------+-------+------------+--------------+
| id | name | sex | birth | department | address |
+-----+--------+------+-------+------------+--------------+
| 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
| 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
| 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
| 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
+-----+--------+------+-------+------------+--------------+ 7.从student表中查询年龄18~22岁的学生信息
mysql> SELECT id,name,sex,2013-birth AS age,department,address
-> FROM student
-> WHERE 2013-birth BETWEEN 18 AND 22;
+-----+------+------+------+------------+--------------+
| id | name | sex | age | department | address |
+-----+------+------+------+------------+--------------+
| 905 | 王五 | 女 | 22 | 英语系 | 福建省厦门市 |
+-----+------+------+------+------------+--------------+
mysql> SELECT id,name,sex,2013-birth AS age,department,address
-> FROM student
-> WHERE 2013-birth>=18 AND 2013-birth<=22;
+-----+------+------+------+------------+--------------+
| id | name | sex | age | department | address |
+-----+------+------+------+------------+--------------+
| 905 | 王五 | 女 | 22 | 英语系 | 福建省厦门市 |
+-----+------+------+------+------------+--------------+ 8.从student表中查询每个院系有多少人
mysql> SELECT department, COUNT(id) FROM student GROUP BY department;
+------------+-----------+
| department | COUNT(id) |
+------------+-----------+
| 计算机系 | 2 |
| 英语系 | 2 |
| 中文系 | 2 |
+------------+-----------+
9.从score表中查询每个科目的最高分
mysql> SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
+--------+------------+
| c_name | MAX(grade) |
+--------+------------+
| 计算机 | 98 |
| 英语 | 94 |
| 中文 | 95 |
+--------+------------+ 10.查询李四的考试科目(c_name)和考试成绩(grade)
mysql> SELECT c_name, grade
-> FROM score WHERE stu_id=
-> (SELECT id FROM student
-> WHERE name= '李四' );
+--------+-------+
| c_name | grade |
+--------+-------+
| 计算机 | 70 |
| 英语 | 92 |
+--------+-------+

答案

MySQL数据库小实验的更多相关文章

  1. JAVA程序对MYSQL数据库加锁实验

    什么是脏读,不可重复读,幻读 1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据. 2. 不可重 ...

  2. mysql数据库小常识

    什么是数据库? 计算机处理和存储的一切信息都是数据. 计算机系统中一种用于存储数据的程序. 一种:计算机系统中有很多种能够存取数据的程序. 他们各有特长和长处,有自己的适用范围. 存取:能够保存数据避 ...

  3. MySQL数据库----------小知识点

    **********************补2016年5月23日的博客************************* MySQL数据库 常用数据类型: int                整数 ...

  4. mysql触发器小实验

    今天实验了一下mysql的触发器 mysql> use test; Database changed mysql> desc time; +-------+---------------- ...

  5. flask 链接mysql数据库 小坑

    #config.py MYSQL_NAME = 'root' MYSQL_PASSWORD = 'zyms90bdcs' MYSQL_HOST = 'xxxx' MYSQL_POST = ' MYSQ ...

  6. MySQL实验准备(二)--Python模拟数据(MySQL数据库)

    Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...

  7. 语言小知识-MySQL数据库引擎

    MySQL作为全世界广受欢迎的数据库,被用于很多中小型的项目中,但是你对 MySQL 数据库的存储引擎了解多少呢? 我们将逻辑表中的数据存储到数据库中,数据库又将我们表中的数据存储到物理设备中(如磁盘 ...

  8. 《mysql数据库备份小脚本》(转)

    vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...

  9. 《mysql数据库备份小脚本》

    vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...

随机推荐

  1. Sqoop2入门之导入关系型数据库数据到HDFS上(sqoop2-1.99.4版本)

    sqoop2-1.99.4和sqoop2-1.99.3版本操作略有不同:新版本中使用link代替了老版本的connection,其他使用类似. sqoop2-1.99.4环境搭建参见:Sqoop2环境 ...

  2. python 版本问题大全

    坑一 一下午的时间又让这个不是问题的问题给白白给浪费了,此片文章仅仅纪念一下浪费掉的宝贵时间 新式类与经典类问题 class qwe: def __init__(self, name): self.n ...

  3. 华为RH2285安装过程及经验总结

    安装测试 1.由于服务器为二手服务器,噪音相对较大,如果未经改造无法正常使用,当机器第一次运行的时候,我的血压一下升高不少. 第一步  服务器的远程端口和路由器连接在一起 第二步  设置服务器的bio ...

  4. Zepto源码

    // Zepto.js // (c) 2010-2016 Thomas Fuchs // Zepto.js may be freely distributed under the MIT licens ...

  5. PAT 1001. 害死人不偿命的(3n+1)猜想 (15)

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在1950年的世界 ...

  6. 并查集(HDOJ 1856)

    并查集   英文:Disjoint Set,即“不相交集合” 将编号分别为1…N的N个对象划分为不相交集合, 在每个集合中,选择其中某个元素代表所在集合. 常见两种操作: n       合并两个集合 ...

  7. 为窗体设置背景图片-UI界面编辑器(SkinStudio)教程

    1.1.   为窗体设置背景图片 在窗体的Background属性中选择图片设置为窗体背景图片

  8. DOS批量递归删除文件夹

    @echo off for /d /r E:\test01\ %%i in (test) do rd /s /q "%%i" pause

  9. LeetCode OJ 150. Evaluate Reverse Polish Notation

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  10. android Studio项目运行时报错“Could not identify launch activity: Default Activity not found”

    出现红色的小叉叉,有点蒙圈的感觉 其实只是因为AndroidManifest.xml里面没有设置运行初始的activity <activity android:name=".MainA ...