MySQL 基础 (一)- 查询语句

2019-04-01  本文已影响0人  jangohe

1.导入sql文件

image.png
mysql> CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> use yiibaidb;
mysql> use yiibaidb;
mysql> source D:/worksp/yiibaidb.sql;
image.png

2.SQL是什么?MySQL是什么?

SQL是结构化查询语言(Structured Query Language)。
MYSQL是一个关系型数据库管理系统。
两者的关系:MYSQL是一种关系数据库,SQL则是操作这种关系数据库的的编程语言。

3.查询语句 SELECT FROM

4.筛选语句 WHERE

5.分组语句 GROUP BY

6.排序语句 ORDER BY

7.函数

adddate(),curdate(),current_date(),date(),dateiff(d1,d2),date_add(d,interval expr type).......
COUNT(expression),FLOOR(x),LEAST(expr1, expr2, expr3, ...),MAX(expression),MIN(expression),MOD(x,y)......
locate(s1,s),lcase(s),left(s,n),lower(s),repeat(s,n),substring(s,start,length),trim(s)......

8.SQL注释

9.SQL代码规范

作业


项目一:查找重复的电子邮箱(难度:简单)
创建 email表,并插入如下三行数据
+----+---------+
| Id | c |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+----+---------+

编写一个 SQL 查询,查找 Email 表中所有重复的电子邮箱。
根据以上输入,你的查询应返回以下结果:
+---------+
| Email |
+---------+
| a@b.com |
+---------+
说明:所有电子邮箱都是小写字母。

CREATE TABLE email (
ID INT NOT NULL PRIMARY KEY,
Email VARCHAR(255)
);
INSERT INTO email VALUES('1','a@b.com');
INSERT INTO email VALUES('2','c@d.com');
INSERT INTO email VALUES('3','a@b.com');

截图:


image.png
select Email from email group by Email having count(Email)>1

截图:


image.png

项目二:查找大国(难度:简单)
创建如下 World 表
+-----------------+------------+------------+--------------+---------------+
| name | continent | area | population | gdp |
+-----------------+------------+------------+--------------+---------------+
| Afghanistan | Asia | 652230 | 25500100 | 20343000 |
| Albania | Europe | 28748 | 2831741 | 12960000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000 |
| Andorra | Europe | 468 | 78115 | 3712000 |
| Angola | Africa | 1246700 | 20609294 | 100990000 |
+-----------------+------------+------------+--------------+---------------+
如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。
例如,根据上表,我们应该输出:
+--------------+-------------+--------------+
| name | population | area |
+--------------+-------------+--------------+
| Afghanistan | 25500100 | 652230 |
| Algeria | 37100000 | 2381741 |
+--------------+-------------+--------------+

CREATE TABLE World (
name VARCHAR(50) NOT NULL,
continent VARCHAR(50) NOT NULL,
area INT NOT NULL,
population INT NOT NULL,
gdp INT NOT NULL
);
INSERT INTO World
  VALUES('Afghanistan','Asia',652230,25500100,20343000);
INSERT INTO World 
  VALUES('Albania','Europe',28748,2831741,12960000);
INSERT INTO World 
  VALUES('Algeria','Africa',2381741,37100000,188681000);
INSERT INTO World
  VALUES('Andorra','Europe',468,78115,3712000);
INSERT INTO World
  VALUES('Angola','Africa',1246700,20609294,100990000);

查询语句:

select name,population,area from World where area>3000000 or (population>25000000 and gdp > 20000000)

截图:


image.png
上一篇 下一篇

猜你喜欢

热点阅读