MySQL

SQL语句

1)DISTINCT 去重列

SELECT DISTINCT 列名称 FROM 表名称

2)WHERE 条件查询

2.1)WHERE字句中的运算符

(=,>,<,<>,>=,<=,BETWEEN,LIKE,IN)
逻辑运算的优先级
(),not ,and ,or
特殊条件
IS NULL,BETWEEN,IN,LIKE

SELECT * FROM emp WHERE comm IS NULL; #查询字段为空的值
SELECT * FROM emp WHERE sal BETWEEN 1500 and 1800; #查询在1500到1800之间的值
SELECT * FROM emp WHERE sal IN20003000; #查询2000和3000的值
2.2)AND&OR运算符

AND:如果第一个条件和第二个条件都成立,则AND运算符显示第一条记录
OR:如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录

3)UPDATE 更新记录

注意: UPDATE 字段 SET WHERE 修改的数据
执行没有WHERE的更新语句时要注意

4)DELETE 删除表中的行

​ 注意:加具体条件WHERE

SQL高级

1)LIMIT 分页查询

2)LIKE 模糊查询

SELECT * FROM 表 WHERE 字段 LIKE 'M%';
% 表示多个值,_下划线表示一个字符
M%  正则表达式,表示为模糊查询信息为M开头的
%M% 表示查询包含M的所有内容 
%M 表示查询以M在倒数第二位的所有内容

3)通配符

(% , _ ,[charlist],[!charlist]不在字符列中的任何单一字符 )
通配符和LIKE 操作符一起用
使用 后两种通配符时 用REGEXP 或 NOT REGEXP来操作正则表达式
比如:在Y表中查询N字段里以A到D开头的值
SELECT * FROM Y
WHERE N REGEXP '^[A-D]';

4)IN

IN 操作符允许您在 WHERE 子句中规定多个值。

5)BETWEEN

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值

6)AS 别名

为表或者列指定别名
SQL别名:
	SELECT column_name AS alias_name
	FROM table_name;
SQL列名:
	SELECT column_name(s)
	FROM table_name AS alias_name;

7)JOIN 连接

JOIN用来连接两个或者多个表的行 但是基于表与表之间的共同字段
7.1)INNER JOIN (内连接)
7.2)LEFT JOIN 左连接
7.3)RRIGHT JOIN 右连接

SQL函数


1)AVG() 平均值

2)COUNT() 记录返回的值

3)SUM() 求和

4)MAX() 最大值

5)MIN() 最小值

6)ROUND() 四舍五入

7)GROUP BY() 分组查询

8)ORDER BY() 排序

9)NOW() 返回当前时间

MYSQL事务

1)什么是事务

事务指的主要是用于操作量大,复杂度高的数据,事务处理可以用来维护数据库的完整性,保证要么全部完成,要么全部失败。而且一般只有支持Innodb的数据库存储引擎才支持事务

2)数据库的特性

ACID(原子性、一致性、隔离性、持久性)

原子性:一个事务中的所有操作,要么全部成功,要么全部不完成。不会停留在中间操作部分。在事务的执行过程中发生错误, 会回滚到事务开始前的状态

一致性:在事务开始前之前和事务结束以后,数据库的完整性没有被破坏

隔离性:数据库允许多个事务并发同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交,读提交,可重复读,和串行化

持久性:事务结束后,对数据的修改就是永久的,即便系统故障也不会丢失

3)事务处理的两种方法

3.1)用BEGIN,ROLLBACK,COMMIT
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
3.2)直接用SET来改变MYSQL的自动提交模式
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交

MySQL范式(三大范式)

1NF:字段不可再细分

2NF:在1NF的基础上,并且所有非主属性都完全依赖与主键

3NF:在2NF的基础上,所有非主属性要直接依赖不能间接依赖


MySQL ALTER命令

当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令

1)添加,修改,删除字段

1.1)添加字段
ALTER TABLE 表名 ADD 字段 数据类型
1.2)修改字段
ALTER TABLE 表名 MODIFY 字段 数据类型
1.3)删除字段
ALTER TABLE 表名 DROP 字段

MySQL索引

1)什么是索引

索引可以大大提升MySQL的检索速度,比如字典的目录

2)索引有哪些

2.1)普通索引(单列索引)

单列索引:加速查找

唯一索引(主键索引、唯一索引)
主键索引:加速查找+约束(不为空且唯一)

唯一索引:加速查找+约束(唯一)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值