【学 MySQL,这一篇足够了,(百度云提取:含mysql软件 + 表结构)】 MySQL基础最全详解(持续更新...)

通过阅读本篇文章你将会获得如下数据库知识

一、 MySQL简介

二、MySQL安装、服务启动、链接数据库、数据库中的注释

三、数据库的建立、数据库普通查询、条件查询、测试题10道


 

一、 MySQL简介

       MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

       MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

      数据库(Database,DB),是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。

      数据库管理系统(Database Management Syster,DBMS),用来管理数据库的计算机系统。

      DBA:负责数据库的规划、设计、协调、维护和管理等工作

      数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失,所以我们就需要将一些程序运行的数据持久化到硬盘之中,以确保数据的安全性。说白了,数据库就是存储数据的仓库

二、MySQL安装、服务启动、链接数据库、数据库中的注释

     ①mysql安装

      这儿我们提供的是MySQL 8.0的版本。百度云提取即可。安装直接在百度上搜索:mysql安装教程。

      注意:用户名,密码最好设置成root,防止遗忘。

        链接:https://pan.baidu.com/s/1gu967eDmMhugDk5MhQVCfQ 
        提取码:k1wm 
        复制这段内容后打开百度网盘手机App,操作更方便哦

      ②mysql配置文件介绍

      这儿我们重点介绍的是my.ini配置文件。

      [mysqld]:服务端的配置,可以在这儿修改端口号,默认端口号是3306。

      

 

 

     ③mysql服务的启动

方式一:右击此电脑,点击管理。手动启动服务或者关闭服务

方式二:命令提示符以管理员的身份启动服务

启动和停止服务:
net stop/start 服务名(不区分大小写)

退出:

     ③MySQL服务的登录和退出

     上面我们已经启动过服务了,现在是数据库用户登录到服务。

   

     ④常见的数据库命令

-- 显示所有的数据库,分号结尾
show databases;

-- 使用当前数据库
use database;

--显示表
show tables;
show table from 库名

--查看表的结构
desc table;

--查看数据库版本
select version();

  ④数据库常见的注释

注意:在使用 -- 作为注释的时候,需要在前面空一格。

 

三、数据库的建立、数据库普通查询、条件查询

       1、我们使用的是myemployees数据库:百度与提取

      链接:https://pan.baidu.com/s/15w-MtQDfui6BYNHfq2pwXw 
      提取码:dmr2 
      复制这段内容后打开百度网盘手机App,操作更方便哦

      对各个表字段的说明:

      ①员工表employees

        ②部门表department

       ③ 位置表locations

      ④工种表job

      2、普通的查询语句

  ①查询表中单个字段

   语法:  select 表字段 from 表结构

select last_name from employees;

   ② 查询表中的多个字段,字段之间用逗号隔开,此逗号为英文的逗号。

select last_name,department_id from employees;

   ③为字段起别名:

    好处:便于理解,如果查询的字段有重名的情况,使用别名区分开来。 别名最好加双引号,防止和关键字冲突。

 

// 方式一:使用as
select 100 as "结果";
// 方式二:使用空格
select 100 "结果";

  ④去重,使用distinct关键字,distinct放在需要去重字段的前面

 

select distinct  id from emp;

  ⑤字符串连接,concat(str1,str2,......)

 比如:

-- mysql 里面做字符的拼接使用的是concat(str1,str2)
select concat(name,xing) as 姓名 from table;
-- 查询字段使用逗号隔开
SELECT
      CONCAT("employee_id",",","email") "result"
FROM
   	  employees;
// IFNULL(判断的字段,如果为空被赋值的字段) 
SELECT IFNULL(commission_pct,0)  "奖金率" FROM employees;

  3、条件查询语句

       

       

         

     

ifnull关键字:
     ifnull(1,2):如果1的位置为空,那么1位置上的值用2代替

4、测试题

-- 1. 查询工资大于 12000 的员工姓名和工资

SELECT
				last_name,salary
FROM
				employees
WHERE
				salary > 12000;

-- 2. 查询员工号为 176 的员工的姓名和部门号和年薪

