• mysq练习(二)


    Mysql练习(二)

    1、 delete,drop,truncate 的区别?

       可以参考这位的:  https://www.cnblogs.com/zhizhao/p/7825469.html

    2、 如何修改列名、删除行、删除列、新建列?

     # 修改表名
    alter table salary rename demo;

    #添加列
    alter table demo add column age int(5);

    #删除列
    alter table demo drop column age;

    #修改列类型
    alter table demo modify age varchar(20);

     

    3、

    CREATE TABLE `courses` (
      `student` varchar(50) DEFAULT NULL,
      `class` varchar(50) DEFAULT NULL
    ) ;
    ​
    INSERT INTO `courses` VALUES ('A', 'Math');
    INSERT INTO `courses` VALUES ('B', 'English');
    INSERT INTO `courses` VALUES ('C', 'Math');
    INSERT INTO `courses` VALUES ('D', 'Biology');
    INSERT INTO `courses` VALUES ('E', 'Math');
    INSERT INTO `courses` VALUES ('F', 'Computer');
    INSERT INTO `courses` VALUES ('G', 'Math');
    INSERT INTO `courses` VALUES ('H', 'Math');
    INSERT INTO `courses` VALUES ('I', 'Math');
    INSERT INTO `courses` VALUES ('A', 'Math');
    ​
    #查询所有超过或等于5名学生的课
    select class from courses GROUP BY class HAVING COUNT(class)>4


    4、
    CREATE TABLE salary (
        id INT (10) NOT NULL PRIMARY KEY,
        NAME VARCHAR (20) NULL,
        sex CHAR (1) NULL,
        salary INT (10) NULL
    );

    注意:有人说建表语句中字段应该 'id' 这样子写,但是这样写是错误的,如果你想这样写了那么你就必须完全按照下面的格式来写
    CREATE TABLE `salary` (
    `id` int(10) NOT NULL,
    `name` varchar(20) DEFAULT NULL,
    `sex` varchar(1) DEFAULT NULL,
    `salary` int(20) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    其中的 engin指的是数据库的存储引擎


    INSERT INTO `salary` VALUES (
    '1', 'A', 'f', '2500'); INSERT INTO `salary` VALUES ('2', 'B', 'm', '1500'); INSERT INTO `salary` VALUES ('3', 'C', 'f', '5500'); INSERT INTO `salary` VALUES ('4', 'D', 'm', '500');

    ​要求:交换所有的 f 和 m 值



    上面两个方式结果是一样的

    表连接
    先创建两张表,兵哥插入三行数据
    create table person(
     personId int(10),
     firstName VARCHAR(20),
     lastNamt VARCHAR(20)
    );
    
    insert into person values('1',"诸葛","");
    insert into person VALUES('2',"司马","");
    insert into person VALUES('3',"第五","轻柔");


    create table address(
     addressId int(10) not null primary key,
     personId  int(10),
     city VARCHAR(20),
     state VARCHAR(20)
    );
    insert into address VALUES('1','1',"蜀","蜀国");
    insert into address VALUES('2','2',"魏","魏国");
    insert into address VALUES('3','3'," "," ");

    编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State

     

    select a.*,b.firstName,b.lastName from address a ,person b where a.personId=b.personid;

    编写一个 SQL 查询,来删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。
    select * from email  GROUP BY Email ORDER BY  id ;
    
    
    
















  • 相关阅读:
    P4315 月下“毛景树”
    P1505 [国家集训队]旅游
    P3258 [JLOI2014]松鼠的新家
    P4116 Qtree3
    P2580 于是他错误的点名开始了
    P3038 [USACO11DEC]牧草种植Grass Planting
    P3128 [USACO15DEC]最大流Max Flow
    P2146 [NOI2015]软件包管理器
    P2590 [ZJOI2008]树的统计
    P3384 【模板】树链剖分
  • 原文地址:https://www.cnblogs.com/zhuguangzhe/p/10650613.html
Copyright © 2020-2023  润新知