MySQL初级篇--笔记

基础

SQL语言分类

  • DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
    主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等。
  • DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。
    主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。
    SELECT是SQL语言的基础,最为重要。
  • DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别。
    主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、SAVEPOINT等。

去除重复行

DISTINCT 是对后面所有列名的组合进行去重,如果只针对某一个字段去重用group by

查询常数

比如说,我们想对 employees 数据表中的员工姓名进行查询,同时增加一列字段 corporation ,这个字段固定值为“hello,可以这样写:
SELECT ‘hello’ as corporation, last_name FROM employees;

使用正则表达式查询

MySQL中使用REGEXP关键字指定正则表达式的字符匹配模式。下表列出了REGEXP操作符中常用字符匹配

列表。
在这里插入图片描述

排序

  • 如果没有使用排序,默认排序方式为插入到数据库的顺序
  • 在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序

分页

分页显式公式:(当前页数-1)*每页条数,每页条数

多表查询

等值连接

SELECT e.employee_id, e.last_name, e.department_id, d.department_id, d.location_id
FROM  employees e , departments d
WHERE e.department_id = d.department_id;

非等值连接
在这里插入图片描述

WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;

函数

单行函数

字符串函数

  • CONCAT(s1,s2,…,sn) 连接s1,s2,…,sn为一个字符串
  • CONCAT_WS(x,s1,s2,…,sn) 同CONCAT(s1,s2,…)函数,但是每个字符串之间要加上x
  • REPLACE(str, a, b) 用字符串b替换字符串str中所有出现的字符串a

流程控制函数

  • IFNULL(value1, value2)如果value1不为NULL,返回value1,否则返回value2
  • CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2… [ELSE resultn] END 相当于Java的if…else if…else…

日期函数

DATE_FORMAT(date,fmt) 按照字符串fmt格式化日期date值
在这里插入图片描述

聚合函数

COUNT函数

COUNT(expr) 返回expr 不为空的记录总数。
Innodb引擎:查询效率 count(*)=count(1)>count(列名)

过滤分组:HAVING子句

SELECT  department_id, MAX(salary)
FROM   employees
GROUP BY department_id
HAVING  MAX(salary)>10000 ;

非法使用聚合函数 : 不能在 WHERE 子句中使用聚合函数

在这里插入图片描述

数据类型

  • 整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。
    在这里插入图片描述
  • 字符类型

在这里插入图片描述
M 为字符长度,1个汉字=1个字符=3个字节
在这里插入图片描述

系统变量

修改系统变量的值

  • 方式1:修改MySQL 配置文件 ,继而修改MySQL系统变量的值(该方法需要重启MySQL服务)

在这里插入图片描述

  • 方式2:在MySQL服务运行期间,使用“set”命令重新设置系统变量的值(该方法重启MySQL服务后就会失效)

全局变量的有效期再重启服务之前都有效。
会话变量的有效期只在当前连接有效,新的连接不生效。

#为某个全局变量赋值
方式1:SET @@global.变量名=变量值;
方式2: SET GLOBAL 变量名=变量值;
#为某个会话变量赋值
方式1: SET @@session.变量名=变量值;
方式2: SET SESSION 变量名=变量值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值