1. 数据读取器概述 数据读取器不能直接实例化,而是通过执行命令对象的ExecuteReader方法创建它的实例。 SqlDataReader rdr = cmd.ExecuteReader(); 该数据读取器可用来访问查询的结果集。 (1). 使用序数索引器 示例使用while循环完成读取每行记录,由于Read()表示如果存在下一行,该方法返回true,否则,返回false while(
wo56565
2019-03-14
解决方法: 1、首先确定的是自己mysql的字符集是否都是utf8,通过mysql -u root -p然后输入数据库的密码登陆。在mysql命令行查询自己的字符集是否都是utf8(除了文件的编码是binary)。 show variables like 'char%'; 1 如果不是utf8的话,通过 set character_set_clinet=utf8; 1 等命令修改字符
wo56565
2019-03-14
有一个业务需求 统计各个景区的入园人数、销售额以及入园人数和销售额的同比,以月度为例子同比为例;环比类似 思路分析:表a首先统计出当月的入园人数、销售额,表b统计出同期的入园人数、销售额(在a的基础上减去一年,可),将两个表进行左连接。 select CASE WHEN b.TOTAL_COUNT is NULL OR b.TOTAL_COUNT=0 THEN 0 ELSE
wo56565
2019-03-13
一、通过命令行显示字符集设置 show variables like 'character_set%'; 第一个,character_set_client 是发送数据的字符集编码。 第二个,character_set_connection是连接数据库时的字符集编码。 第三个,character_set_results 是返回结果时的字符集编码。 第三个,character_set_datab
wo56565
2019-03-13
Sql语句的封装虽然没有出现在考核要求里,但是这个问题是一定会考的,而且是个关键的封装,可以极大的简化代码量,和方便对数据库的访问,如果没有Sql语句的封装或者封装的不够彻底,那么考核基本就凉一半了。 我们条用的Sql语句大致分为两类,一类是读(SELECT),一类是写(UPDATE,DELETE,INSERT), 读就是指仅读取数据库里的信息,写就是对数据库信息有影响的操作。那么写操作的Sq
wo56565
2019-03-13
对于 select*要时刻保持谨慎的态度 绝大多数情况,是不需要 select*的。一旦使用了这种语句,便会让优化器无法完成索引覆盖扫描这类优化,而且还会增加额外的I/O、内存和CPU的消耗。 当然,使用 select*也并不是全是坏处,合理的使用 select*可以简化开发,提高相同代码的复用性。 慎用 join操作 这算是一条禁忌吧,很多公司的互联网产品都杜绝join操作,换成先从一张表中先取
wo56565
2019-03-13
方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一,当日期为未来日期时结果为0,而不是负数;这里使用了5个函数和两个运算符。 方法二 SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') - (DATE_FO
wo56565
2019-03-13
1.安装下载的SQLyog-11.5.0-0.exe,安装后运行或不运行均可 2.打开系统目录,例如:C:\Windows;找到unins000.exe(根据系统不同,也有可能是unins001.exe或者unins002.exe、unins003.exe)——是个和SQLyog一样的紫色小鱼标志,很好找的。 3.双击运行,提示什么都不管,直接点“是(Y)”,卸载后会导致SQLyog注册失效 4
wo56565
2019-03-13
1.安装之后的密码 #启动MySQL systemctl start mysqld #启动成功后可以查看初始化密码随机生成的 cat /var/log/mysqld.log | grep password 2.安装后第一次登录要修改密码 #登录MySQL修改mysql用户密码 mysql -u root -p mysql> ALTER USER 'root'@'localhost' IDENT
wo56565
2019-03-13
存储引擎 MySQL 可以将数据以不同的技术存储在文件 (内存) 中,这种技术就称作从存储引擎。不同的存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛且不同的功能。 MySQL支持的存储引擎: MyISAM InnoDB Memory CSV Archive 数据库的并发控制 当多个连接对记录进行修改时需要保证数据的一致性与完整性,并发控制可以通过锁机制实现。 锁 共享锁(读锁):在同
wo56565
2019-03-13
格式为yyyymmddhh:mm:ss的时间格式转换 医务部要求统计住院时间48小时以内病人的手术情况,通过计算出区时间cqrq与入区时间rqrq的时间差,可以进行统计。 金仕达数据库中的时间格式为yyyymmddhh:mm:ss,非标准格式的字符串格式,需要转换成标准格式的时间格式datetime。 使用一下语句 datediff (hour, convert (datetime,subs
wo56565
2019-03-13
wo56565
2019-03-11
模块是一系列常用功能的集合体,一个py文件就是一个模块。 一、模块的作用: 1、从文件级别组织程序,方便管理,随着程序的发展,功能越来越多,我们通常将程序分成一个个py文件,这样做程序的结构更清晰,方便管理。这时我们不仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用。 2、拿来主义,提升开发效率 同样的原理,我们也可以下载别人写好的模块然后导入到自己的
wo56565
2019-03-11
布尔值 所有标准对象均可用于布尔测试,每个对象天生具有布尔True或False 空对象, 值为零的任何数字或者None的布尔值都是False 用户创建的类实例如果定义了nonzero(__nonzero__())或length(__len__())且值为0,那么他们的布尔值就是False。如果nonzero和length同时存在,以nonzero的结果为准。 标准对象里的False def pri
wo56565
2019-03-11
return的作用是将函数结果返回,即退出def函数模块。大量的教材和网上教程都有说明函数执行遇到return就会结束,返回一个值给调用函数处。常规用法确实是这样,但在递归调用中却存在一个坑,今天就遇到了,举个例子: 一个简单的不断相加的递归小程序: def add(sum,x,y): if sum<10: x =2 y =2 sum
wo56565
2019-03-11
Null表示对象或某种数据类型(数据类型也为空,python中万物皆为对象)为空,而None表示一种一种特殊的数据类型,与Null不是同一概念,看例子:
wo56565
2019-03-11
import pygame # Define some colors BLACK = ( 0, 0, 0) WHITE = ( 255, 255, 255) # This is a simple class that will help us print to the screen # It has nothing to do with the joysticks,
wo56565
2019-03-11
6. 字典键值判断 ##不推荐 if my_dict.has_key(key): # ...do something with d[key] ##推荐 if key in my_dict: # ...do something with d[key] 7. 字典 get 和 setdefault 方法 ##不推荐 navs = {} for (portfolio, equity
wo56565
2019-03-11
Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。 要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,下面列举一些常见的Pythonic写法。 0. 程序必须先让人读懂,然后才能让计算机执行。 “Programs must b
wo56565
2019-03-11