<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ls /proc &#187; 笔记</title>
	<atom:link href="http://www.lsproc.com/blog/tag/%e7%ac%94%e8%ae%b0/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lsproc.com/blog</link>
	<description>lsproc.com</description>
	<lastBuildDate>Fri, 18 Nov 2011 09:22:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Cakephp 笔记</title>
		<link>http://www.lsproc.com/blog/cakephp_note/</link>
		<comments>http://www.lsproc.com/blog/cakephp_note/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 17:31:06 +0000</pubDate>
		<dc:creator>lostsnow</dc:creator>
				<category><![CDATA[Program&Database]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://localhost/lost/blog/webdesign/cakephp_note/</guid>
		<description><![CDATA[转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/cakephp_note/ 1. 自定义 layout 在 cakephp 中 layout 默认指向 /app/views/layouts/default.thtml 如果要自定义 layout，需要在 controller 中定义： var $layout = 'mydefault'; layout 则指向了 /app/views/layouts/mydefault.thtml 2. 创建不使用数据库表的 model 或者改变 model 对应的表名 我需要创建一个不使用任何表的model。例如，我想通过 $validate 数组方便底验证输入数据，保持model逻辑的正确性。但创建 model 时对应的表不存在，CakePHP 就会报错。通过在 model 中加入以下代码可以解决这个问题： var $useTable = &#8230; <a href="http://www.lsproc.com/blog/cakephp_note/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转载时请标明文章原始出处和作者信息, 作者: <a href="http://www.lsproc.com/blog/">lostsnow</a>.<br /><a href="http://www.lsproc.com/blog/cakephp_note/">http://www.lsproc.com/blog/cakephp_note/</a></p>
<p>1. 自定义 layout</p>
<p>在 cakephp 中 layout 默认指向 /app/views/layouts/default.thtml<br />
如果要自定义 layout，需要在 controller 中定义：<br />
<code>var $layout = 'mydefault';</code><br />
layout 则指向了 /app/views/layouts/mydefault.thtml</p>
<p>2. 创建不使用数据库表的 model 或者改变 model 对应的表名</p>
<p>我需要创建一个不使用任何表的model。例如，我想通过 $validate 数组方便底验证输入数据，保持model逻辑的正确性。但创建 model 时对应的表不存在，CakePHP 就会报错。通过在 model 中加入以下代码可以解决这个问题：</p>
<p><code>var $useTable = false;</code></p>
<p>你也可以通过这种方法改变model对应的表名。</p>
<p>var $useTable = 'some_table';</p>
<p>3. 快速创建后台管理</p>
<p>如果你需要创建后台管理程序，并且希望所有管理action都位于某个特定文件夹下，那么打开 config/core.php 并将下面这一行的注释去掉：</p>
<p><code>define('CAKE_ADMIN', 'admin');</code></p>
<p>这样所有以"admin_"开头的action都可以通过 /admin/yourcontroller/youraction 来访问。例如，如果在 posts controller 中创建了名为 "admin_add" 的 action，那么可以通过 www.example.com/admin/posts/add 访问这个action。这样就可以方便地为 admin 目录设置密码以避免他人随意访问。</p>
<p>4. 自定义404页面</p>
<p>如果你需要自定义404页面，只需创建 /app/views/errors/error404.thtml。</p>
<p>5. 让controller使用其他model</p>
<p>如果你的controller需要调用来自不同model的数据，只要在controller开头使用如下代码：</p>
<p><code>class yourController extends AppController {<br />
var $uses = array('Post','User');<br />
}</code></p>
<p>这样controller就能访问Post和User model了。
<p>-- EOF --</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>2007-11-13 -- <a href="http://www.lsproc.com/blog/cakephp_callback_function/" title="Cakephp 的回调函数">Cakephp 的回调函数</a> (0)</li><li>2007-11-09 -- <a href="http://www.lsproc.com/blog/zend_framework_summary/" title="Zend 框架摘要">Zend 框架摘要</a> (0)</li><li>2007-10-31 -- <a href="http://www.lsproc.com/blog/cakephp_conventions/" title="CakePHP 命名规则">CakePHP 命名规则</a> (1)</li><li>2007-09-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_4/" title="PHP 和 Mysql 学习笔记（四）">PHP 和 Mysql 学习笔记（四）</a> (0)</li><li>2007-06-22 -- <a href="http://www.lsproc.com/blog/php_mysql_study_2/" title="PHP 和 Mysql 学习笔记（二）">PHP 和 Mysql 学习笔记（二）</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.lsproc.com/blog/cakephp_note/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 和 Mysql 学习笔记（四）</title>
		<link>http://www.lsproc.com/blog/php_mysql_study_4/</link>
		<comments>http://www.lsproc.com/blog/php_mysql_study_4/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 16:47:00 +0000</pubDate>
		<dc:creator>lostsnow</dc:creator>
				<category><![CDATA[Program&Database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://localhost/lost/blog/webdesign/php_mysql_study_4/</guid>
		<description><![CDATA[转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/php_mysql_study_4/ 1. 如何禁用 select 下拉列表中的某一项 &#60;select&#62; &#60;option selected&#62;——请选择——&#60;/option&#62; &#60;optgroup label=&#34;分类一&#34;&#62; &#60;option&#62;——子类一&#60;/option&#62; &#60;option&#62;——子类二&#60;/option&#62; &#60;/optgroup&#62; &#60;optgroup label=&#34;分类二&#34;&#62; &#60;option&#62;——子类一&#60;/option&#62; &#60;option&#62;——子类二&#60;/option&#62; &#60;/optgroup&#62; &#60;/select&#62; 2. EMS SQL Manager中文显示乱码 打开EMS SQL Manager点击那个数据库出现了许多属性 选择database registration info中有一个client charset 选择gb2312简体中文 3. Mysql 乱码 MySQL数据库字符集为utf8 并且网页通过UTF-8编码发送 这时存入数据库的仍然是乱码 需要做以下设置： &#8230; <a href="http://www.lsproc.com/blog/php_mysql_study_4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转载时请标明文章原始出处和作者信息, 作者: <a href="http://www.lsproc.com/blog/">lostsnow</a>.<br /><a href="http://www.lsproc.com/blog/php_mysql_study_4/">http://www.lsproc.com/blog/php_mysql_study_4/</a></p>
<p><strong>1. 如何禁用 select 下拉列表中的某一项</strong></p>
<pre class="brush: html">
&lt;select&gt;
&lt;option  selected&gt;——请选择——&lt;/option&gt;
&lt;optgroup  label=&quot;分类一&quot;&gt;
&lt;option&gt;——子类一&lt;/option&gt;
&lt;option&gt;——子类二&lt;/option&gt;
&lt;/optgroup&gt;
&lt;optgroup  label=&quot;分类二&quot;&gt;
&lt;option&gt;——子类一&lt;/option&gt;
&lt;option&gt;——子类二&lt;/option&gt;
&lt;/optgroup&gt;
&lt;/select&gt;
</pre>
<p><strong>2. EMS SQL Manager中文显示乱码</strong><br />
打开EMS SQL Manager点击那个数据库出现了许多属性<br />
选择database registration info中有一个client charset<br />
选择gb2312简体中文</p>
<p><strong>3. Mysql 乱码</strong><br />
MySQL数据库字符集为utf8<br />
并且网页通过UTF-8编码发送<br />
这时存入数据库的仍然是乱码<br />
需要做以下设置：<br />
<code>@mysql_connect($dbhost,$dbuser,$dbpassword);</code><br />
加上下面这行<br />
<code>$this->query("SET NAMES 'utf8'");</code><br />
在每次发送sql查询前设定字符集为utf-8</p>
<p>4. 正则表达式</p>
<pre class="brush: php">Email匹配
if(!preg_match(&quot;/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/&quot;,$email))
{
echo &quot;邮件格式不正确&quot;;
}</pre>
<p>5. PHP5中时间相差八小时的解决办法</p>
<pre class="brush: php">&lt;?php
date_default_timezone_set(&#039;Asia/Shanghai&#039;);
echo date(&#039;Y-m-d H:i:s&#039;);
?&gt;</pre>
<p>6. PHP防止SQL注入攻击的简单方法</p>
<p>    1.修改PHP的配置文件 php.ini ,将display_errors的值设为Off，这样保证PHP脚本在出错之后不会在页面中显示错误信息。<br />
    2.在Mysql函数前加错误抑制符 @ ，避免输出mysql错误。<br />
    3.对所有用户输入的数据进行转义并进行类型检查。</p>
<p>7. 返回GD函数版本号</p>
<pre class="brush: php">
function gd_version() {
if (function_exists(&#039;gd_info&#039;)) {
$GDArray = gd_info();
$gd_version_number = $GDArray[&#039;GD Version&#039;] ? $GDArray[&#039;GD Version&#039;] : 0;
unset($GDArray);
} else {
$gd_version_number = 0;
}
return $gd_version_number;
}
</pre>
<p>8. 获得用户的真实IP地址</p>
<pre class="brush: php">
function realip()
{
    static $realip = NULL;

    if ($realip !== NULL)
    {
        return $realip;
    }

    if (isset($_SERVER))
    {
        if (isset($_SERVER[&#039;HTTP_X_FORWARDED_FOR&#039;]))
        {
            $arr = explode(&#039;,&#039;, $_SERVER[&#039;HTTP_X_FORWARDED_FOR&#039;]);

            /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
            foreach ($arr AS $ip)
            {
                $ip = trim($ip);

                if ($ip != &#039;unknown&#039;)
                {
                    $realip = $ip;

                    break;
                }
            }
        }
        elseif (isset($_SERVER[&#039;HTTP_CLIENT_IP&#039;]))
        {
            $realip = $_SERVER[&#039;HTTP_CLIENT_IP&#039;];
        }
        else
        {
            if (isset($_SERVER[&#039;REMOTE_ADDR&#039;]))
            {
                $realip = $_SERVER[&#039;REMOTE_ADDR&#039;];
            }
            else
            {
                $realip = &#039;0.0.0.0&#039;;
            }
        }
    }
    else
    {
        if (getenv(&#039;HTTP_X_FORWARDED_FOR&#039;))
        {
            $realip = getenv(&#039;HTTP_X_FORWARDED_FOR&#039;);
        }
        elseif (getenv(&#039;HTTP_CLIENT_IP&#039;))
        {
            $realip = getenv(&#039;HTTP_CLIENT_IP&#039;);
        }
        else
        {
            $realip = getenv(&#039;REMOTE_ADDR&#039;);
        }
    }

    preg_match(&quot;/[\d\.]{7,15}/&quot;, $realip, $onlineip);
    $realip = !empty($onlineip[0]) ? $onlineip[0] : &#039;0.0.0.0&#039;;

    return $realip;
}
</pre>
<p>9. 连接多个ID，以便创建像这样的查询: "IN('a','b')";</p>
<pre class="brush: php">
function implode_ids($array){
$ids = $comma = &#039;&#039;;
if (is_array($array) &amp;&amp; count($array)){
foreach($array as $id) {
$ids .= &quot;$comma&#039;&quot;.intval($id).&quot;&#039;&quot;;
$comma = &#039;, &#039;;
}
}
return $ids;
}
</pre>
<p>-- EOF --</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>2007-06-22 -- <a href="http://www.lsproc.com/blog/php_mysql_study_2/" title="PHP 和 Mysql 学习笔记（二）">PHP 和 Mysql 学习笔记（二）</a> (0)</li><li>2008-03-18 -- <a href="http://www.lsproc.com/blog/configure_lamp/" title="lamp 相关配置 [Debian]">lamp 相关配置 [Debian]</a> (2)</li><li>2007-11-13 -- <a href="http://www.lsproc.com/blog/cakephp_note/" title="Cakephp 笔记">Cakephp 笔记</a> (0)</li><li>2007-07-27 -- <a href="http://www.lsproc.com/blog/php_mysql_study_3/" title="PHP 和 Mysql 学习笔记（三）">PHP 和 Mysql 学习笔记（三）</a> (0)</li><li>2007-06-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_1/" title="PHP 和 Mysql 学习笔记（一）">PHP 和 Mysql 学习笔记（一）</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.lsproc.com/blog/php_mysql_study_4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 和 Mysql 学习笔记（三）</title>
		<link>http://www.lsproc.com/blog/php_mysql_study_3/</link>
		<comments>http://www.lsproc.com/blog/php_mysql_study_3/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 08:35:48 +0000</pubDate>
		<dc:creator>lostsnow</dc:creator>
				<category><![CDATA[Program&Database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.lostk.com/blog/webdesign/php_mysql_study_3/</guid>
		<description><![CDATA[转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/php_mysql_study_3/ 1. mysql 定界符（反引号`） 当标示符是一个受限的词或包含特殊的字符时使用 select * from `select` where `select`.id &#62;100; create table orders(`my orders` varchar(100)...); 2. 数据库的大小写 linux下的数据库和表名的大小写是敏感的 其他的数据库对象不区分大小写 3. mysql 分组语句和嵌套子查询 员工表 emp( empno, name, tel, deptno, sal ) 部门表 dept( deptno, dname, addr ) &#8230; <a href="http://www.lsproc.com/blog/php_mysql_study_3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转载时请标明文章原始出处和作者信息, 作者: <a href="http://www.lsproc.com/blog/">lostsnow</a>.<br /><a href="http://www.lsproc.com/blog/php_mysql_study_3/">http://www.lsproc.com/blog/php_mysql_study_3/</a></p>
<p><strong>1. mysql 定界符（反引号`）</strong></p>
<p>当标示符是一个受限的词或包含特殊的字符时使用</p>
<pre class="brush: sql">select * from `select` where `select`.id &gt;100;
create table orders(`my orders` varchar(100)...);</pre>
<p><strong>2. 数据库的大小写</strong></p>
<p>linux下的数据库和表名的大小写是敏感的<br />
其他的数据库对象不区分大小写</p>
<p><strong>3. mysql 分组语句和嵌套子查询</strong></p>
<p>员工表 emp( empno, name, tel, deptno, sal )<br />
部门表 dept( deptno, dname, addr )</p>
<p>显示每个部门收入最高的职工信息</p>
<pre class="brush: sql">select * from emp
where sal in (
	select max(sal)
	from emp
	group by deptno
);</pre>
<p><strong>4. mysql 查询排序 ( SQL Order By )</strong></p>
<p>SELECT "栏位名"<br />
FROM "表格名"<br />
[WHERE "条件"]<br />
ORDER BY "栏位名" [ASC, DESC]</code><br />
ASC 代表结果会以由小往大的顺序列出，而 DESC 代表结果会以由大往小的顺序列出，默认值为 ASC。</p>
<p>我们可以照好几个不同的栏位来排顺序。在这个情况下， ORDER BY 子句的语法如下(假设有两个栏位)：<br />
ORDER BY "栏位一" [ASC, DESC], "栏位二" [ASC, DESC]<br />
若我们对这两个栏位都选择由小往大的话，那这个子句就会造成结果是依据 "栏位一" 由小往大排。若有好几笔资料 "栏位一" 的值相等，那这几笔资料就依据 "栏位二" 由小往大排。 </p>
<p><strong>5. mysql limit 子句</strong></p>
<p>数据表同3，查询薪水最低的5名员工。<br />
<code>select * from emp order by sal limit 0, 5;</code><br />
返回值从第一行开始（第一行偏移量为0）可简写为：<br />
<code>select * from emp order by sal limit 5;</code><br />
查询3-7号员工信息：<br />
<code>select * from emp limit 2, 5;</code><br />
这里的 limit 子句是 mysql 特有的，是大多数其他的关系型数据库所没有的。</p>
<p><strong>6. mysql 数据表关联</strong></p>
<p>双表关联<br />
数据表同3，查询某个部门的职工号，姓名：</p>
<pre class="brush: sql">select emp.empno, emp.name dept.dname
from emp, dept
where dept.name = &#039;软件部&#039;
and emp.deptno = dept.deptno;</pre>
<p>多表关联<br />
举例在线书店数据库<br />
客户表 customers (customerid, name, address, city)<br />
定单表 orders (orderid, customerid, amount, date)<br />
书籍表 books (isbn, author, title, price)<br />
订单与图书关联的表 book_items (orderid, isbn, quantity)<br />
查询至少定购了一本关于 java 的书籍的顾客：</p>
<pre class="brush: sql">select customers.name
from customers, orders, order_items, books
where customers.customerid = order.customerid
and orders.orderid = order_items.orderid
and order_items.isbn = books.isbn
and books.title like &#039;%java%&#039;;</pre>
<p>在这里同样可以使用表的别名（alias）,以上可改写为：</p>
<pre class="brush: sql">select c.name
from customers as c, orders as o, order_items as oi, books as b
where c.customerid = o.customerid
and o.orderid = oi.orderid
and oi.isbn = b.isbn
and b.title like &#039;%java%&#039;;</pre>
<p>查找不匹配行，这里查找没有订购任何商品的顾客：</p>
<pre class="brush: sql">select customers.customerid, customers.name
from customers left join orders
using (customerid)
where orders.orderid is null</pre>
<p>这里使用了一个左关联将 customers 表和 orders 表关联起来，如果右边的表中没有匹配行就在结果中加一行，该行右边的列为 null，在这里关联条件所使用的语法一种是上面的 using，它并不需要指定连接属性所来自的表，所以要使用 using 子句，两个表中的列必须有同样的名称，另外还有一个关联条件的语法是 on，它需要指定连接属性所来自的表：<br />
<code>....<br />
on customers.customerid = orders.customerid<br />
....</code></p>
<blockquote><p>
A left join（左连接）包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。<br />
同理，也存在着相同道理的 right join（右连接），即包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录。<br />
而full join(全连接)顾名思义，左右表中所有记录都会选出来。 </p></blockquote>
<p>-- EOF --</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>2007-06-22 -- <a href="http://www.lsproc.com/blog/php_mysql_study_2/" title="PHP 和 Mysql 学习笔记（二）">PHP 和 Mysql 学习笔记（二）</a> (0)</li><li>2007-09-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_4/" title="PHP 和 Mysql 学习笔记（四）">PHP 和 Mysql 学习笔记（四）</a> (0)</li><li>2008-03-18 -- <a href="http://www.lsproc.com/blog/configure_lamp/" title="lamp 相关配置 [Debian]">lamp 相关配置 [Debian]</a> (2)</li><li>2007-11-13 -- <a href="http://www.lsproc.com/blog/cakephp_note/" title="Cakephp 笔记">Cakephp 笔记</a> (0)</li><li>2007-11-05 -- <a href="http://www.lsproc.com/blog/mysql_export_and_import/" title="MySQL导出导入命令的用例">MySQL导出导入命令的用例</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.lsproc.com/blog/php_mysql_study_3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 和 Mysql 学习笔记（二）</title>
		<link>http://www.lsproc.com/blog/php_mysql_study_2/</link>
		<comments>http://www.lsproc.com/blog/php_mysql_study_2/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 07:15:42 +0000</pubDate>
		<dc:creator>lostsnow</dc:creator>
				<category><![CDATA[Program&Database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.lostk.com/blog/webdesign/php_study_2/</guid>
		<description><![CDATA[转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/php_mysql_study_2/ 1. 值参和变参 值参： &#60;?php function swap($a, $b) { $temp = $a; $a = $b; $b = $temp; } $x = 100; $y = 1; swap($x, $y); echo &#34;x = $x&#60;br /&#62;y = $y&#34;; ?&#62; 输出结果为： x = &#8230; <a href="http://www.lsproc.com/blog/php_mysql_study_2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转载时请标明文章原始出处和作者信息, 作者: <a href="http://www.lsproc.com/blog/">lostsnow</a>.<br /><a href="http://www.lsproc.com/blog/php_mysql_study_2/">http://www.lsproc.com/blog/php_mysql_study_2/</a></p>
<p>1. 值参和变参<br />
值参：</p>
<pre class="brush: php">&lt;?php
	function swap($a, $b) {
		$temp = $a;
		$a = $b;
		$b = $temp;
	}
	$x = 100;
	$y = 1;
	swap($x, $y);
	echo &quot;x = $x&lt;br /&gt;y = $y&quot;;
?&gt;</pre>
<p>输出结果为：</p>
<pre class="brush: php">x = 100
y = 1</pre>
<p>这里 $x, $y 只是一个值的拷贝</p>
<p>变参：</p>
<pre class="brush: php">&lt;?php
	function swap(&amp;$a, &amp;$b) {
		$temp = $a;
		$a = $b;
		$b = $temp;
	}
	$x = 100;
	$y = 1;
	swap($x, $y);
	echo &quot;x = $x&lt;br /&gt;y = $y&quot;;
?&gt;</pre>
<p>输出结果为：</p>
<pre class="brush: php">x = 1
y = 100</pre>
<p>2. 连接 mysql<br />
格式： mysql -h主机地址 -u用户名 -p用户密码</p>
<pre class="brush: bash">mysql -uroot -p
mysql -h100.100.100.100 -uroot -p</pre>
<p>-h -u和后面都没有空格<br />
选定数据库mysql<br />
<code>use mysql;</code></p>
<p>3. mysql 指令<br />
显示数据库列表<br />
<code>show databases;</code><br />
显示数据库中的表<br />
<code>show tables;</code><br />
显示数据表的结构<br />
describe 表名<br />
简写为<br />
<code>desc 表名</code></p>
<p>4. SQL(Structured Query Language，结构查询语言)</p>
<p>SQL功能强大，但是概括起来，它可以分成以下几组：</p>
<p><strong>DML（Data Manipulation Language，数据操作语言）</strong>：用于检索或者修改数据；</p>
<blockquote><p>SELECT：用于检索数据；<br />
INSERT：用于增加数据到数据库；<br />
UPDATE：用于从数据库中修改现存的数据<br />
DELETE：用于从数据库中删除数据。</p></blockquote>
<p><strong>DDL（Data Definition Language，数据定义语言）</strong>： 用于定义数据的结构，比如 创建、修改或者删除数据库对象；</p>
<blockquote><p>CREATE TABLE<br />
ALTER TABLE<br />
DROP TABLE<br />
CREATE INDEX<br />
DROP INDEX</p></blockquote>
<p><strong>DCL（Data Control Language，数据控制语言）</strong>：用于定义数据库用户的权限。DCL命令用于创建关系用户访问以及授权的对象。下面是几个DCL命令：</p>
<blockquote><p>ALTER PASSWORD<br />
GRANT<br />
REVOKE<br />
CREATE SYNONYM</p></blockquote>
<p>举例：</p>
<pre class="brush: sql">create database school;	--建立数据库
drop database school;	/* 删除数据库 */
drop database if exists school;	#如果存在数据库school则删除</pre>
<p>这里3种注释方式 "--"，"#"和"/* ... */"</p>
<p>统计记录数：<br />
<code>select count(*) from table;</code>
<p>-- EOF --</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>2007-09-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_4/" title="PHP 和 Mysql 学习笔记（四）">PHP 和 Mysql 学习笔记（四）</a> (0)</li><li>2007-07-27 -- <a href="http://www.lsproc.com/blog/php_mysql_study_3/" title="PHP 和 Mysql 学习笔记（三）">PHP 和 Mysql 学习笔记（三）</a> (0)</li><li>2008-03-18 -- <a href="http://www.lsproc.com/blog/configure_lamp/" title="lamp 相关配置 [Debian]">lamp 相关配置 [Debian]</a> (2)</li><li>2007-11-13 -- <a href="http://www.lsproc.com/blog/cakephp_note/" title="Cakephp 笔记">Cakephp 笔记</a> (0)</li><li>2007-06-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_1/" title="PHP 和 Mysql 学习笔记（一）">PHP 和 Mysql 学习笔记（一）</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.lsproc.com/blog/php_mysql_study_2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 和 Mysql 学习笔记（一）</title>
		<link>http://www.lsproc.com/blog/php_mysql_study_1/</link>
		<comments>http://www.lsproc.com/blog/php_mysql_study_1/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 08:23:43 +0000</pubDate>
		<dc:creator>lostsnow</dc:creator>
				<category><![CDATA[Program&Database]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.lostk.com/blog/webdesign/php_study_1/</guid>
		<description><![CDATA[转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/php_mysql_study_1/ 1. 单引号串和双引号串 &#60;?php $a = 5; $b = 10; echo &#34;a=$a\n&#34;; echo &#039;b=$b&#039;; ?&#62; 输出结果为： a=5 b=$b 变量和转义字符要放到双引号里 2. 变量和函数的大小写区分 变量是严格区分大小写的 $a, $A 是不一样的 函数不区分大小写 3. 变量的变量 &#60;?php $a = &#34;Hello&#34;; $$a = &#34;world&#34;; //$Hello = &#34;world&#34; &#8230; <a href="http://www.lsproc.com/blog/php_mysql_study_1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转载时请标明文章原始出处和作者信息, 作者: <a href="http://www.lsproc.com/blog/">lostsnow</a>.<br /><a href="http://www.lsproc.com/blog/php_mysql_study_1/">http://www.lsproc.com/blog/php_mysql_study_1/</a></p>
<p><strong>1. 单引号串和双引号串</strong></p>
<pre class="brush: php">&lt;?php
$a = 5;
$b = 10;
echo &quot;a=$a\n&quot;;
echo &#039;b=$b&#039;;
?&gt;</pre>
<p>输出结果为：<br />
<code>a=5 b=$b</code><br />
变量和转义字符要放到双引号里</p>
<p><strong>2. 变量和函数的大小写区分</strong><br />
变量是严格区分大小写的<br />
$a, $A 是不一样的<br />
函数不区分大小写</p>
<p><strong>3. 变量的变量</strong></p>
<pre class="brush: php">&lt;?php
$a = &quot;Hello&quot;;
$$a = &quot;world&quot;;	//$Hello = &quot;world&quot;
echo &quot;$a, $Hello\n&quot;;	//Hello, world
echo &quot;$a, ${$a}\n&quot;;	//也是 Hello world
echo &quot;$a, $$a&quot;;	//Hello, $Hello
?&gt;</pre>
<p><strong>4. 赋值运算符</strong></p>
<pre class="brush: php">&lt;?php
$a = 200;
$a += 10;	//$a = $a + 10, 即 $a = 210
$a -= 10;	//$a = $a - 10, 即 $a = 200
$a *= 10;	//$a = $a * 10, 即 $a = 2000
$a /= 10;	//$a = $a / 10, 即 $a = 200
$a %= 10;	//$a = $a % 10, 即 $a = 0
$b = &quot;哇&quot;;
$b .= &quot;哈&quot;;	//$b = &quot;哇哈&quot;;
</pre>
<p><strong>5. 位运算符</strong></p>
<blockquote><p>&#038;	与运算（And），相乘<br />
|	或运算（Or），相加<br />
~	非运算（Not）<br />
^	异或（Xor），相同为0，不同为1<br />
&lt;&lt;	向左移位（乘法）<br />
&gt;&gt;	向右移位（除法）</p></blockquote>
<p><strong>6. 逻辑运算符</strong></p>
<blockquote><p>&#038;&	而且（And）<br />
And	而且（And）<br />
||	或者（Or）<br />
Or	或者（Or）<br />
Xor	异或（Xor）<br />
!	不（Not）</p></blockquote>
<p><strong>7. 三元运算符（? :）</strong><br />
<code>$score = 90;<br />
echo $score>59 ? "及格" : "不及格";</code><br />
输出为“及格”
<p>-- EOF --</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>2007-11-13 -- <a href="http://www.lsproc.com/blog/cakephp_note/" title="Cakephp 笔记">Cakephp 笔记</a> (0)</li><li>2007-09-07 -- <a href="http://www.lsproc.com/blog/php_mysql_study_4/" title="PHP 和 Mysql 学习笔记（四）">PHP 和 Mysql 学习笔记（四）</a> (0)</li><li>2007-06-22 -- <a href="http://www.lsproc.com/blog/php_mysql_study_2/" title="PHP 和 Mysql 学习笔记（二）">PHP 和 Mysql 学习笔记（二）</a> (0)</li><li>2010-05-21 -- <a href="http://www.lsproc.com/blog/nginx_php_pathinfo_securit/" title="Nginx/PHP 文件类型错误解析漏洞：fix_pathinfo">Nginx/PHP 文件类型错误解析漏洞：fix_pathinfo</a> (2)</li><li>2010-04-12 -- <a href="http://www.lsproc.com/blog/nginx_userid_decode/" title="nginx userid 模块客户端 cookie 解码">nginx userid 模块客户端 cookie 解码</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.lsproc.com/blog/php_mysql_study_1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

