随笔分类 - MySQL
为什么以前有做笔记的习惯,没写博客的习惯,搬运得好烦
摘要:HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。 HAVING 子句可以让我们筛选分组后的各组数据。 SQL HAVING 语法 SQL HAVING 语法 SELECT column_name, aggregate_function(co
阅读全文
摘要:原文地址:https://blog.csdn.net/hengji666/article/details/54924387 练习地址:http://sqlfiddle.com/#!9/ad7c8b/12 Create table If Not Exists Courses (student varc
阅读全文
摘要:一、整个查询集统计 Django 提供两种方法来产生统计。 第一种方法是产生整个 查询集 的统计。假设我们要统计所有书的平均价格。 Djnago 中查询所有书的语句为: >>> Book.objects.all() 在这个语句后加上一个 aggregate() 子句就行了: >>> from dja
阅读全文
摘要:一、Django数据库模糊查询 1.1 Q查询 1 from django.db.models import Q 2 Q(question__startswith='What') 3 4 Q(question__startswith='Who') | Q(question__startswith='
阅读全文
摘要:一、查看当前数据库字符集编码 show VARIABLES like 'character_%'; 将所有字段值非utf8 (上图中为latin1 拉丁)修改为utf8 set character_set_database=utf8; set character_set_connection=utf
阅读全文
摘要:根据数据库设计的第三方式,在数据库设计过程中,应该尽量消除冗余。即设计数据库时,某一个字段属于一张表,但它同时出现在另一个或多个表,且完全等同于它在其本来所属表的意义表示,那么这个字段就是一个冗余字段。 随着企业数据量与并发量不断的增加,冗余字段的存在到底是好还是坏呢? 根据第三范式而言,冗余字段是
阅读全文
摘要:遇到一个并发事务死锁的问题,事务对一个表执行删除操作,对另外一个表执行更新操作,使用的是Hibernate操作数据库。在并发应用时,如果有2个线程同时操作同一条数据就会导致死锁的发生,这个问题通过代码层面解决吗?如果有2个以上线程调用这个方法对同一个客户执行操作就会导致死锁发生,两个线程各持有一个表
阅读全文
摘要:一、通配符 常用模糊查询:% SELECT FROM TB_Name WHERE FIELD LIKE pattern SELECT FROM Persons WHERE name LIKE 'Lin%' "%" 可用于定义通配符(模式中缺少的字母)也可以使用在 '%in
阅读全文
摘要:一、将数据库中的Date格式的数据,或者指定日期的字符串格式化为想要的样式 DATE_FORMAT (date, format)能根据格式串format 格式化日期或日期和时间值date,返回结果字符串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格
阅读全文
摘要:一、SQLAlchemy 创建表 ~~~ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstra
阅读全文
摘要:一、基础SQL语句 参考文章 1. 创建数据库 create database db_name; 2. 删除数据库 drop database db_name; 3. 数据库备份 创建 备份数据的 device USE master exec sp_addumpdevice 'disk', 'tes
阅读全文
摘要:一、 MVCC 原理了解 原文点击:MVCC原理浅析 读锁: 也叫共享锁、S锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 写锁: 又称排他锁、X锁
阅读全文
摘要:一、并发控制 因为并发情况下有可能出现不同线程对同一资源进行变动,所以必须要对并发进行控制以保证数据的同一与安全。 可以参考CPython解释器中的GIL全局解释器锁,所以说python中没有真正的多线程,多线程任意时刻只有一个程序能申请到GIL操作CPU。
阅读全文
摘要:一、SQL注入攻击 参考文章:原文点击 sql作为一种解释型语言,在运行时是由一个运行时组件解释语言代码并执行其中包含的指令的语言。基于这种执行方式,产生了一系列叫做代码注入(code injection)的漏洞 。它的数据其实是由程序员编写的代码和用户提交的数据共同组成的。程序员在w
阅读全文
摘要:一、Mysql 中的索引 索引:顾名思义用来检索、查找数据的key (字段) 几种Mysql 中的常见索引分类:普通索引(联合索引)、唯一索引、主键索引、全文索引 优点:使得查询数据变快 缺点:更新数据时,也需要更新索引。所以更新速度变慢,占据磁盘空间 注意:myisam中可以延迟更新索引 &nbs
阅读全文
摘要:一、 两种存储引擎:MyISAM与InnoDB 区别与作用 1. count运算上的区别: 因为MyISAM缓存有表meta data(行数等),因此在做COUNT( )时对于一个结构很好的查询是不需要消耗多少资源的。而对于InnoDB来说,则没有这种缓存。 2. 是否支持事务和崩溃后的安全恢复:
阅读全文
摘要:B Tree和B+Tree 本文来自 Hubery_James 的CSDN 博客 ,全文地址请点击:原文地址 干货满满 B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉
阅读全文
摘要:一、一个http请求从开始到Django后台,到结束发生了什么 1. 通过用户输入的域名解析出IP地址 2. TCP/IP 三次握手 3. 进入nginx django 4.TCP/IP 四次挥手 1.1 通过用户输入的域名解析出IP地址 第一步: 客户端先检查本地是否有对应的IP地址缓存,找到就返
阅读全文
摘要:一、mysql服务的管理 1.1 mysql启动与关闭 linux下启动mysql: 关闭进程: 找到进程号 或者 如果不行,可能mysql被加了守护进程,先关闭mysql服务就好: 杀死mysqld进程: 检查是否还有mysql服务存在: 1.2 使用 systemctl 来管理mysql 服务
阅读全文
摘要:一、mysql的增查改删 增加一条数据:insert into ~~~ insert into tb_name(column1, column2) values(v1, v2); 如: mysql insert into student(name, age) values('lina', 17);
阅读全文