摘要:
一、架构 MySQL的架构如下: 二、锁 MySQL的锁主要分为读锁和写锁。读锁是共享的,在同一时间可以有多个客户端对相同的资源执行读操作。写锁是排他的,会阻止其他的写锁和读锁的操作。 三、事务 事务是指一个独立的工作单元。这一个工作单元要么全部执行,要么全部不执行。如果执行到一半时某条语句未能正确 阅读全文
摘要:
通过位运算可以得到只出现1次的唯一元素,但是如果有两个元素出现1次,则需要更进一步。 对整个数组依次进行异或运算后,得到的是两个出现一次元素的异或,之后将这两个元素的最后面是1的位记录下来,并以此为标杆判断整个数组,将该位为1和0的元素分为2组,对两组数据分别求异或,即可得到这两个元素。 代码如下: 阅读全文
摘要:
一、使用__new__方法可以实现单例模式: TestClass类实例化时,因为自身的__new__方法没有重写,默认会调用其父类,也就是SingleTon的__new__方法。而SingleTon的__new__方法重写为仅当自身没有instance属性时才会返回一个类实例,从而确保了仅生成1个实 阅读全文
摘要:
import functools def log(text): if isinstance(text, str): def decorator(func): @functools.wraps(func) def wrapper(*args, **kw): func(*args, **kw) prin 阅读全文
摘要:
列出数据表中的重复数据: 删除重复数据: 阅读全文
摘要:
SQL中,联结主要分为6种类型: 1.内联结 将两张表的公共的数据显示出来,即显示两张表的交集: 2.左外联结 将两张表中,只存在于左表中而不存在于右表中的数据筛选出来: 如果不加后面的where子句,会将两张表的共同部分也显示出来。 3.右外联结 将两张表中,只存在于右表中而不存在于左表中的数据筛 阅读全文
摘要:
1.Max的优化 如果没有索引,max需要检索所有行才能得出结果,这里可以通过建立索引的方式进行优化: 这样,再查询price的最大值就能迅速得出结果。 2.子查询的优化 下列子查询: 可以用join方法进行优化: 但是,如果vendors中含有重复的prod_id,则会返回重复的查询结果。因此,需 阅读全文
摘要:
1.连接数据库 查看可用数据库使用show命令: 连接数据库使用use命令: 获取数据库内的所有表: 查看表结构: 2.检索数据 检索某一列或某几列: 检索所有列: 如果只想显示一列中的不同数值,可以用distinct关键字: 限定结果的数量,用LIMIT关键字: 3.排序 排序使用order by 阅读全文