MySQL(作业练习)】的更多相关文章

200 ? "200px" : this.width)!important;} --> 介绍 作业也叫做事件调度,其实它也就是一个时间触发器:它可以定义某个时间点执行指定的数据库命令操作. 语法 CREATE [DEFINER = { user | CURRENT_USER }] ######定义创建人,默认创建事件的用户就是事件的定义人,必须具备super权限才能指定其他用户. EVENT ######创建事件 [IF NOT EXISTS] ######删除并判断是否有存在重…
转自:https://www.jb51.net/article/138569.htm 详细参考:https://www.cnblogs.com/qlqwjy/p/7954175.html(事件&任务调度) 详细参数:https://www.cnblogs.com/langtianya/p/5445528.html 实现方式: 第一种是利用Mysql本身实现,制定event定时任务,可以借助Navicat For Mysql或其他数据库开发工具去做:第二种实现方式是利用linux的定时任务,这个是…
创建作业事件 MONTH STARTS '2015-01-01 05:30:01' ON COMPLETION NOT PRESERVE ENABLE DO CALL sp_moveLoginRecord() 创建作业事件 CREATE EVENT if not exists e_test second on completion preserve do call test(); 查看event是否开启: show variables like '%sche%'; 将事件计划开启: ; 关闭事件…
day59 参考:http://www.cnblogs.com/wupeiqi/p/5748496.html 现有数据库 /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost Source Database : sqlexam Target Server Type : My…
1 官网下载,链接  https://www.mysql.com/downloads/ Download MySQL Community Server 默认为你选好了Mac OS X 平台 选择的是.dmg的.点击右侧的download进行下载. 跳转到另外一个界面,提示你需不需要注册,直接选择最下面的“No thanks,just take me to downloads!” 2  安装MySQL 安装完成后终端输入: $mysql -version -bash: mysql: command…
点击打开所使用到的数据库>>> 1.显示当前 MySQL 服务器的版本信息和登录信息. MySQL 系统信息函数 version() 用于返回当前 MySQL 的版本号,"show processlist" 用于显示 MySQL 运行时相关线程的运行状态,这些信息包括连接数.连接状态等,通过这些信息可以帮助使用者识别出有问题的查询语句等. 2.显示当前被 MySQL 服务器验证的用户和主机名组合. 显示当前被 MySQL 服务器验证的用户和主机名组合的 MySQL 信…
点击打开所使用到的数据库>>> 1.采用尽可能多的方式显示当前系统日期和时间. 下列 SQL 语句可以显示当前系统的日期和时间: curdate() 和 current_date() 显示当前系统日期. curtime() 和 current_time() 显示当前系统时间. current_timestamp().localtime().now() 和 sysdate() 函数显示当前系统日期和时间. 2.显示当前时间,要求时间格式为"4 位年 - 月 - 日 小时 : 分钟…
点击打开所使用到的数据库>>> 1.将所有客户的姓名与电话以"-"作为分隔符进行连接显示. 使用 concat(s1,s2,-) 函数将所有客户的姓名与电话以"-"作为分隔符进行连接显示: select concat(cName,'-',phone) 客户联系方式 from customer 2.显示所有客户的姓名和地址,但是需要将凡是含有"关山一路"的地址信息均显示为"关山大道". 先获得所有客户的地址信息…
点击打开所使用到的数据库>>> 1.添加一条商品记录.  商品编码  goodsCode 商品名 goodsName 种类 category 单价 unitPrice 02005 夏普 KC-Z380SW 空气净化器 生活电器 1889.45 添加商品"夏普 KC-Z380SW 空气净化器": insert into goods(goodsCode, goodsName, category, unitPrice) values ('02005',' 夏普 KC-Z38…
点击打开所使用到的数据库>>> 删除客户"刘一鸣". 执行 SQL 代码"delete from customer where cName=' 刘一鸣 '",会出现删除异常. 打开从表 orders 的设计视图,单击"外键",出现 orders 表外键编辑窗口,下拉选中"删除时"的状态值为"SET NULL". 如果删除客户时,该客户所下订单亦跟着全部删除,则下拉选中"删除时&q…
点击打开所使用到的数据库>>> 1.添加 easyShopping 客户数据. insert into customer values('abc111','111',' 刘一鸣 ',' 北京市朝阳区新源南路 14 号 ','13901212345'); 2.将客户所在城市的名字的最后添加"市",如"北京"更新为"北京市",并且将客户电话的最前面加上中国电话国际代码"86",如"1390×××2345…
点击打开所使用到的数据库>>> 1.使用 DDL 语句修改 easyShopping 商品表 goods 表结构,要求如下: 新增字段生产厂商 manufacturer,它的类型为 varchar(50). 将字段 unitPrice 更名为 price,字段类型维持不变,仍为 decimal(8,2) 类型. 将字段 category 的类型修改为 varchar(50). 删除字段 saleCount. 删除定义在 goodsName 字段的唯一约束,约束名为 unique_gNam…
点击打开所使用到的数据库>>> 1.使用 DDL 创建 easyShopping2 数据库. create database easyShopping2 2.使用 DDL 更改 easyShopping2 数据库的名字为 easyShopping3. rename database easyShopping2 to easyShopping3 3.使用 DDL 删除数据库 easyShopping3. drop database easyShopping3 4.使用 DDL 创建商品表和…
点击打开所使用到的数据库>>> 1.根据商品名关键字查找商品信息. 查询带"美"字的商品信息: SELECT * FROM goods WHERE goodsName LIKE '%美%' 2.根据客户的姓氏和姓名长度查找客户信息. -- 查询刘姓客户信息: select * from customer where cName like ' 刘 %'; -- 查询姓名长度为 3 的张姓客户信息: select * from customer where cName l…
点击打开所使用到的数据库>>> 1.分类显示所有商品信息,按商品价格升序排列. "分类显示所有商品信息"表明查询表"商品",排序列为"类型":"按商品价格升序排列"表明显示同一类型的商品时,需按照"价格"进行升序排列.所以,第一排序列为"类型",第二排序列为"价格". SELECT * FROM goods WHERE category IN ('生…
点击打开所使用到的数据库>>> 1.查询指定姓名的客户(如"张晓静")的地址和电话号码. select address 地址, phone 电话号码 from customer where cName='张晓静' 2.查询单价高于某个值(如"200")的生活电器类商品信息. select goodsName 商品名 , unitPrice 单价 from goods where category=' 生活电器 ' and unitPrice>…
点击打开所使用到的数据库>>> 1.查询所有客户的地址和电话号码. SELECT address, phone FROM customer 2.查询所有商品的名称.种类和单价信息. SELECT goodsname 商品名称,category 种类,unitPrice 单价 FROM goods 3.查询所有订单的编号和订购日期信息. SELECT ordersID 编号,odersDate 日期 FROM orders 4.显示所有订单的送达日期信息,要求送达日期唯一. select…
点击打开所使用到的数据库>>> 1.按照商品类型和销售地区分组统计商品数量和平均单价,并按平均单价升序显示. -- 按照商品类型和销售地区分组统计商品数量和平均单价,并按平均单价升序显示: select category 商品类型 , areaID 销售地区 ID, count(*) 数量 , truncate(avg(unitPrice),2) 平均单价 from goods group by category, areaID order by 平均单价 2.根据类型分组统计商品数量和…
点击打开所使用到的数据库>>> 1.按照商品类型分组统计商品数量和平均单价,并按平均单价升序显示. -- 按照商品类型分组统计商品数量和平均单价,并按平均单价升序显示: select category 类型 , count(*) 数量 , truncate(avg(unitPrice),2) 平均单价from goods group by category order by 平均单价 2.统计每个客户所下订单数,并按订单数升序显示客户编号和该客户所下订单数. -- 统计每个客户所下订单数…
点击打开所使用到的数据库>>> 1.统计所有商品的平均单价.最高单价与平均单价之差.平均单价与最低单价之差. 最高单价与平均单价之差 = max(unitPrice)-avg(unitPrice),平均单价与最低单价之差 = avg(unitPrice)-min(unitPrice): select avg(unitPrice) 平均单价 , max(unitPrice)-avg(unitPrice) 最高单价与平均单价之差 , avg(unitPrice)-min(unitPrice)…
点击打开所使用到的数据库>>> 1.统计商品最高单价和最低单价. -- 获取所有商品的最高单价和最低单价: select max(unitPrice) 最高单价 , min(unitPrice) 最低单价 from goods; 2.汇总指定日期的订单金额. -- 汇总指定日期(如 2015-04-12 日)订单金额: select sum(amount) 订单总价 from orders where ordersDate='2015-04-12';…
点击打开所使用到的数据库>>> 1.统计每件商品的销售数量和销售金额,要求按照销售量和销售金额升序显示商品名.销售量和销售金额, 由于需要统计每件商品的销售数量和销售金额,即便某种商品没有被订购过也需要显示,所以可以采用左连接的方式依次建立商品表和订单明细表的联系. select g.goodsName 商品名 , sum(od.quantity) 销售量 , sum(od.quantity*g.unitPrice) 销售金额 from goods g left join ordersd…
点击打开所使用到的数据库>>> 1.使用左接获取所有客户的基本信息以及订购信息,要求输出客户姓名.电话.订单 ID 和下单时间. 由于需要获取所有客户的基本信息,如果采用左连接加以实现,必须从左至右依次连接客户表和订单表,此时客户表将作为左表. select cName 姓名 , ordersID 订单 ID, ordersDate 下单日期 from customer c left join orders o on c.customerID=o.customerID 2.使用右接获取所…
点击打开所使用到的数据库>>> 1.获取订单 ID 为 4 的订购明细信息,要求输出商品名.单价和件数. 连接三张表:订单表.订单明细表和商品表. select goodsName 商品名 , unitPrice 单价 , quantity 件数 from orders o join ordersdetail od on o.ordersID=od.ordersID join goods g on od.goodsID=g.goodsID where o.ordersID=4 或 sel…
点击打开所使用到的数据库>>> 1.使用内连接获取客户"王传华"所有的订单信息和客户信息. 使用内连接获取客户"王传华"所有的订单信息和客户信息: select * from customer c join orders o on c.customerID=o.customerID where cName=' 王传华 ' 2.使用内连接获取客户"王传华"所有的下单日期信息,要求显示客户姓名和下单日期. 使用等值连接获取客户&qu…
MySQL定时器Events 一.背景 我们MySQL的表A的数据量已经达到1.6亿,由于一些历史原因,需要把表A的数据转移到一个新表B,但是因为这是线上产品,所以宕机时间需要尽量的短,在不影响数据持续入库的情况下,我希望能通过作业(定时器Events)的形式慢慢搬迁这些数据. 在MySQL作业的执行过程中有一个问题是让人比较郁闷的,就是如果频率很快,快到作业还没有执行完成的话,作业就会被重复执行,这点跟SQL Server的不一样的,如果想达到类似SQL Server作业的串行效果,只有当作业…
安装 1 sudo apt-get update 2. sudo apt-get install mysql-server 3 sudo  apt-get install mysql-client 4.  sudo apt-get install libmysqlclient-dev sudo apt-get update Could not resolve 'security.ubuntu.com' Err http://extras.ubuntu.com trusty Release.gpg…
最近在做MySQL作业时候遇到了很多问题,MySQL作业链接:https://www.cnblogs.com/wj-1314/p/9213885.html 所以下面谈一下稍微难一点的数据库问题,我们需要如何解决,这里一步一步的分解题目,得到答案.可能有些题目确实超出我的能力范围,希望看到的盆友能帮一下,谢谢. 首先这里总结一下几个重点. 1,上述作业要求使用SQL,不能使用视图. 2,一般来说,联表查询的效率要高于子查询,建议多使用联表查询. 一,按各科平均成绩从低到高和及格率的百分数从高到低顺…
1.dos命令 set names gbk; 2.MySQL练习#创建school数据库: create database school;#切换school数据库: use school; # primary key : 主键约束,不可重复# auto_increment : 自动增长# not null : 非空约束# default : 默认约束# unique : 唯一约束,不可重复# comment : 注释# foreign key : 外键约束 /* 在从表中直接定义外键约束语法:…
MySQL作业分析 五张表的增删改查: 完成所有表的关系创建 创建教师表(tid为这张表教师ID,tname为这张表教师的姓名) create table teacherTable( tid int auto_increment primary key, tname ) )engine=innodb default charset=utf8; 创建班级表(cid为这张表班级ID,caption为这张表班级门号) create table classTable( cid int auto_incr…