Mysql复杂一点的查询

学习

复杂查询学习链接.

练习题1
创建出满足下述三个条件的视图(视图名称为 ViewPractice5_1)。
使用 product(商品)表作为参照表,假设表中包含初始状态的 8 行数据。

create view ViewPractice5_1 (product_name,sale_price,regist_date) as select product_name,sale_price,regist_date from product where sale_price >= 1000 and regist_date = '2009-09-20';

练习题2
向习题一中创建的视图 ViewPractice5_1 中插入如下数据,
会得到什么样的结果呢?

Field of view 'shop.ViewPractice5_1' underlying table doesn't have a default value

练习题3
请根据如下结果编写 SELECT 语句,其中 sale_price_all 列为全部商品的平均销售单价。

product_id | product_name | product_type | sale_price | sale_price_all
------------+-------------+--------------+------------+-----------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您误删了 MySQL 数据库中的表,可以尝试使用以下步骤进行恢复: 1. 确认您已经开启了 MySQL 的 binlog 功能。如果没有开启,可以在 MySQL 配置文件中添加以下配置项: ``` log-bin=mysql-bin ``` 2. 查看 binlog 文件,找到误删表的事务。可以通过以下命令查看 binlog 文件: ``` SHOW BINARY LOGS; ``` 3. 使用 mysqlbinlog 工具解析 binlog 文件,找到误删表的事务。可以使用以下命令解析 binlog 文件: ``` mysqlbinlog binlog_file | grep -i "delete from table_name" > recover.sql ``` 其中,binlog_file 是第二步中查看到的 binlog 文件名,table_name 是误删的表名。该命令会解析 binlog 文件,查找包含删除指定表的语句的事务,并将结果输出到 recover.sql 文件中。 4. 将 recover.sql 文件导入到 MySQL 数据库中,恢复误删的数据。可以使用以下命令导入 recover.sql 文件: ``` mysql -u username -p password database_name < recover.sql ``` 其中,username、password 和 database_name 分别是您 MySQL 数据库的用户名、密码和数据库名。 需要注意的是,如果在删除表时使用了 TRUNCATE TABLE 语句,该表的数据将无法通过 binlog 恢复,因为 TRUNCATE TABLE 不会被写入 binlog。在这种情况下,您可以尝试使用备份进行恢复,或者使用一些第三方的 MySQL 数据库恢复工具进行恢复。但是,这些工具使用起来可能会比较复杂,而且并不能保证完全恢复您的数据。因此,在进行任何操作之前,我们强烈建议您备份您的 MySQL 数据库以防止数据丢失。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值