文章分类 -  Python

摘要:import re s = "1+(2+(2*300+4) + 6) + (3 * (20+30+4))+(1-20-(20*6))" def f1(n): return eval(n) while True: result = re.split("\(([^()]+)\)",s,1) if len(result) == 3: front = re... 阅读全文
posted @ 2019-04-28 09:44 greenfan 阅读(554) 评论(0) 推荐(0)
摘要:文件目录: web服务器: web框架 阅读全文
posted @ 2019-02-07 19:04 greenfan 阅读(189) 评论(0) 推荐(0)
摘要:先说一下URL编码解码 在这个框架中,修改备注时,如果出现中文、空格等特殊字符,会看到乱码,例如: '%E6%80%BB%E5%85%B1 原因是: 在传递一个url的时候,比如点击修改备注,如果URL内容中有空格、中文等特殊字符,为了传递正确,会进行编码,浏览器给服务器传递的时候会进行编码,服务器 阅读全文
posted @ 2019-02-07 18:39 greenfan 阅读(305) 评论(0) 推荐(0)
摘要:服务器: web框架: web框架改进,用装饰器加路由: 阅读全文
posted @ 2019-02-03 22:48 greenfan 阅读(120) 评论(0) 推荐(0)
摘要:主服务器发生变化,从服务器马上同步,增删改在主服务器上进行,查询在从服务器上进行 这样就做到了读写分离,数据备份,以及负载均衡 主从同步是基于二进制日志机制 有很多种配置主从同步的方法,可以总结为以下的步骤: 1.在服务器上,必须开启二进制日志机制和配置一个独立的id2.在每一个从服务器上,配置一个 阅读全文
posted @ 2019-01-29 19:43 greenfan 阅读(111) 评论(0) 推荐(0)
摘要:-- 用户信息保存在数据库mysql中的user表中 --查看用户、密码、登陆方式。这里的密码是加密的 use mysql select user authentication_string,host from user; -- 创建用户 访问主机:%号是可以从任何机器访问,localhost只能本机访问,也可以指定ip -- grant 权限列表 on 数据库.* to '用户名'@'访问... 阅读全文
posted @ 2019-01-29 14:13 greenfan 阅读(80) 评论(0) 推荐(0)
摘要:索引是一种特殊文件(InnoDB数据表上的索引是表空间的一部分组成),它们包含这对数据表里所有记录的引用指针 通俗的讲,数据库的引用好比是一本书的目录,能加快数据库的查询速度 索引demo: 阅读全文
posted @ 2019-01-29 09:48 greenfan 阅读(83) 评论(0) 推荐(0)
摘要:事务就是一个序列的操作,要么整个序列都执行完,要么都不执行。例如银行的转账从checking表转200到saving表,第一步:检查支票表checking金额,第二步:从支票表checking减去转账金额,第三步:储蓄表saving金额增加相应金额,以上散步打包在一个事务中,任何一个步骤失败,都会回 阅读全文
posted @ 2019-01-28 12:25 greenfan 阅读(83) 评论(0) 推荐(0)
摘要:为了查询方便,不能用于增删改,只用于查询 下面的语句依goods为准,关联查询了其它两个表 可以把上面关联查询出来的结果生成一个新的虚拟的表,也就是视图,命名为view_table: 现在show tables会发现多出一张表:view_table,用select * from view_table 阅读全文
posted @ 2019-01-28 10:41 greenfan 阅读(72) 评论(0) 推荐(0)
摘要:示例: sql = "select * from goods where name=%s" self.cs1.execute(sql,[name]) for i in self.cs1.fetchall(): print(i) 代码40行:sql = "select * from goods whe 阅读全文
posted @ 2019-01-25 11:51 greenfan 阅读(154) 评论(0) 推荐(0)
摘要:增删改 执行完语句,需要使用连接对象提交一下 conn = connect(host="localhost",port=3306,user="root",password="",database="xxx",charset="utf8") cs1 = conn.cursor() count = cs 阅读全文
posted @ 2019-01-24 15:53 greenfan 阅读(275) 评论(0) 推荐(0)
摘要:安装pymysql模块:pip install pymysq 下面是一个查询示例: 下面又是一个代码演练: 阅读全文
posted @ 2019-01-24 14:40 greenfan 阅读(1619) 评论(0) 推荐(0)
摘要:数据准备、基本查询 阅读全文
posted @ 2019-01-23 15:39 greenfan 阅读(121) 评论(0) 推荐(0)
摘要:范式 大概有8种范式,遵循前三个一般数据库就没有问题 1、列不能再拆分 #比如一列中有姓名,又有性别,就是没有遵循这一条范式 2、在第一范式的基础上,1、必须有主键(提示:主键可以是表中的多个列),2、非主键列必须完全依赖主键,不能是依赖主键的一部分,比如有两个主键,有非主键列只依赖其中一个主键,那 阅读全文
posted @ 2019-01-22 22:52 greenfan 阅读(94) 评论(0) 推荐(0)
摘要:一个表中的一列,用到了自己表中的另一列,叫做自关联,可用在省市县、行政级别等。 + + + + | id | name | p_id | + + + + | 1 | 北京市 | NULL | | 2 | 山东 | NULL | | 3 | 济南 | 2 | | 4 | 青岛 | 2 | | 5 | 阅读全文
posted @ 2019-01-22 21:00 greenfan 阅读(640) 评论(0) 推荐(0)
摘要:链接查询:当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回 mysql支持三种类型的连接查询,分别为: 内连接查询:查询结果为两个表匹配到的数据,就是两个表中都有的数据的交集,显示有交集的数据。 右连接查询:查询结果为两个表匹配到的数据,以右表为基准匹配左表,对于匹 阅读全文
posted @ 2019-01-22 13:39 greenfan 阅读(149) 评论(0) 推荐(0)
摘要:limit start count 注意⚠️:limit需要放在语句最后 limit 限制查询出来的数据个数: 查询前5条记录: select * from students limit 5; 查询男性记录前5条: select * from students where gender="男" li 阅读全文
posted @ 2019-01-22 11:42 greenfan 阅读(88) 评论(0) 推荐(0)
摘要:聚合函数: 总数 count 查询所有男性记录数量: select count(*) from students where gender="男"; 最大值 max 查询最大年龄: select max(age) from students; 最小值 min 查询最小年龄: select min(a 阅读全文
posted @ 2019-01-22 00:02 greenfan 阅读(350) 评论(0) 推荐(0)
摘要:排序: order by asc 从小到达,默认值 desc 从大到小 查询18 到 35岁 男性,按年龄从小到大排序: select * from students where age between 18 and 35 and gender="男" order by age; select * 阅读全文
posted @ 2019-01-21 14:57 greenfan 阅读(144) 评论(0) 推荐(0)
摘要:基本查询: 查询students表所有字段: select * from students; 查询students表中的列1、列2: select * 列1, 列2 from students; 查询class表中的id和name字段: select id, name from class; 查询列 阅读全文
posted @ 2019-01-20 16:53 greenfan 阅读(220) 评论(0) 推荐(0)