还不会恋爱吗?看看我和MySQL的高质量恋爱……

与MySQL相识的第一天

Love is hard to get into, but harder to get out of. 我和MySql大概就是如此叭。俗话说,没有永远的朋友,只有足够的利益,才能让我们与人友善。

与她在一起的的利益(好处)

  • 可以持久化数据到本地
  • 结构化查询数据,比较方便掌控

看看她的五官(数据库的常见概念)

  • DB:数据库,存储数据的容器
  • BDMS:数据库管理系统,又称为数据软件或数据库产品,用于创建或管理DB
  • SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

认识她的第一印象(数据库存储数据的特点)

  • 数据存放到表中,让后表再放在库中
  • 一个库中可以由多张表,每张表具有唯一的表名用来标识自己
  • 表中有一个或者多个列,列又称为”字段“,相当于Java中的属性
  • 表中的每一行数据,相当于Java中的”对象“

认识她的闺蜜(常见的数据库管理系统)

闺蜜的名字(数据库名) 住哪里(是谁旗下的) 备注
她(MySQl) 由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品 她最受欢迎,要好好待她,别一不小心就跑了
Oracle 她也是Oracle旗下的,MySql是呗她家收购的灰公主 她也是万众瞩目的一个,由于其骄奢的性格让它没有最多的欢迎,但再高端市场,她比MySql更受欢迎一点
db2 IBM公司研制的一种关系型数据库系统 DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下
SQL Server sqlserver 是Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。但后面由于另外两家公司分家,就称为由微软公司推出的了 具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

与MySQL相知的又一天

The more I know her, the more I like her. 在认识一个人后,我们会有一种想要深入去了解她的冲动,那就去更加深入的了解她叭。

imgimg

她的家里情况(MySQl的背景)

  • MySQL数据库隶属于MySQL AB分公司,总部位于瑞典,后被Oracle收购

imgimg


她的性格脾气(MySQl的优缺点)

  • 豪气(开源、免费、成本低)
  • 温柔(性能好、移植性好)
  • 体积小,便于安装

imgimg

把她叫出来(MySQL安装)

  • 属于C/S架构的软件,一般来讲安装服务端,(安装路径不能包括中文)
  • 分类
    • 社区版
    • 企业版
  • 她的多种形态(版本又多种)

把她揽入怀里(MySQL服务的启动和停止)

  • 方式一:浪漫的开始(以CMD形式,通过命令行)
    • net start 服务名 抱着(启动)
    • net stop 服务名 松开(停止)
  • 方式二:霸道总裁(强势点点点)
    • 计算机——右击——管理——服务——找到MySQL启动

和她一起出门与回家(MySQL的登录和退出)

  • 出门方式的选择(登录):
    • mysql -h主机名 -p端口号 -u 用户名 -p密码
    • mysql -u 用户名 -p密码(这是前提为主机,且端口号为3306)
    • 最后你可以偷偷进去,不用密码,背着偷偷输密码

为她疯狂购物的一天(MySQL的一些基本操作)

I’m a miser, but in my love life, I would be willing to spend every penny i have. 既然决定和她一起,就要去为她做一些事了,学一些基本的东西叭,以备不时之需呀!

观察她的想法(基本语法)

  • select 查询列表

  • from 表名

  • where 判断条件

想法的小总结(特点)

  • 查询列表可以是字段、常量、表达式、函数、也可以是多个

  • 查询结果是一个虚拟表

  • 基本的操作小表达

    • 	一、按条件表达式筛选
      	条件运算符:> < =!=不等于为)<> >= <=
      	二、按逻辑表达式筛选
      	逻辑运算符:
      		&& || !
      		and or not 	
      	三、模糊查询
      		like =
      		between and 
      		in 
      		is null	
      	四、安全等于
      		<=>
      		可以判断null值
      	五、注释
      		注释
      		单行注释:#注释文字
      		单行注释:-- 注释文字
      		多行注释:/* 注释文字  */
      	六、语法规范
      		不区分大小写
      		使用“;”结尾
      		各子句一般分行写
      		关键字不能缩写也不能分行
      		合理使用缩进
      	七、查询
      		select 常量值;
      		注意:字符型和日期型必须用单引号引起来,数值不需要
      	八、起别名
      		as 或者空格
      	九、一些关键字
      		去重:select distinct 字段名 from 表名
      		不允许select distinct a,b from 表名
      		
      		+号:做加法运算,不能连接字符
      			select 数值+数值  直接计算
      			select 字符+数值 先将字符尝试转化为数值,不能转即为0在计算
      			null+任何值  返回null
      			
      		concat函数:
      			功能:拼接字符
      			select concat(a,b,……);
      		ifnull函数
      			功能:判断某字段或者表达式是否为null,若是返回指定值,否则返回原本值
      			select ifnull(commission_pct,0) from employees;
      		isnull函数:
      			功能:判断某字段或者表达式是否为null,若是返回1,否则返回0
      

教学示范(实例)

  • 查询员工号为176的员工的姓名和部门号和年薪
SELECT 
	CONCAT(last_name,first_name) AS 姓名,`manager_id` AS 部门号,salary*12 AS 年薪
FROM
	employees
WHERE 
	employee_id LIKE 176;
  • 选择工资在5000到12000之间的员工的姓名和工资
 SELECT 
 	CONCAT(last_name,first_name) AS 姓名,salary AS 工资
 FROM 
 	employees
 WHERE
 	salary>5000 AND salary <12000;
  • 选择在20或50号部门工作的员工姓名和部门号
  SELECT 
  	`employee_id` AS 员工号,CONCAT(last_name,first_name) AS 姓名,`manager_id` AS 部门号
  FROM
  	employees
  WHERE 
  	employee_id BETWEEN 20 AND 50;
  • 选择姓名中有字母a和e的员工姓名
  SELECT 
  	CONCAT(last_name,first_name) AS 姓名
  FROM 
  	employees
  WHERE
  	CONCAT(last_name,first_name) LIKE '%a%' OR  CONCAT(last_name,first_name) LIKE '%e%' ;
  • 显示出表employees部门编号在80-100之间的姓名、职位
 SELECT 
 	department_id AS 部门编号,CONCAT(last_name,first_name) AS 姓名,`job_id` AS 职位
 FROM 
 	employees
 WHERE
 	`department_id` BETWEEN 80 AND 100;

比较产品品牌的不一样(isnull PK <=>)

普通类型数值 null值 可读性
isnull false true true
<=>(安全等) true true false

有了上面的表格,她都把这两个牌子优缺点给你,你就得为她选择了呀,去吧骚年。

imgimg

猜你喜欢

转载自blog.csdn.net/qq_43325476/article/details/120907003
今日推荐