1.1 MySQL 软件安装及数据库基础
-
使用图形界面软件 Navicat for SQL
-
数据库基础知识 /MySQL 数据库管理系统
[参考资料:SQL必知必会]
1.2 MySQL 基础 (一)- 查询语句
-
查询语句 SELECT FROM
语句解释 去重语句 前N个语句 CASE…END判断语句
-
筛选语句 WHERE
语句解释 运算符/通配符/操作符
-
分组语句 GROUP BY
聚集函数 语句解释 HAVING子句
-
排序语句 ORDER BY
语句解释 正序、逆序
-
函数
时间函数 数值函数 字符串函数
-
SQL注释
-
SQL代码规范
SQL编程格式的优化建议
SQL Style Guide
作业
项目一:查找 Email 表中所有重复的电子邮箱并指返回相同项中的一个值。
// 创建数据库
CREATE DATABASE IF NOT EXISTS testa DEFAULT CHARSET utf8 COLLATE;
use testa;
// 创建表
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 Email
HAVING COUNT(Email) > 1; --去重?
项目二:查找所有大国家的名称、人口和面积(注:如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这个国家就是大国家。)
// 创建数据库
CREATE DATABASE IF NOT EXISTS testa DEFAULT CHARSET utf8 COLLATE;
use testa;
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 (population >= 25000000 AND gdp >= 20000000)
OR area>=3000000;