数据库相关

自己写个mysql的操作类

Posted in 后端技术, 数据库相关 on 十月 22nd, 2008 by admin – 评论关闭
links = mysql_connect($host, $user, $pass)){
			return false;
		}
		mysql_select_db($dbname);
		$this->connected = true;
	}

	//关闭
	function close(){
		$this->connected = false;
		$this->link = null;
		return true;
	}

	//快速查询
	//返回影响的记录条数
	function _query($sql){
		if(empty($sql) or !$this->connected){ return false; }
		return mysql_query($sql);
	}

	//返回二维数组(行, 列)
	function execute($sql){
		if(empty($sql) or !$this->connected){ return false;}
		$result = $this->_query($sql);
		while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
			$out[]=$row;
		}
		mysql_free_result($result);
		return $out;
	}

	//返选输出范围
	function selectlimit($sql,$numrows=-1,$offset=-1){
		if(empty($sql) or !$this->connected){ return false;}
		$sql = $sql." LIMIT $numrows,$offset";
		$result = $this->_query($sql);
		while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
			$out[]=$row;
		}
		mysql_free_result($result);
		return $out;
	}

	//取单个字段记录
	function getone($sql){
		if(empty($sql) or !$this->connected){ return false;}
		$result = $this->_query($sql);
		$row = mysql_fetch_array($result);
		mysql_free_result($result);
		return $row[0];
	}

	//取单个表记录
	function getrow($sql){
		if(empty($sql) or !$this->connected){ exit('db connected error');return false;}
		$result = $this->_query($sql);
		$row = mysql_fetch_array($result, MYSQL_ASSOC);
		mysql_free_result($result);
		return $row;
	}

	//删除记录
	function del($sql){
		return $this->_query($sql);
	}

	//增加记录
	function into($sql){
		$this->_query($sql);
		return mysql_insert_id();
	}
}


echo "
";
$conn = new db;
$conn->connect();

$sql = 'SELECT * FROM mt_tag';
$sql1 = "INSERT INTO mt_tag (tagname) VALUES ('abc')";
$sql2 = "DELETE FROM `mt_tag` WHERE (`id`='123')  ";

$arr = ($conn->selectlimit($sql,0,5));

foreach($arr as $v){
	foreach ($v as $k=>$v1){
		echo $k."->>".$v1."";
	}
	echo "

"; } var_dump($conn->_query($sql2)); print_r($conn->getrow($sql)); print_r($conn->getone($sql)); $conn->close();
?>

mysql字段类型说明与用途(转)

Posted in 数据库相关 on 十月 16th, 2008 by admin – 评论关闭
数据类型 描述 字节 推荐使用
SMALLINT 整数,从-32000到 +32000范围 2 存储相对比较小的整数。
比如: 年纪,数量
INT 整数,从-2000000000 到 +2000000000 范围 4 存储中等整数
例如: 距离
BIGINT 不能用SMALLINT 或 INT描述的超大整数。 8 存储超大的整数
例如: 科学/数学数据
FLOAT 单精度浮点型数据 4 存储小数数据
例如:测量,温度
DOUBLE 双精度浮点型数据 8 需要双精度存储的小数数据
例如:科学数据
DECIMAL 用户自定义精度的浮点型数据 变量;取决于精度与长度 以特别高的精度存储小数数据。
例如:货币数额,科学数据
CHAR 固定长度的字符串 特定字符串长度(高达255字符) 存储通常包含预定义字符串的变量
例如: 定期航线,国家或邮编
VARCHAR 具有最大限制的可变长度的字符串 变量; 1 + 实际字符串长度 (高达 255 字符) 存储不同长度的字符串值(高达一个特定的最大限度).
例如:名字,密码,短文标签
TEXT 没有最大长度限制的可变长度的字符串 Variable; 2 +聽 actual string length 存储大型文本数据
例如: 新闻故事,产品描述
BLOB 二进制字符串 变量;2 + 实际字符串长度 存储二进制数据
例如:图片,附件,二进制文档
DATE 以 yyyy-mm-dd格式的日期 3 存储日期
例如:生日,产品满期
TIME 以 hh:mm:ss格式的时间 3 存储时间或时间间隔
例如:报警声,两时间之间的间隔,任务开始/结束时间
DATETIME 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 8 存储包含日期和时间的数据
例如:提醒的人,事件
TIMESTAMP 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 4 记录即时时间
例如:事件提醒器,“最后进入”的时间标记
YEAR 以 yyyy格式的年份 1 存储年份
例如:毕业年,出生年
ENUM 一组数据,用户可从中选择其中一个 1或 2个字节 存储字符属性,只能从中选择之一
例如:布尔量选择,如性别
SET 一组数据,用户可从中选择其中0,1或更多。 从1到8字节;取决于设置的大小 存储字符属性,可从中选择多个字符的联合。
例如:多选项选择,比如业余爱好和兴趣。