
MySQL
文章平均质量分 53
crraxx
崔瑞荣就是我 :-)
展开
-
SQL优化
SQL优化正确使用SQL1.正确使用索引 查询条件列,排序列添加索引2.尽量避免索引失效 2.1模糊查询 name like “%张%” 改为全文索引 2.2在where子句中避免num is null 2.3在where子句中避免使用!=或<>操作符 2.4在where子句中使用运算符 如:select id from t where num=10 or num=20 对于连续的数值,能用 between 就不要用 in 了 如:select id from原创 2022-01-22 21:43:40 · 649 阅读 · 0 评论 -
事务,关系型数据事务4大特性,事务的隔离级别,MVCC,锁机制
事务事务就是一次完整的数据库操作,这个操作过程中可能包含多条SQL的执行,这多条SQL的执行是一个整体,要么都执行成功,要么都执行失败举例:转账操作:从A账号向B账号转钱, A账号+100时 ,B账号必须-100网上下单支付:下订单到卖家,支付到平台MySQL中只有innodb引擎支持数据库事务事务用来管理 insert,update,delete 语句。关系型数据事务4大特性一般来说,事务是必须满足 4 个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consist原创 2022-01-21 23:04:08 · 1125 阅读 · 0 评论 -
MySQL架构,MySQL存储引擎,索引
MySQL架构连接层负责与客户端和程序建立连接,认证…服务层sql接口 解析器 查询优化器 缓存引擎层负责与数据文件系统连接,写数据物理文件层负责存储表数据,日志文件,就是依赖于日志MySQL存储引擎引擎是数据库中具体与文件交互的技术,不同的引擎实现方式是有区别的数据库引擎,具体实现者常用的引擎myisam 不支持事务,适合查询较多,不支持外键,不支持行锁,支持表锁,支持全文索引,存储表的总行数select count(*) from admin 直接获取到总行数即可,速度快原创 2022-01-20 21:45:59 · 786 阅读 · 2 评论 -
视图,存储过程,函数,触发器
MySQL 高级视图视图就是将他被存储在数据库中,可以重复使用,视图中并不存储数据定义视图CREATE VIEW 视图名 AS SELECT 列 1,列 2... FROM 表(查询语句);使用视图SELECT * FROM 视图名删除视图drop view 视图名CREATE VIEW sel_news ASSELECT n.id, n.title, t.type_nameFROM news n LEFT JOIN TYPE t ON n.typeid =原创 2022-01-19 22:46:16 · 560 阅读 · 1 评论 -
MySQL8.0 错误代码: 1364 Field ‘id‘ doesn‘t have a default value
错误代码: 1364Field ‘id’ doesn’t have a default value解决方法:将对应的主键设置成自增的即可。原创 2022-01-19 22:20:34 · 4592 阅读 · 2 评论 -
mysql8.0错误代码:1418This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarati
1 queries executed, 0 success, 1 errors, 0 warnings查询:CREATE FUNCTION test() RETURNS INT BEGIN DECLARE v_num INT default 0; SELECT COUNT(*) INTO v_num FROM admin; RETURN v_num; END错误代码: 1418This function has none of DETERMINISTIC, NO SQL, or READS SQL D原创 2022-01-19 20:49:47 · 545 阅读 · 1 评论 -
MySQL8.0 关联查询-内连接(等值连接、非等值连接和自连接)、外连接(左外连接和右外连接),数据库的备份与恢复
多表设计,关联查询-- 多表设计,关联查询-- 笛卡尔积现象(几乎不用)SELECT* FROM t_student,grade -- 查询的结果不是我们先要的-- 内连接-- 1.等值连接 2.非等值连接 3.自连接-- ----------------------------------------------------------------------------------------- 等值连接-- 方式1 采用inner join方式 语法:select 结果 form原创 2021-02-21 20:00:34 · 2239 阅读 · 6 评论 -
MySQL8.0 练习1
一,有这样一张学生成绩表如图,按要求完成操作.1.根据上图格式,在数据库中创建一个学生成绩表,并添加数据.使用sql语句完成.2.查询每个人的总成绩并按从高到低排名(要求显示字段:姓名,总成绩,学号)3.查询每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)4.查询各门课程的平均成绩(要求显示字段:课程,平均成绩)5.查询学生数学成绩的排名,从高到低显示(要求显示字段:学号,姓名,成绩6.查询学生成绩,按照如下格式展示, 小于60分为C,60-79为B,80-100为A7.只查询每门原创 2021-02-21 19:38:35 · 2493 阅读 · 13 评论 -
MySQL8.0多表设计
多表设计-- 多表设计/*什么时候用到多表?1.存储不同的信息时 2.为减少数据冗余多表设计中表与表如何关联? 数据库设计范式: 第一范式:列的原子性(不可再分) 第二范式:要有主键,其他字段都依赖于主键 第三范式:要消除传递依赖,方便理解,可以看做是“消除冗余” 学生信息表:学号,姓名,性别,生日,手机号,年级id,注册时间 年级表:年级id,年级名称 老师信息表:工号,姓名,性别,年级id 课程信息表:原创 2021-01-27 20:35:52 · 231 阅读 · 1 评论 -
MySQL8.0(ddl.dml和dql 函数&&条件查询&&分组查询&&子查询)
mySQL 8.0注释#单行注释-- 单行注释(注意用--做单行注释时需要加空格)/*多行注释*/DDL 数据(结构)定义语言/*DDL 数据(结构)定义语言(Date Definition Language)DDL 也属于SQL语言,只是按功能划分执行时选中 点击执行查询 选中左侧树形目录root 点击刷新对象浏览器即可数据库名一旦给定不能更改*/数据库#创建数据库CREATE DATABASE IF NOT EXISTS school_db CHARSET utf8原创 2021-01-27 20:28:49 · 292 阅读 · 1 评论