那些年的记忆

习惯改变行为,行为决定命运。

复习(二) 数据类型及数据表操作

1. 数据类型

数据类型是指列、存储过程参数、表达式或局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。


整型:TINYINT(1个字节)、SMALLINT(2个字节)、MEDIUMINT(3个字节)、INT(4个字节)、BIGINT(8个字节)

浮点型:FLOAT、DOUBLE


日期时间型:YEAR、TIME、DATE、DATETIME、TIMESTAMP

注:日期

复习(一) 概述及数据库操作命令

1. 基础

MySQL由瑞典MySQL AB公司开发,目前属于ORACLE公司。

MySQL是一个开源的关系型数据库管理系统。

MySQL分为社区版和企业版。


MySQL目录结构:

bin目录 存储可执行文件

data目录 存储数据文件

doc目录 存储文档

include目录 存储包含的头文件

lib目录 存储库文件

share目录 错误消息和字

Zend Studio 常用设置

1. 添加项目导入网站文件

选择"File"菜单-"New"-"PHP Project from Existing Directory"

2. 添加主题、字体和注释

// 修改主题

1) 选择"Help"菜单-Install New Software 在Work with填写"http://eclipse-color-theme.github.com/update/" 点击Add,然后Next..

2) 选择"Window"菜单-"Preferences"-"General"-"Appearance"-"Color Theme" 随便选吧

// 修改字体

3) 选择"Window"菜单-"Preferences"-"General"-"Appearance"-"Colors and Fonts"-"Basic"-"Text Font"-"Edit"


Crontab详解

1. Crontab是什么?

Crontab是一个用于设置周期性被执行的任务的工具。

使用场景:

每分钟需要执行一个程序检查每户运行状态

每天凌晨需要对过去一天的业务数据进行统计

每个星期需要把日志文件备份

每个月需要把数据库进行备份

等等。。。

数据库优化之基本语句优化10个原则

原则1. 尽量避免在列上进行计算,这样会导致索引失效。

如:

SELECT * FROM t WHERE YEAR(d) >= 2011;

优化为:

SELECT * FROM t WHERE d >= '2011-01-01';


Nginx的Rewrite规则

  • Nginx Rewrite规则的相关指令有if、rewrite、set、return、break等。

    break指令:作用是完成当前的规则集,不再处理rewrite指令。

    if指令:用于检查一个条件是否符合,如果条件符合,则执行大括号内的语句。if指令不支持嵌套,

使用Logrotate分割Nginx日志

Logrotate简介

logrotate 是Linux系统日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。

使用变量做表名创建存储过程

使用变量做表名创建存储过程

设置分隔符

DELIMITER $$

创建存储过程

CREATE DEFINER=`root`@`%` PROCEDURE `create_table`(IN `$cell_ident` int)
BEGIN
SET @cell_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS CellBase.tab_',$cell_ident,' LIKE CellBase.meta;');
SET @serial_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS SerialBase.tab_',$cell_ident,' LIKE SerialBase.meta;');
SET @album_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS AlbumBase.tab_',$cell_ident,' LIKE AlbumBase.meta;');
PREPARE create_cell FROM @cell_sqlcmd;
PREPARE create_serial FROM @serial_sqlcmd;
PREPARE create_album FROM @album_sqlcmd;
EXECUTE create_cell;
EXECUTE create_serial;
EXECUTE create_album;
DEALLOCATE PREPARE create_cell;
DEALLOCATE PREPARE create_serial;
DEALLOCATE PREPARE create_album;
END$$


MySQL 用户及权限

1. 与用户相关的授权表:

user

    每一行主是一个用户账号(用户名、主机名和加密后的密码)以及用户的全部权限

db

    每一行包含了某个用户在数据库级权限

host

    每一行包含了用户从指定主机登录过来时它在一个数据库里的所有权限

tables_priv

    每一行包含了指定用户和表的表级别上的权限,也包括了视图的权限在内

columns_priv

    每一行包含了指定用户和列的列级别上的权限

procs_priv(5.0以上版本引入)

    每一行包含了指定用户和存储程序(存储过程和函数)的权限

定义Nginx日志格式

与nginx日志相关的有两条命令:log_format和access_log;前者用来设置日志格式,后者用来指定日志文件的存放路径、格式和缓存大小。

1. log_format 格式

log_format name(格式名字不能重复) 格式样式

例如:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_s ent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';