一、MySQL的安装配置(window下的安装配置)
1 、下载
下载可参考(https://jingyan.baidu.com/article/eb9f7b6da17ccc869364e8d9.html)
2 、安装
安装参考(http://www.cnblogs.com/lifehrx/p/6083102.html)
3 、遇到的问题及解决方案
3.1
设置完毕,按“Finish”后有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解 决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
3.2
如果一遍设置不成功,更改为正确设置后仍无法通过最后一步,说明你装过MySQL并且卸载过(通过添加删除反复安装,卸载)遇到这种情况不要慌,关掉设置向导,重装MySQL,这时切记一定不要用添加删除程序来删,因为MySQL通过添加删除是删不干净的! 会有文件残留,而这些残留的文件和服务是阻止你正确安装和设置的主要原因.
首先,要正确删除MySQL,必须重新运行安装程序,不要用添加删除程序来删,360也不行!
正确的做法如下:重新运行安装程序,选择Remove(移除);
接下来,需要删除MySQL的残余文件,这一步很关键,删不干净即使重新安装也无法成功。
4、使用可视化的Navicat For Mysql
Navicat For SQL 下载地址 http://xiazai.sogou.com/detail/34/16/1144119879935069103.html?e=1970(普通下载即可,激活码网上找一个就ok)
破解下载地址, [Navicat patch] (https://github.com/DoubleLabyrinth/navicat-keygen/releases)
使用方法:(https://jingyan.baidu.com/article/3c343ff70d0ee00d37796397.html)
**
二、MySQL基础使用方法
1. 启动命令行方式,输入正确的密码后出现
2. mysql>
3. 查看mysql中已经存在的数据库
show databases;
4. 建立一个数据库
create database 数据库名;
5. 选择某个数据库
Use 数据库名;
6. 删除某个数据库
drop database 数据库名;
7. 建立一张包含主键的表
create table student(
no int primary key,
name varchar(32) not null
);
8. 查看mysql中某个数据库中存在的表
show tables;
9. 删除已经存在的表
drop table student;
10. 删除表中的数据
11. 查看表中的数据
12. 排序查询
select 查询列表 from 表名 where 筛选条件 order by 排序列表 【asc | desc】;
注:asc 升序 desc 降序
13. 分组查询
select 分组函数,分组后的字段 from 表名 【where 筛选条件】group by 分组的字段 【having分组后的筛选】【order by 排序列表】;
注:
使用关键字:分组前 -> where、 分组后 -> having
筛选的表:分组前 -> 原始表、 分组后 -> 分组后的结果
位置:分组前 -> group by的前面、分组后 -> group by的后面
14. 条件查询
select 查询列表 from 表名 where 筛选条件;
项目一:查找重复的电子邮箱
创建email表,并插入如下三条数据
ID | |
---|---|
1 | a@b.com |
2 | c@d.com |
3 | a@b.com |
要求:编写一个SQL查询,查找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');
----运行语句----
SELECT
email
FROM
email
HAVING
count(*) > 1;
结果:
项目二:查找大国
创建如下World表
name | continent | area | population | gdp |
---|---|---|---|---|
Afghanistan | Asia | 652240 | 2500100 | 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;
结果: