与MySQL的第一次亲密接触

数据库的相关概念

一、数据库的好处

  1. 可以持久化数据到本地。
  2. 结构化查询

    二、数据库的常见概念

  3. DB:英文全称data base,数据库的意思。

  4. DBNS: 数据库管理系统(data base management system),又称为数据库软件或数据库产品,用于创建或管理DB。
  5. SQL:结构化查询语言(Structured Query Language),用于和数据库通信的语言,不是某个数据库软件持有的,而是几乎所有的主流数据库软件通用的语言。

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

  6. 数据库放到表中,然后表再放到库中。

  7. 一个库中可以有多张表,每张表具有唯一的表名用来标识自己。
  8. 表中有一个或多个列,列又称为”字段”,相当于java中的”属性”。
  9. 表中的每一行数据,相当于java中的”对象”。

    四、常见的数据库管理系统

    mysql、oracle、db2、sqlserver

mysql的介绍

一、MySql的背景

前身是瑞典的一家公司,MySql AB ,08年呗sun公司收购,09年sun被oracle收购。

二、MySql的优点

  1. 开源免费成本低。
  2. 性能高,移植性好。
  3. 体积小,便于安装。

    MySql的安装

    属于c/s构架软件,一般来说讲安装服务端,一般路径最好是没有中文。
    企业版
    社区版 * 个人选择
    版本: 5.5 , 5.6 , 5.7 , 8.0 …

MySql服务的启动和停止

方式一:命令行
net start [服务名]
net stop [服务名]
方式二:window 系统,计算机—右击—管理—服务中找到需要启动的项。

MySql服务的登录和退出

登录:mysql -h主机名 -P端口号 -u用户名 -p密码|直接回车
password:**

退出:exit或者键盘Ctrl+CC 。

DQL语言

基础查询

语法

SELECT 【查询列表】
FROM 【表名】;

特点

  1. 查询列表可以是字段、常量、表达式、函数,也可以是多个。
  2. 查询结果是一个虚拟表。

示例

  1. 查询单个字段

SELECT 【字段名】 FROM 表明;

  1. 查询多喝字段

SELECT 【字段名】,【字段名】,… from 表名;

  1. 查询所有字段

SELECT from 表名; from 表名;

  1. 查询常量值

SELECT 常量值;
注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要。

  1. 查询函数

SELECT 函数名(实参列表);

  1. 查询表达式

数值支持加减乘除模运算 。

  1. 起别名

① AS 可读性高。
② 空格 方便可读性不高。

  1. 去重

SELECT DISTINCT 【字段名】 FROM 表名;

    • 加号

作用:加法运算
SELECT 数值+数值;直接运算。
SELECT 字符+数值;先试图将字符转成数值,如果转换成功,则继续运算,没成功则直接转换为0,运算。
SELECT null+任何值;结果都为null。

  1. 【补充】concat函数

功能:拼接字符。
SELECT CONCAT(字符1,字符2,字符3, . . . );

  1. 【补充】 IFNULL函数

功能:判断某字段或表达式是否为null,用于将null替换为指定值。
例子: SELECT IFNULL(origin,target); 如果origin为null,则用target填补。

  1. 【补充】 ISNULL

功能:判断某字段或表达式是否为null。
例子:SELECT ISNULL(title) 是null则返回1,不是则返回0。

条件查询

语法

SELECT 查询列表
FROM 表名
WHERE 筛选条件

筛选条件的分类

  1. 简单条件运算符:

    大于 <小于 =等于 <>不等 !=不等 >=大于等于 <=小于等于 <=>安全等于。

  2. 逻辑运算符:

&& AND
|| OR
! NOT

  1. 模糊查询:

LIKE: 一般搭配通配符使用,用于判断字符型以及数值型
通配符:%任意多个字符,_任意单个字符
BETWEEN AND
IN
IS NULL / IS NOT NULL:专门用于判断null值。

is null PK <=>
判断普通类型的数值 null值 可读性
is null × √ √
<=> √ √ ×