1 数据库的好处

1、持久化数据到本地
2、可以实现结构化查询,方便管理

2 数据库相关概念

1、DB:数据库,保存一组有组织的数据容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言

3 数据库存储数据的特点

1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性
3、表具有一些,这些特性定义了数据在表中如何存储,类似“类”的设计
4、表由列组成,我们也称为字段,所有表都是由一个或者多个列组成的,每一列类似于“类”中的属性

4 MySQL的安装和介绍

4.1 MySQL的安装

原文安装教程:安装MySQL

4.2 MySQL服务的启动和停止

方式一:计算机->右击管理->服务
方式二:通过管理员身份运行
net start mysql (启动mysql服务)
net stop mysql(停止mysql服务)

4.3 MySQL服务的登录和退出

方式一:通过mysql自带的客户端(只限于root用户)

方式二:通过windows自带的DOS命令
登录:mysql 【-h主机名 -P端口号】 -u用户名 -p密码
退出:exit; 或 Ctrl + C

4.4 MySQL的常见命令

1、查看当前所有的数据库

show databases

2、打开指定的库

use 库名;

3、查看当前库的所有表

show tables

4、查看其他库的所有表

show tables from 库名;

5、创建表

create table 表名(
	列名 列类型,
	列名 列类型
	...
	)

6、查看表结构

desc 表名;

7、查看服务器的版本
方式一:登录到mysql服务端

select version()

方式二:没有登录到mysql服务端
mysql --version 或者 mysql --V

4.5 MySQL的语法规范

1、不区分大小写,但建议关键字大写,表名、列名小写
2、每条命令最好用分号结尾
3、每条命令根据需要,可以进行缩进或者换行
4、注释
单行注释:#注释文字
单行注释:– 注释文字
多行注释:/* 注释文字 */

5 DQL语言

DQL:Data Query Language 数据查询语言

5.1 基础查询

#进阶1:基础查询
/*
语法:
select 查询列表 from 表名;
特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
*/

#选择使用的库
USE myemployees;

#1.查询表中的单个字段
SELECT last_name FROM employees;

#2.查询表中的多个字段
SELECT last_name,salary,email FROM employees;

#3.查询表中的所有字段
SELECT 
	`employee_id`,
	`first_name`,
	`last_name`,
	`email`,
	`phone_number`,
	`job_id`,
	`salary`,
	`commission_pct`,
	`manager_id`,
	`department_id`,
	`hiredate`
FROM
	employees; #方式一,依次枚举,''为着重号用于区分关键字

SELECT * FROM employees; #方式二,使用通配符
	
#4.查询常量值
SELECT 100SELECT 'john';

#5.查询表达式
SELECT 100%98;

#6.查询函数
SELECT VERSION();
	
#7.起别名
/*
①便于理解
②如果要查询的字段有重名的情况,使用别名区分
*/
#方式一:使用AS
SELECT last_name AS,first_name ASFROM employees;
#方式二:使用空格
SELECT last_name 姓,first_name 名 FROM employees;
#案例:查询salary,显示结果为out put
SELECT salary AS "out put" FROM employees;

#8.去重
#案例 :查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
	
#9.+号的作用
/* 
mysql中的+号只有运算符的功能
select 100+100; 两个操作数都为整型,则做加法运算
select '123'+90; 只要其中一方为字符型,试图将字符型数值转换成数值型
		  如果转转成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型数值转换成0
select null+10;  只要其中一方为null,则结果肯定为null
*/
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
SELECT CONCAT('a','b','c') AS 结果;
SELECT
	CONCAT(last_name,' ',first_name) AS 姓名
FROM
	employees;
	
#10.补充函数
SElECT IFNULL(字段名,表达式);