ubuntu安装redis以及phpredis扩展

安装步骤:
1.执行:git clone https://github.com/nicolasff/phpredis.git
2.执行:cd phpredis/
3.执行:phpize
4.执行:./configure
5.执行:sudo make && make install
6.编辑php.ini添加
extension=redis.so
7.重启apache
查看phpinfo
测试:
<?php
/**
* 测试redis扩展
* User: joyous
* Date: 13-12-5
* Time: 下午1:15
*/
$redis = new Redis();
$redis->connect(‘127.0.0.1’, 6379);
$redis->set(‘k’, ‘Hello Joyous’);
var_dump($redis->get(‘k’));

Sqlite使用说明

安装apt-get install slqite

.databases List names and files of attached databases(列出数据库名称和数据库文件)
“.datebasae” 命令显示所有当前连接打开的数据库的一个列表。将允许一次到少两个。第一个是“main”,最初打开的那个数据库。第二个是”temp”,用于临时表的数 据库。对于用ATTACH语句附加的数据也许有附加数据库列表。输出的第一列与之相联的数据库名,第二列是外部文件名。
.schema ?TABLE? Show the CREATE statements(.schema 显示所有的表的创建语句;.schema tableX 显示表tableX的创建语句.)
.exit Exit this program(退出sqlite管理)
.tables ?PATTERN? List names of tables matching a pattern(.tables 显示数据库中所有的表.)
.dump ?TABLE? … Dump the database in a text format(打包数据库命令)
.echo ON|OFF Turn command echo on or off
.explain ON|OFF Turn output mode suitable for EXPLAIN on or off(”.explain”命令可以被用来设 置输出格式为“column” 并设置列宽为EXPLAIN命令看起来比较合理的宽度)
.header(s) ON|OFF Turn display of headers on or off(出现在输出开头两行的列标示可以用”.header”点命令关闭)
.help Show this message(显示帮助信息)
.indices TABLE Show names of all indices on TABLE(“.indices”命令作用类似的方 式是列出特定表的所有的索引,需要带上表名参数)
.mode MODE Set mode to one of “line(s)”, “column(s)”, “insert”, “list”, or “html”(八种不同的格式显示一个查询的结果:”csv”, “列”, “html”, “插入”, “行”, “制表”和”tcl”。你可以用”.mode”点命令在这些输出格式之间切换。)
.mode insert TABLE Generate SQL insert statements for TABLE
.nullvalue STRING Print STRING instead of nothing for NULL data
.output FILENAME Send output to FILENAME(只须把输出文件名做为.output命令的输出参数然后所有后续查询结果将被写到那个文件中。用“.output stdout”再一次改为标准输出)
.output stdout Send output to the screen(标准输出流)
.prompt MAIN CONTINUE Replace the standard prompts
.read FILENAME Execute SQL in FILENAME(读取sql文件批量执行)
.separator STRING Change separator string for “list” mode
.show Show the current values for various settings
.timeout MS Try opening locked tables for MS milliseconds(.timeout”命令设置sqlite3等待一个试图存储文件锁定请除直到错误返回的总时)
.width NUM NUM … Set column widths for “column” mode(用“.width”命令来调整列宽)

Continue reading

Mysql命令行操作教程【二】

1.连接
mysql -u root -h localhost -p
2.建立数据库
create database test
3.建立数据表
create table if not exists test ( id int(10) not null primary key auto_increment comment ‘这里是注释’, subject varchar(20) not null ) engine=myisam default charset=utf8 comment=’表注释在这里’;
4.查看表
show tables;
5.查看表结构
desc test;(其中test是表明)
6.重新命名表
alter table test rename study;

Mysql触发器

MySQL触发器

1、 触发器作用

日志跟踪:使用数据库记录apache等日志,可以使用自动插入操作

验证数据:触发器可以验证更新数据库要存入的数据

引用完整:验证数据完整可以使用程序验证,但是触发器也可以搞定

2、 前触发器和后触发器

前触发器和后触发器区别触发器在发生的事件前后关系

3、 创建触发器

语法:

CREATE [DEFINER={USER|CURRENT_USER}]

TRIGGER<trigger name>

{BEFORE|AFTER}

{INSERT|UPDATE|DELETE}

ON<table name>

FOR EACH ROW

<triggered SQL statement>

CREATE TRIGGER语句需要SUPER权限

4、 查看触发器

SHOW TRIGGERS和INFORMATION_SCHEMA可以查看现有的触发器

5、 删除触发器

语法:DROP TRIGGER [IF EXISTS] table_name.trigger_name

Mysql数据类型以及字段属性大盘点

1、  时间和日期

l  Date:存储日期信息,标准形式YYYY-MM-DD,但是形如20120808以及2012*08*08或者2012!08!08。也就是说不论中间用何种分隔,存储到数据库之后都是2012-08-00

l  Datetime:存储日期和时间组合,标准格式YYYY-MM-DD HH:MM:SS。Datetime取值范围在1000-01-01 00:00:00~9999-12-31 23:59:59

l  Time:存储时间信息,-838:59:59~838:59:59范围

l  Timstamp:和datetime的区别在于插入和更新会自动回去当前时间

l   Year:存储年份信息,有两位和4位之分

2、  数字数值类型

Bool是tinyint的别名,用于赋值0或者1

Bigint:数据类型提供了mysql最大的整数范围,取值范围分为有符号:-9223372036854775808~9223372036854775807,无符号是0~18446744073709551615

Int:提供了第二大的整数范围

Mediumint:提供了第三大整数

SMAllint:提供了第四大整数范围

Tinyint:提供了最小的整数范围,值在-128-127(分清楚范围就不担心数据够不够存储)

Decimal,double,float:存储浮点数

3、  字符串类型

Char:提供了固定长度的字符串类型,最大255字符

Varchar:可变长度的字符串类型,最大255个字符(尽量使用char而不是varchar)

Longblob:提供了最大的二进制字符串存储,最大4294967295个字符

Longtext:提供了最大的非二进制字符串存储,范围4294967295个字符

Mediumblob:提供了第二大二进制字符串存储

Mediumtext:提供了第二大非二进制字符串存储

Blob:提供第三大二进制字符串存储

Text:提供第三大非二进制字符串存存储

Tinyblob:提供最小的二进制字符串存储最多255个字符

Tinytext:提供最小的非二进制字符串存储最多255个字符

Enum:枚举类型,最多可以有65535组不同的数据

Set:枚举类型,最多可以设置有64个成员

  Continue reading