SELECT
				last_name,
				department_id,
				salary*12*(1 + IFNULL(commission_pct,0)) AS '年薪'
FROM
				employees
WHERE
				employee_id = '176';

-- 3. 选择工资不在 5000 到 12000 的员工的姓名和工资
SELECT
				last_name,
				salary
FROM
				employees
WHERE
				salary NOT BETWEEN 5000 AND 12000;

-- 4. 选择在 20 或 50 号部门工作的员工姓名和部门号
SELECT
				last_name,
				department_id
FROM
				employees
WHERE
				department_id IN ('20','50');

-- 5. 选择公司中没有管理者的员工姓名及 job_id
SELECT 
				last_name,
				job_id
FROM
				employees
WHERE
				manager_id IS NULL;

-- 6. 选择公司中有奖金的员工姓名,工资和奖金级别
SELECT
			last_name,
			salary,
			commission_pct
FROM
			employees
WHERE
			commission_pct IS NOT NULL;

-- 7. 选择员工姓名的第三个字母是 a 的员工姓名
SELECT
				last_name
FROM
				employees
WHERE
				last_name LIKE '__a%';

-- 8. 选择姓名中有字母 a 和 e 的员工姓名
SELECT
				last_name
FROM
				employees
WHERE
				last_name LIKE '%a%e%' OR '%e%a%';				
				
-- 9. 显示出表 employees 表中 first_name 以 'e'结尾的员工信息
SELECT
				*
FROM
				employees
WHERE
				first_name LIKE '%e'

-- 10. 显示出表 employees 部门编号在 80-100 之间 的姓名、职位
SELECT
				last_name,
				job_id
FROM
				employees
WHERE
				department_id BETWEEN 80 AND 100;
				
-- 11. 显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、职位
SELECT 
				last_name '员工姓名',
				job_id '职位id'
FROM
				employees
WHERE
				manager_id IN ('101','100','110');

5、排序

