sql datetime字段 取年月日_【数据治理】【习题】SQL进阶运用

  • Mysql数据库的环境搭建及安装是数据库操作的基础条件,完成以下相关问题(10分):

  • Windows如何配置Mysql的环境变量请分别写明配置步骤(3分)

(注:假定Windows的Mysql安装目录为E:\mysql-5.6\)

  1. 配置Mysql配置文件是Mysql数据库安装后的一项步骤,请写出下列配置项的含义(3分):
    1)max_connections=200
    2)max_connect_errors=10
    3)character-set-server=utf8

  2. 请写出数据库安装完成后修改root用户名密码的SQL语句,以及授权root用户可远程连接数据库的权限的SQL语句(4分)

  • 创建表操作是数据库的基本操作,请按要求写出SQL(10分):

  • 写出查看当前数据库的所有database的语句,并写出查询创建database retail_db的语句(2分)

  • 写出进入databse retail_db的语句(1分)

  • 按如下要求创建一张员工表,表名为emp(7分):

字段名

类型

长度

约束

ID

INT

11

主键,非空,自增长

EMP_NAME

STRING

50

SEX

STRING

2

非空

BIRTH_DAY

DATE

年月日

SALARY

DOUBLE

ENTRY_DATE

DATE

年月日时分秒

DEPARTMENT_ID

INT

11

要求建立外键约束,关联到DEPARTMENT表的ID字段

  • 对表结构的修改也是比较常用的DDL操作,请按要求写出对表的操作SQL(5分):

  • 将题目二中创建的emp表SALARY字段改为float类型(1分)。

  • 添加一个字段JOB,类型为STRING,长度255(1分)。

  • 将JOB字段重命名为WORK_STATION(1分)。

  • 删除WORK_STATION字段(1分)。

  • 将emp表重命名为employees(1分)。

  • 插入修改等操作是常用的DML操作,请按照要求写出对应SQL(10分):

  • 向题目二中创建的表插入三条数据,要求一条语句插入三条数据,所有字段都需要填写相应值(2分)。

  • 修改SALARY高于平均工资两倍的员工的SALARY,使SALARY降低1000(4分)。

  • 向employees_bak表中插入employees表中SALARY大于5000的所有数据,employees_bak表的字段和employees完全相同是其备份表(4分)

  • 查询是数据库查询操作中常见的操作,请按照要求写出对应SQL(10分):

  • 查询employees表中BIRTH_DAY在1990-1-1到1990-12-31之间,性别不等于1(男),SALARY不为空的所有员工,结果以SALARY排序,取第2条数据开始的10条数据(5分)。

  • 在练习数据库retail_db中,有三张表customers、orders、order_items,用内联接的两种方式写出联接表查询SQL,要求最终结果集显示客户的first name,所在城市,所在州的代码,客户的订单状态,订单下单时间,订单项单价,订单项小计,这几个字段;表的字段和样例数据如下图5.2.1-5.2.6(5分)。

8865ca7d36c41753ab2e9afcec6e1763.png

图5.2.1 customers表结构

346dc5839f0d06e5db68069af996c9de.png

图5.2.2 customers表样例数据

9902c01632f1efba312057bca8851403.png

图5.2.3 orders表结构

105bbd82a857328ecdcaec67eaf91408.png

图5.2.4 orders表样例数据

d5c29ea9cc54fbd2ec1b1215088a2ace.png

图5.2.5 order_items表结构

fda48e9013593cb4633b4b27c221734f.png

图5.2.6 order_items表样例数据

  • 在实际查询数据库时,可能会使用到较为复杂的SQL语句进行数据查询,请按要求写出对应的复杂SQL语句(15分)

  • 在练习数据库retail_db中,有两张表customers、orders,联接两张表,查询出顾客姓名的全称取别名为FULL_NAME,客户的城市和街道的全称组成的详细地址(城市和街道中间用空格隔开)取别名为ADDRESS,客户订单状态。要求除去订单状态为CLOSED的订单,并且订单状态忽略大小写,无论是closed还是CLOSED都去除,表结构和样例数据参考图5.2.1、图5.2.2、图5.2.3、图5.2.4(5分)。

  • 在1小题的基础上要求加上字段客户下单天数ORDER_DAYS,该字段为客户下单时间与当前时间之间的相差的天数(5分)。

  • 在练习数据库retail_db中,有三张表departments、categories、products三张表,请联接三张表,并按照部门名称、category名称分组统计其product的单价的平均价格以及产品总价,结果集要求展示部门名称,category名称、平均价格,总价;按照总价排序为降序,同时剔除总价在1500以下的数据,表结构和样例数据参考图6.3.1-6.3.6(5分)。

9a88a641da556d0b40c2950c235b631a.png

图6.3.1 departments表结构

69bd5eec7bc88e9cd46b2cbc2300a9b3.png

图6.3.2 departments表样例数据

36b48b495e088dd7d87ea158611bf825.png

图6.3.3 categories表结构

9a4d365da95c7c9645ce0b710dc67223.png

图6.3.4 categories表样例数据

d453ce8ac772baaca0b35f1925f5e627.png

图6.3.5 products表结构

b7121e6d6fd9420f579edc3b5a0a550b.png

图6.3.6 products表样例数据

  • 数据库中使用正则表达式也是很常见的操作,请按要求写出含正则表达式的SQL(15分):

  • 请写出匹配身份证号的正则表达式以及SQL语句,假定大题二中的employees表中新增了一个字段身份证号ID_NUMBERS(5分)。

  • 请写出匹配邮箱的正则表达式以及SQL语句,要求前4位必须是英文,首字母大写,第五位必须为”_”,6-9位为字母,第6位大写,后三位10-12位为数字,同时符合邮箱格式,假定大题二中的employees表中新增了一个字段邮箱EMAIL(5分)。

  • 在上面两小题基础上,验证用户密码是否符合要求,假定大题二中的employees表中新增了一个字段密码PWD;密码的规范是符合自己的邮箱前9位加上“#”加上身份证后四位,查询出身份证号、邮箱、密码都符合要求的数据(5分)。

  • 数据库综合运用,请按要求写出下列SQL(15分):

  • 创建一张young_employees表,表结构和employees相同,同时插入年龄20岁以下的employees的数据到young_employees中(5分)。

  • 匹配employees中的姓名是汉字,同时身份证符合要求的数据,查询EMP_NAME,BIRTH_DAY,ID_NUMBERS,SALARY。显示时如果EMP_NAME为null则统一显示为’新员工’(5分)。

  • 将练习数据库retail_db中的6张业务数据表连接到一起,全部用内连接连接起来,并且,显示字段为除了各项ID以外的其他所有字段,按照customers表中的customer_state字段排升序,取前20条数据,表结构和表样例数据参考图5.2.1-5.2.6以及图6.3.1-6.3.6(5分)。

  • Hadoop的hdfs是一个分布式文件系统,请按照要求写出下列命令或解释命令用途(10分):

  • hadoop fs -ls /home/test.txt 请完整解释该命令的效果(2分)。

  • hadoop fs -mv /home/test.txt /home/exam/请完整解释该命令效果(2分)。

  • hadoop fs -rm -r /home/exam/  请完整解释该命令效果(2分)。

  • 请写出hadoop命令,将本地/home目录下的test.txt文件上传到hdfs下的/home/exam/目录下(2分)。

  • 请写出hdfs命令,将本地当前目录下的test.txt文件复制到hdfs下的/home/exam/目录下(2分)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值