zoukankan      html  css  js  c++  java
  • MySQL数据库操作

    1

    1、创建数据表

    1 CREATE TABLE guest(
    2     Accounts  VARCHAR(20)  NOT  NULL,
    3     Details  VARCHAR(20)  NOT  NULL,
    4     Date  VARCHAR(20)  NOT  NULL,
    5     Money  DECIMAL(8,2),
    6     Class  SMALLINT  UNSIGNED
    7     );
    创建数据表

    2、向数据表中插入数据

     1 INSERT  guest  VALUES("S001","房费","2010-01-01",280,001);
     2 INSERT  guest  VALUES("S001","酒水","2010-01-02",120,001);
     3 
     4 INSERT  guest  VALUES("S001","酒水","2010-01-08",300,003);
     5 
     6 INSERT  guest(Accounts,Details,Date,Money)  VALUES("S002","酒水","2010-01-29",50);
     7 
     8 INSERT  guest  VALUES("S004","房费","2010-02-01",230,001);
     9 
    10 INSERT  guest(Accounts,Details,Date,Money)  VALUES("S005","酒水","2010-02-01",100);
    11 
    12 INSERT  guest  VALUES("S005","房费","2010-02-02",128,001);
    向数据表中插入数据

    那么问题来了,

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

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

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

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

    3、答案在这

     1 查出房费大于200的账号?
     2 
     3 SELECT Accounts,Details,Money FROM guest WHERE Details="房费" and Money>200;
     4 
     5 将消费不是房费的班次都改为001
     6 
     7 UPDATE guest SET Class=001 WHERE Details!="房费";
     8 
     9 查询出房费都大于100的账号(查询结果不能重复)
    10 
    11 SELECT Accounts,Details,Money FROM guest WHERE Details="房费" GROUP BY 1 HAVING Money>100;
    12 
    13 查出一月份每个账号酒水和房费总金额
    14 
    15 SELECT Accounts,SUM(Money) FROM guest WHERE Date<'2010-02-01' and Accounts='S001' GROUP BY 1;
    答案

     2

    ①创建两张表

    ②为两张表插入数据记录

    ③查询sutdent表的所有记录

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

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

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

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

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

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

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

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

      1 1.创建student和score表
      2 CREATE  TABLE  student (
      3 id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
      4 name  VARCHAR(20)  NOT NULL ,
      5 sex  VARCHAR(4)  ,
      6 birth  YEAR,
      7 department  VARCHAR(20) ,
      8 address  VARCHAR(50) 
      9 );
     10 创建score表。SQL代码如下:
     11 CREATE  TABLE  score (
     12 id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
     13 stu_id  INT(10)  NOT NULL ,
     14 c_name  VARCHAR(20) ,
     15 grade  INT(10)
     16 );
     17 2.为student表和score表增加记录
     18 向student表插入记录的INSERT语句如下:
     19 INSERT INTO student VALUES( 901,'张老大', '',1985,'计算机系', '北京市海淀区');
     20 INSERT INTO student VALUES( 902,'张老二', '',1986,'中文系', '北京市昌平区');
     21 INSERT INTO student VALUES( 903,'张三', '',1990,'中文系', '湖南省永州市');
     22 INSERT INTO student VALUES( 904,'李四', '',1990,'英语系', '辽宁省阜新市');
     23 INSERT INTO student VALUES( 905,'王五', '',1991,'英语系', '福建省厦门市');
     24 INSERT INTO student VALUES( 906,'王六', '',1988,'计算机系', '湖南省衡阳市');
     25 向score表插入记录的INSERT语句如下:
     26 INSERT INTO score VALUES(NULL,901, '计算机',98);
     27 INSERT INTO score VALUES(NULL,901, '英语', 80);
     28 INSERT INTO score VALUES(NULL,902, '计算机',65);
     29 INSERT INTO score VALUES(NULL,902, '中文',88);
     30 INSERT INTO score VALUES(NULL,903, '中文',95);
     31 INSERT INTO score VALUES(NULL,904, '计算机',70);
     32 INSERT INTO score VALUES(NULL,904, '英语',92);
     33 INSERT INTO score VALUES(NULL,905, '英语',94);
     34 INSERT INTO score VALUES(NULL,906, '计算机',90);
     35 INSERT INTO score VALUES(NULL,906, '英语',85);
     36  
     37 3.查询student表的所有记录
     38 mysql> SELECT * FROM student;
     39 +-----+--------+------+-------+------------+--------------+
     40 | id  | name   | sex  | birth | department | address      |
     41 +-----+--------+------+-------+------------+--------------+
     42 | 901 | 张老大 ||  1985 | 计算机系   | 北京市海淀区 |
     43 | 902 | 张老二 ||  1986 | 中文系     | 北京市昌平区 |
     44 | 903 | 张三   ||  1990 | 中文系     | 湖南省永州市 |
     45 | 904 | 李四   ||  1990 | 英语系     | 辽宁省阜新市 |
     46 | 905 | 王五   ||  1991 | 英语系     | 福建省厦门市 |
     47 | 906 | 王六   ||  1988 | 计算机系   | 湖南省衡阳市 |
     48 +-----+--------+------+-------+------------+--------------+
     49  
     50 4.查询student表的第2条到4条记录
     51 mysql> SELECT * FROM student LIMIT 1,3;
     52 +-----+--------+------+-------+------------+--------------+
     53 | id  | name   | sex  | birth | department | address      |
     54 +-----+--------+------+-------+------------+--------------+
     55 | 902 | 张老二 ||  1986 | 中文系     | 北京市昌平区 |
     56 | 903 | 张三   ||  1990 | 中文系     | 湖南省永州市 |
     57 | 904 | 李四   ||  1990 | 英语系     | 辽宁省阜新市 |
     58 +-----+--------+------+-------+------------+--------------+
     59  
     60 5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
     61 mysql> SELECT id,name,department FROM student;
     62 +-----+--------+------------+
     63 | id  | name   | department |
     64 +-----+--------+------------+
     65 | 901 | 张老大 | 计算机系   |
     66 | 902 | 张老二 | 中文系     |
     67 | 903 | 张三   | 中文系     |
     68 | 904 | 李四   | 英语系     |
     69 | 905 | 王五   | 英语系     |
     70 | 906 | 王六   | 计算机系   |
     71 +-----+--------+------------+
     72  
     73 6.从student表中查询计算机系和英语系的学生的信息
     74 mysql> SELECT * FROM student WHERE department IN ('计算机系','英语系');
     75 +-----+--------+------+-------+------------+--------------+
     76 | id  | name   | sex  | birth | department | address      |
     77 +-----+--------+------+-------+------------+--------------+
     78 | 901 | 张老大 ||  1985 | 计算机系   | 北京市海淀区 |
     79 | 904 | 李四   ||  1990 | 英语系     | 辽宁省阜新市 |
     80 | 905 | 王五   ||  1991 | 英语系     | 福建省厦门市 |
     81 | 906 | 王六   ||  1988 | 计算机系   | 湖南省衡阳市 |
     82 +-----+--------+------+-------+------------+--------------+
     83  
     84 7.从student表中查询年龄18~22岁的学生信息
     85 mysql> SELECT id,name,sex,2013-birth AS age,department,address
     86     -> FROM student
     87     -> WHERE 2013-birth BETWEEN  18 AND 22;
     88 +-----+------+------+------+------------+--------------+
     89 | id  | name | sex  | age  | department | address      |
     90 +-----+------+------+------+------------+--------------+
     91 | 905 | 王五 ||   22 | 英语系     | 福建省厦门市 |
     92 +-----+------+------+------+------------+--------------+
     93 mysql> SELECT id,name,sex,2013-birth AS age,department,address
     94     -> FROM student
     95     -> WHERE 2013-birth>=18 AND 2013-birth<=22;
     96 +-----+------+------+------+------------+--------------+
     97 | id  | name | sex  | age  | department | address      |
     98 +-----+------+------+------+------------+--------------+
     99 | 905 | 王五 ||   22 | 英语系     | 福建省厦门市 |
    100 +-----+------+------+------+------------+--------------+
    101  
    102 8.从student表中查询每个院系有多少人 
    103 mysql> SELECT department, COUNT(id) FROM student GROUP BY department;
    104 +------------+-----------+
    105 | department | COUNT(id) |
    106 +------------+-----------+
    107 | 计算机系   |         2 |
    108 | 英语系     |         2 |
    109 | 中文系     |         2 |
    110 +------------+-----------+
    111 9.从score表中查询每个科目的最高分
    112 mysql> SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
    113 +--------+------------+
    114 | c_name | MAX(grade) |
    115 +--------+------------+
    116 | 计算机 |         98 |
    117 | 英语   |         94 |
    118 | 中文   |         95 |
    119 +--------+------------+
    120  
    121 10.查询李四的考试科目(c_name)和考试成绩(grade)
    122 mysql> SELECT c_name, grade
    123     ->      FROM score WHERE stu_id=
    124     ->  (SELECT id FROM student
    125     ->    WHERE name= '李四' );
    126 +--------+-------+
    127 | c_name | grade |
    128 +--------+-------+
    129 | 计算机 |    70 |
    130 | 英语   |    92 |
    131 +--------+-------+
    答案
  • 相关阅读:
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:显示在 <abbr> 元素中的文本以小号字体展示,且可以将小写字母转换为大写字母
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定单词首字母大写
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定大写文本
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本小写
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:段落中超出屏幕部分不换行
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本对齐,段落中超出屏幕部分文字自动换行
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本右对齐
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本居中对齐
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本左对齐
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定小文本
  • 原文地址:https://www.cnblogs.com/zhangjianghua/p/5785551.html
Copyright © 2011-2022 走看看