sql数据库

ecshop操作数据库类

橙三吉。 提交于 2020-02-08 09:17:49
ECShop v2.7.2没有使用一些开源的数据库操作类,比如adodb或者PEAR,而是封装了自己的实现。这样做的好处是实现非常轻量,只有一个文件,27Kb,大大减小了分发包的文件大小。另外,当网站需要做memcached缓存时,也可以很方便的实现。当然,这样做的后果就是数据库的选择非常狭窄,无法实现其它的非MySQL数据库。 ECShop的数据操作类文件是includes/cls_mysql.php,类名是cls_mysql。该类主要提供了下面 一些比较有用的方法: getAll ($sql)和 getAllCached ($sql, $cached = 'FILEFIRST'):获取所有记录。 getRow ($sql, $limited = false)和 getRowCached ($sql, $cached = 'FILEFIRST'):获取单行记录。 getCol ($sqlse)和 getColCached ($sql, $cached = 'FILEFIRST'):获取某栏位的所有值。 getOne ($sql, $limited = false)和 getOneCached ($sql, $cached = 'FILEFIRST'):获取单个数值。 query ($sql):执行数据库查询。 autoExecute ($table, $field_values,

Ecshop 数据库操作方法getRow、getAll、getOne区别

≯℡__Kan透↙ 提交于 2020-02-08 07:23:00
ECShop没有使用一些开源的数据库操作类,比如adodb或者PEAR,而是封装了自己的实现。这样做的好处是实现非常轻量,大大减小了分发包的文件大小。另外,当网站需要做memcached缓存时,也可以很方便的实现。 当然,这样做的后果就是数据库的选择非常狭窄,无法实现其它的非MySQL数据库。 ECShop的数据操作类文件是includes/cls_mysql.php,类名是cls_mysql。 该类主要提供了下面 一些比较有用的方法: getAll($sql) 和getAllCached($sql, $cached = 'FILEFIRST'): 获取所有记录 。 function getAll($sql) { $res = $this->query($sql); if ($res !== false) { $arr = array(); while ($row = mysql_fetch_assoc($res)) { $arr[] = $row; } return $arr; } else { return false; } } getRow($sql, $limited = false) 和getRowCached($sql, $cached = 'FILEFIRST'): 获取单行记录。 getCol($sqlse)和getColCached($sql, $cached =

pymsql及事务

南笙酒味 提交于 2020-02-08 04:37:14
MySQL知识点补充 1、去重 distinct select distinct name,age from t1; # 针对查找出来的结果整行(记录)进行去重,也就是相同行只保存一个 注意点:distinct 必须放在查询列的第一个(放后面就会报错) 2、保存操作记录 tee tee D:a.txt; 可以把你对于MySQL的所有操作都记录到D盘下的a.txt中(包括一些报错信息) pymysql包的基本用法 基本的查看 import pymysql # 导入pymysql包 conn = pymysql.connect(host='localhost',user='root',password='123',database='db1',charset='utf8') # 连接mysql服务器,必须指定主机、用户、密码和你要使用的数据库 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 实例化拿到光标对象,可以对服务器发送sql语句 # cursor=pymysql.cursors.DictCursor是为了让输出变成字典(列名与值对应),不设置的话就是元组 sql = 'select * from t1 where id > %s'% 1 # 写的sql语句不需要封号结尾,如果需要给sql语句传参,需要通过

Atlas-MySQL

我的未来我决定 提交于 2020-02-08 04:29:12
优秀DBA的素质 1 、人品,不做某些事情 2 、严谨,运行命令前深思熟虑,三思而后行,即使是依据select 3 、细心,严格按照步骤一步一步执行,减少出错 4 、心态,遇到灾难,首先要稳住,不慌张,不要受到旁人的影响 5 、熟悉操作系统,Linux系统的工具和命令 6 、熟悉业务 ( 开发 ),编程语言 7 、熟悉行业 8 、喜欢数据库 • 什么是数据? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 • 什么是数据库管理系统? 将大量的数据规范的管理在一起的软件 • 数据库管理系统种类 关系型和非关系型 • 关系型数据库的特点   – 二维表   – 典型产品 Oracle传统企业, MySQL是互联网企业   – 数据存取是通过SQL   – 最大特点,数据安全性方面强(ACID) • NoSQL:非关系型数据库(Not only SQL)   – 不是否定关系型数据库,做关系型数据库的的补充。   – 想做老大,先学会做老二。 RDBMS与NoSQL对比 • web1.0时代   企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要NoSQL。 • web2.0时代   核心是企业提供平台,用户参与提供内容。这时关系型数据库无法满足需求了。 • 2003

解决 java.sql.SQLException: ORA-01502: index '' or partition ...

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-08 02:18:59
文章目录 错误 错误信息 解决方法 Oracle数据库中遇到下面的错误 错误 java.sql.SQLException: ORA-01502: index ‘####’ or partition of such index is in unusable state. 错误信息 索引或分区处于不可用状态 解决方法 执行下面的sql 例子: ALTER INDEX index_name REBUILD partition partition_name ; 注意: 上面sql中的 index_name , partition_name 换成真实数据库中对应的名字,然后执行,我这边可以解决问题。 来源: CSDN 作者: Trust-The-Process 链接: https://blog.csdn.net/weixin_44728363/article/details/104215915

MyBatis(一)

泪湿孤枕 提交于 2020-02-08 01:12:29
一、MyBatis介绍 mybatis是一个 半ORM (Object Relational Mapping对象关系映射)持久层框架, 底层封装了JDBC ,开发只需关注SQL,无需处理加载驱动、创建连接等重复工作。 二、MyBatis优点 解耦 :直接编写SQL,解除SQL与程序代码的耦合; 动态SQL :提供xml标签,支持编写动态sql; 代码少 :减少代码量,不需要手动加载驱动、创建连接等处理过程; 性能好 :直接编写原生态sql,严格控制sql执行性能,灵活度高。 兼容各种数据库 :MyBatis底层使用JDBC来连接数据库,只要JDBC支持的数据库MyBatis都支持; 集成spring ; 对象与字段映射 :提供映射标签,支持对象与数据库的ORM字段关系映射;提供了关系映射标签,支持对象关系组件维护。 三、MyBatis缺点 编写 大量SQL 语句,需要对sql有一定理解; 数据库 移植性差 :SQL语句依赖于数据库,不能随便更换数据库。 四、MyBatis与Hibernate区别 区别 MyBatis Hibernate 框架 半ORM框架 全ORM框架 优点 编写原生态sql,直接对sql性能优化,灵活度高,与代码解耦 对象关系映射能力强,平台无关性好 缺点 需编写大量sql,不支持数据库无关性 不能自主对sql优化,设置映射需考虑性能与对象模型的权衡 适用项目

数据库学习之JDBC

爷,独闯天下 提交于 2020-02-08 01:02:58
JDBC JDBC:SUN公司为了简化开发人员对数据库的统一操作,提供了一个java操作数据库的规范,称为JDBC。 我们只需掌握JDBC接口即可。 第一个JDBC程序 创建测试数据库 CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY, NAME VARCHAR(40), PASSWORD VARCHAR(40), email VARCHAR(60), birthday DATE ); INSERT INTO users(id,NAME,PASSWORD,email,birthday) VALUES(1,'zhansan','123456','zs@sina.com','1980-12-04'), (2,'lisi','123456','lisi@sina.com','1981-12-04'), (3,'wangwu','123456','wangwu@sina.com','1979-12-04'); 1、创建一个普通的项目 2、导入数据库驱动 测试代码: package com . llx . study01 ; import java . sql . * ; public class

[转帖]无刷新分页控件(原创)(jQuery+json+ashx)(Ajax)

半世苍凉 提交于 2020-02-08 00:57:11
近来在做一个项目, 有很多基本的信息表. 但这些信息都只有一些增删改查的相关操作 大多数表没有业务流的相关操作. 要是每个表的增删改查相关功能都一个个去做一个管理页 不单麻烦,也不算是一个程序员有的思想(不知道偷懒人程序员不算一个好的程序员) 三四十来张表.每张表做两个管理页.就是七八十人页面. 那我不想死. 所以.就打算做一个通用的增删改查控件 标题只是说一个分页显示控件,那还只是一个小点. 主要是看到现在园子里对这个做的人比效多.可能会有些点击吧.呵. 主要是以前我也做过一个那个无刷新分页的. 一下园子里就有好多人加我QQ, 有的是要源代码(那个版本JS压缩了一下), 有的是要我教jQuery, 有是就是问我那个控件怎么用. 只不过那个是用ACCESS+VS2008(jQuery+ashx+json)做的 只不过看看现在的开发.用ACC来做数据库的(大项目).那是不可能的吧 我们这个项目是用的SQL2005+VS2008 所以就在原来的基础上.更加一层的开发 (jQuery+ashx+json) 中间用到了josn的序列化与反序列化 反射,做了跨数据库接口等 当然,开始做的时候. 有一个好的设计方案是不可少的. 做的项目越多.就知道前期工作的重要性的.以前不怎么重视 在那个上面吃了大亏,就有了这个教训了 第一部分 下面是我的数据库设计,还有测试数据表结构设计

python+mysql练手小项目(增删改查手机信息)

你说的曾经没有我的故事 提交于 2020-02-08 00:22:36
* mysql部分 我用的是db1数据库,并建立了两个表 phone表---------存储手机信息 user表---------存储账号密码 * python部分 1.连接数据库 (connection()函数) #获取连接 def connection ( sql , para ) : coon = pymysql . connect ( host = 'localhost' , user = 'root' , password = '*******' , port = 3306 , db = 'db1' , charset = 'utf8' ) cur = coon . cursor ( ) #建立游标 if para == "null" : cur . execute ( sql ) #查询数据 else : cur . execute ( sql , para ) #增删改数据 ,para,代表的是sql的%s的值 res = cur . fetchall ( ) #,查找表中数据,返回结果是一个列表, coon . commit ( ) #提交数据到数据库 cur . close ( ) #关闭游标 coon . close ( ) #关闭连接 return res 2.主函数(main()函数) def main ( ) : while 1 : print ( "**

JDBC java连接数据库

◇◆丶佛笑我妖孽 提交于 2020-02-07 22:00:12
Day04笔记 一、JDBC 1.理解 **jdbc:**java database connectivity java与数据库的连接 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4oDcw25o-1581080407101)(C:\Users\Hello Word\AppData\Roaming\Typora\typora-user-images\1581072073736.png)] 2.角色分类 服务器(db) : a)、接收 sql b)、执行 sql c)、返回结果 **客户端(java):**a)、接收数据 b)、组装sql c)、发送SQL(与数据库建立联系) d)、分析结果 3.面向接口编程 接口名称 作用 java.sql.Connection 连接 java.sql.Statement 静态处理块 java.sql.PreparedStatement 预处理块 java.sql.ResultSet 结果集 java.sql.ResultSetMetaData 结果集元信息 二、JDBC使用 1.连接 1)准备工作 ​ 1.1 先去Oracle数据库安装路径下,获取到ojdbc6.jar 拿到项目中,新建一个资源文件夹,objc6.java放进去 ​ 2.2 点击右键build path->add to build path 2