MySQL 基础 (一)- 查询语句
常用的MySQL语句
1。显示所有数据库
show databases;
2.创建数据库
create database 数据库名
3.选择数据库
use 数据库名
4.删除数据库
drop databases 数据库名
5.建表
创建MySQL数据表需要以下信息:
- 表名
- 表字段名
- 定义每个表字段
CREATE TABLE table_name (column_name column_type);
6.删除数据表
drop table table_name
7.插入数据
insert into table_name values(' ' , ' ' , ' '.......)
括号内为各字段的值
8.查询数据
MySQL 数据库使用SQL SELECT语句来查询数据
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
作业实战
项目一:查找重复的电子邮箱(难度:简单)
创建 email表,
并插入如下三行数据
+----+---------+
| Id | Email |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+----+---------+
编写一个 SQL 查询,查找 email 表中所有重复的电子邮箱。 根据以上输入,你的查询应返回以下结果:
+---------+
| Email |
+---------+
| a@b.com |
+---------+
说明:所有电子邮箱都是小写字母。
项目二:查找大国(难度:简单) 创建如下 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 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');
查询数据
select Email from email group by having count(Email)>=2;
项目2
创建数据表
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 * from where continent>30000 OR (population>25000000 AND gdp>20000000);