MySQL自学进行时

MySQL自学进行时

1.导入数据

(1)建一个空库

create database 库名;

(2)建一个空表

create table 表名;
#重建就先删除在建
删表
drop table 表名;
删表内容
truncate table 表名(自增列从零开始计算)
delete table 表名(自增列从删之前的值开始继续)

(3)使用命令行批量导入

load data infile '文件地址'
into table 表名
[character set gbk]#制定某种字符集,数据乱码可以设置该关键词修正
[fields terminated by '\t']#指定字段之间的分隔符,默认tab制表符
[escaped by '/']#用于指定转义符,默认\
[lines terminated by '\n']#用于指定行之间的分隔符,默认为换行符\n
[ignore n lines]#用于指定跳过的行数,如果原始数据中前n行不是数据内容,则可以选择该关键字实现跳过

实践操作:

CREATE DATABASE trin;#创建库
USE trin;
#DROP TABLE sec_buildings;
CREATE TABLE sec_buildings(
NAME VARCHAR(20),#名字
TYPE VARCHAR(10),#户型
size DECIMAL(10,2),#大小
region VARCHAR(10),#房源位置
FLOOR VARCHAR(20),#楼层数
direction VARCHAR(20),#朝向
tot_amt INT,#总价
built_date VARCHAR(20),#建成日期
price_unit INT#单位价格
);#创建空表
DESC sec_buildings;

LOAD DATA INFILE 'E:/sec_buildings.csv'
INTO TABLE sec_buildings
CHARACTER SET gbk
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;#导入数据
#TRUNCATE TABLE sec_buildings;
SELECT * FROM sec_buildings;#查询导入的所有信息

导入成功
单表查询:

1.select

①查询所有字段信息

USE trin;
SELECT * 
FROM sec_buildings;

②查询二手房的小区名称、户型、面积、单价和总价

SELECT NAME,TYPE,size,tot_amt,price_unit
FROM sec_buildings

在这里插入图片描述

2.from

3.where

①查询所有阳台朝西的二手房信息

SELECT * 
FROM sec_buildings
WHERE direction = '朝西';

在这里插入图片描述
②查询2014年新建的浦东、徐汇、静安、黄埔和长宁二手房信息

SELECT * 
FROM sec_buildings
WHERE built_date = '2014年建'
AND region IN ('浦东','徐汇','静安','黄埔','长宁');

在这里插入图片描述
③查询黄浦区房价在5500万元以上的二手房名称、户型、面积、朝向和楼层

SELECT `name`,`type`,`size`,`direction`,`floor`
FROM sec_buildings
WHERE `tot_amt`>5500 AND `region` = '黄浦';

在这里插入图片描述
④查询浦东面积在60-70平方米之间的二手房名称、类型、面积和总价

SELECT `name`,`type`,`size`,`tot_amt`
FROM sec_buildings
WHERE region = '浦东' AND `size` BETWEEN 60 AND 70;

在这里插入图片描述
⑤查询小区名称中包含“新天地”字样的二手房信息

SELECT * 
FROM sec_buildings
WHERE NAME LIKE '%新天地%';

在这里插入图片描述

4.group by

用于集合(或统计)时的分组操作,通常与聚合函数搭配使用
统计函数(常用):count、sum、avg、min、max
①查询各行政区域下二手房的数量、总的可居住面积、平均价格、最大总价格和最小单价

SELECT region,
  COUNT(*) AS counts,
  SUM(size) AS sum_zize,
  AVG(tot_amt) AS avg_tot_amt,
  MAX(tot_amt) AS max_tot_amt, 
  MIN(price_unit) AS min_price
 FROM sec_buildings
 GROUP BY region;

在这里插入图片描述

5.having

①按照地区、户型、楼层和朝向分组统计黄浦区与浦东区二手房的平均单价和总数量,并筛选出平均单价超过100000元的记录

SELECT 
  region,
  TYPE,
  FLOOR,
  direction,
  AVG(`price_unit`) AS avg_price,
  COUNT(*) AS counts 
FROM
  sec_buildings 
WHERE region IN ('黄浦', '浦东') 
GROUP BY region,TYPE,FLOOR,direction
HAVING avg_price >100000;

在这里插入图片描述

6.order by

排序关键字
①按面积降序,总价升序的方式查询所有2室2厅的二手房信息(返回小区名称、面积、总价、单价、区域和朝向)

SELECT 
  `name`,
  `size`,
  `tot_amt`,
  `price_unit`,
  `region`,
  `direction` 
FROM
  sec_buildings 
WHERE `type`='2室2厅'
ORDER BY size DESC,`tot_amt` ASC;

在这里插入图片描述
②按照地区、户型、楼层和朝向分组统计黄浦区与浦东区二手房的平均单价和平均面积,并按平均面积升序,平均单价降序排序

SELECT 
  `region`,
  `type`,
  `floor`,
  `direction`,
  AVG(`price_unit`) AS avg_price,
  AVG(`size`) AS avg_size
FROM
  sec_buildings 
WHERE `region` IN ('黄浦', '浦东')
GROUP BY `region`,`type`,`floor`,`direction`
ORDER BY avg_size,avg_price DESC;

```![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418155044930.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjYxMjQw,size_16,color_FFFFFF,t_70)
## 7.limit
一个参数n,表示返回查询结果的前n行数据;如果写入两个整数m和n则表示从第m+1行开始,连续返回n行的数据
①查询出建筑时间最悠久的5套二手房

```sql
SELECT * 
FROM sec_buildings
ORDER BY `built_date`
LIMIT 5;

在这里插入图片描述
②查询出浦东2013年建的二手房并且总价排名在6~10

SELECT *
FROM sec_buildings
WHERE `built_date` = '2013年建' AND `region` = '浦东'
ORDER BY `tot_amt` DESC
LIMIT 5,5;

在这里插入图片描述
以上为单表查询中最为核心的7个关键字,同时也是数据提取时要用到的基本的关键词,其中,有两条最容易犯错的地方:
Ⅰ.在数据查询中,涉及字符型或日期型的值时必须使用引号,并且引号只能是单引号
Ⅱ在编写查询语句是,7个核心关键词的顺序不能错乱,否则语法运行时会产生语法错误的信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值