-- 按照表达式排序,支持别名
SELECT *,salary*12*(1 + IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 DESC

   #按照姓名的字节数显示员工的姓名和工资
SELECT LENGTH(last_name) '名字长度',last_name,salary
FROM employees 
ORDER BY LENGTH(last_name) DESC;

 6、测试

#1. 查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
SELECT 
				last_name,
				department_id,
				salary*12*(1 + IFNULL(commission_pct,0))
FROM  
				employees  
ORDER BY
				salary*12*(1 + IFNULL(commission_pct,0)) DESC,
			  last_name ASC;	



#2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序
SELECT  
				last_name,
				salary
FROM 
				employees   
WHERE 
				salary NOT BETWEEN 8000 AND 17000
ORDER BY 
				salary DESC ;


#3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT   
				*
FROM 
				employees   
WHERE  
				email LIKE '%e%'
ORDER BY   
				LENGTH(email) DESC,
				department_id  ASC;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL高级 MySQL高级_思维导图.pdf 63.MySQL高级_主从复制.avi 62.MySQL高级_行锁总结.avi 61.MySQL高级_如何锁定一行.avi 60.MySQL高级_间隙锁危害.avi 59.MySQL高级_索引失效行锁变锁.avi 58.MySQL高级_行锁演示答疑补充.avi 57.MySQL高级_行锁案例讲解.avi 56.MySQL高级_行锁理论.avi 55.MySQL高级_读锁案例讲解2.avi 54.MySQL高级_读锁案例讲解.avi 53.MySQL高级_数据库锁理论概述.avi 52.MySQL高级_全局查询日志.avi 51.MySQL高级_用Show Profile进行sql分析.avi 50.MySQL高级_批量插入数据脚本.avi 49.MySQL高级_慢查询日志.avi 48.MySQL高级_为排序使用索引OrderBy优化.avi 47.MySQL高级_in和exists.avi 46.MySQL高级_小驱动大.avi 45.MySQL高级_索引优化答疑补充和总结口诀.avi 44.MySQL高级_索引面试题分析.avi 43.MySQL高级_索引优化10.avi 42.MySQL高级_索引优化9.avi 41.MySQL高级_索引优化8.avi 40.MySQL高级_索引优化7.avi 39.MySQL高级_索引优化6.avi 38.MySQL高级_索引优化5.avi 37.MySQL高级_索引优化4.avi 36.MySQL高级_索引优化3.avi 35.MySQL高级_索引优化2.avi 34.MySQL高级_索引优化1.avi 33.MySQL高级_索引三优化案例.avi 32.MySQL高级_索引两优化案例.avi 31.MySQL高级_索引单优化案例.avi 30.MySQL高级_explain之热身Case.avi 29.MySQL高级_explain之Extra介绍.avi 28.MySQL高级_explain之rows介绍.avi 27.MySQL高级_explain之ref介绍.avi 26.MySQL高级_explain之key_len介绍.avi 25.MySQL高级_explain之possible_keys和key介绍.avi 24.MySQL高级_explain之type介绍.avi 23.MySQL高级_explain之select_type和table介绍.avi 22.MySQL高级_explain之id介绍.avi 21.MySQL高级_explain使用简介.avi 20.MySQL高级_性能分析前提知识.avi 19.MySQL高级_哪些情况不适合建索引.avi 18.MySQL高级_哪些情况适合建索引.avi 17.MySQL高级_索引结构与检索原理.avi 16.MySQL高级_索引分类和建索引命令语句.avi 15.MySQL高级_索引优势劣势.avi 14.MySQL高级_索引是什么.avi 13.MySQL高级_七种JOIN的SQL编写.avi 12.MySQL高级_七种JOIN理论.avi 11.MySQL高级_SQL执行加载顺序.avi 10.MySQL高级_SQL性能下降原因.avi 09.MySQL高级_存储引擎简介.avi 08.MySQL高级_MySQL逻辑架构简介.avi 07.MySQL高级_MySQL配置文件.avi 06.MySQL高级_修改字符集.avi 05.MySQL高级_安装位置.avi 04.MySQL高级_ROOT密码设置和开机自启动.avi 03.MySQL高级__RPM安装.avi 02.MySQL高级_MySQL简介.avi 01.MySQL高级_课程简介.avi
1 前言 1 2 连接 MYSQL 1 2.1 命令行 1 2.2 Navicate 2 2.3 例 1:连接到本机上的 MYSQL 2 2.4 例 2:连接到远程主机上的 MYSQL 3 2.5 退出 MYSQL 命令: exit (回车) 4 3 修改密码 4 3.1 例 1:给 root 加个密码 ab12 。 4 3.2 例 2:再将 root 的密码改为 djg345 。 4 4 增加新用户 4 4.1 例 1、增加一个用户 test1 密码为 abc 4 4.2 例 2、增加一个用户 test2 密码为 abc 4 5 MySQL常用命令 5 5.1 启动 MySQL 服务器 5 5.2 进入 mysql 交互操作界面 5 5.3 退出 MySQL 操作界面 5 5.4 第一条命令 6 5.5 多行语句 6 5.6 一行多命令 7 5.7 显示当前存在的数据库 7 5.8 选择数据库并显示当前选择的数据库 8 5.9 显示当前数据库中存在的 8 5.10 显示 (db) 的内容 8 5.11 命令的取消 8 6 创建数据库和数据 9 6.1 使用 SHOW 语句找出在服务器上当前存在什么数据库 9 6.2 创建一个数据库 abccs 9 6.3 选择你所创建的数据库 9 6.4 创建一个数据库 9 6.5 显示结构 10 6.6 往中加入记录 11 6.7 用文本方式将数据装入一个数据库 11 7 检索数据 12 7.1 从数据库中检索信息 12 7.2 查询所有数据 12 7.3 修正错误记录 12 7.4 选择特定行 13 7.5 选择特定列 13 7.6 对行进行排序 14 7.7 行计数 15 8 多操作 15 8.1 查看第一个 mytable 的内容 16 8.2 创建第二个 title (包括作者、文章标题、发日期) 16 8.3 多查询 17 9 数据库和数据库的修改和删除 18 9.1 增加一列 18 9.2 修改记录 18 9.3 增加记录 18 9.4 删除记录 19 9.5 删除 19 9.6 数据库的删除 19 9.7 数据库的备份 20 9.8 用批处理方式使用 MySQL: 20
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值