MySQL 学习笔记——数据库相关概念、基础查询、条件查询

本单元目标

一、为什么要学数据库

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

使用数据库的好处:

  1. 实现数据持久化
  2. 使用完整的管理系统统一管理,易于查询

二、数据库的相关概念

DB(database)数据库:存储数据的“仓库”。它保存了一系列有组织 的数据。

DBMS(Database Management System)数据库管理系统:数据库是通过DBMS创建和操作的容器。

SQL(Structure Query Language)结构化查询语言:专门用来与数据库通信的语言。

关系型数据库
存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 常见的关系型数据库有Mysql,SqlServer等。
非关系型数据库
随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、 摒弃复杂分布式的目的被设计。

三、数据库存储数据的特点

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

四、初始MySQL

MySQL产品的介绍

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

优点:

  1. 成本低:开放源代码,一般可以免费试用
  2. 性能高:执行很快
  3. 简单:很容易安装和使用

MySQL产品的安装

下载地址
https://dev.mysql.com/downloads/mysql/
写此篇文章时下载地址所对应的页面

两种下载方式:
1. Recommended Download(推荐下载):
  点Recommended Download:下面的图片进去是.msi文件以安装包形式的安装。
2. Other Downloads(其他下载):
  Other Downloads:下面的两个文件是.zip文件以压缩包的形式安装。

具体步骤就略了。
我的失败原因:计算机名是中文名(不是计算机的用户名),因为这个让我安装了一下午,都是以前手残把计算机名改成"学习机"这个中文名了。

MySQL服务的启动和停止

  • 方式一:计算机——右击管理——服务——找到当初设置的服务名鼠标右击启动
  • 方式二:通过管理员身份运行
    net start 服务名(启动服务)
    net stop 服务名(停止服务)

MySQL服务的登录和退出

  • 方式一:通过mysql自带的客户端
    此方式只限于root用户
  • 方式二:通过windows自带的客户端
    登录:
    mysql 【-h主机名 -P端口号 】-u用户名 -p密码
  • 退出:
    exit或ctrl+C

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

语法规范:

  1. 不区分大小写,但建议关键字大写,表名、列名小写。
  2. 每条命令最好用分号结尾。
  3. 每条命令根据需要,可以进行缩进 或换行。
  4. 注释:
       单行注释:#注释文字
       单行注释:-- 注释文字(注意-- 后面有空格)
       多行注释:/* 注释文字 */

SQL的优点

  1. 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL
  2. 简单易学
  3. 虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

SQL的语言分类

  1. DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性
  2. DDL(Data Definition Language):数据定义语句,用于库和表的 创建、修改、删除。
  3. DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。
  4. TCL(Transaction Control Language):事务控制语言,确保被DML语句影响的表的所有行及时得以更新。

五、DQL语言的学习

基础查询

语法:
SELECT
要查询的东西
FROM
表名;

特点:

  1. 通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
  2. 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数

条件查询

条件查询:根据条件过滤原始表的数据,查询到想要的数据
语法:
select
要查询的字段|表达式|常量值|函数
from

where
条件 ;

分类:
一、条件表达式
示例:salary>10000
条件运算符:

作用运算符
大于>
小于<
大于等于>=
小于等于<=
等于=
不等于<>或 !=
#案例:查询工资>12000的员工信息

SELECT 
	*
FROM
	employees
WHERE
	salary>12000;

二、逻辑表达式
示例:salary>10000 && salary<20000

逻辑运算符:

作用运算符
两个条件如果同时成立,结果为true,否则为falseand 或 &&
两个条件只要有一个成立,结果为true,否则为falseor 或 ||
如果条件成立,则not后为false,否则为truenot 或 !
#案例:查询工资z在1000020000之间的员工名、工资以及奖金
SELECT
	last_name,
	salary,
	commission_pct
FROM
	employees
WHERE
	salary>=10000 AND salary<=20000;

三、模糊查询

运算符作用
like含义:‘像’ 。一般和通配符搭配使用
between and在…和…之间。包含临界值。
in判断某字段的值是否属于in列表中的某一项in列表的值的类型必须一致或兼容
is nullis null 或 is not null 可以判断null值
#案例1LIKE的使用。查询员工名中第三个字符为n,第五个字符为l的员工名和工资
select
	last_name,
	salary
FROM
	employees
WHERE
	last_name LIKE '__n_l%';
#案例2BETWEEN AND的使用。查询员工编号在100120之间的员工信息
SELECT
	*
FROM
	employees
WHERE
	employee_id BETWEEN 120 AND 100;
#案例3IN的使用。查询员工的工种编号是 IT_PROGAD_VPAD_PRES中的一个员工名和工种编号

SELECT
	last_name,
	job_id
FROM
	employees
WHERE
	job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');
#案例4IS NULL的使用。查询没有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NULL;


#案例5IS NOT NULL的使用。查询有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NOT NULL;

补充:
安全等于 <=> :既可以判断null值,也可以判断数值,可读性低一般不使用。

#案例1:查询没有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct <=>NULL;
	
	
#案例2:查询工资为12000的员工信息
SELECT
	last_name,
	salary
FROM
	employees
WHERE 
	salary <=> 12000;

2020-1024=?

2020.10.24

程序员节快乐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值