<?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>六度外博/歪博</title>
	<atom:link href="http://6duweb.com/feed" rel="self" type="application/rss+xml" />
	<link>http://6duweb.com</link>
	<description>聚沙成塔，凝水成河！</description>
	<lastBuildDate>Mon, 07 Nov 2011 03:28:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[转]windows下查询端口对应应用进程的命令</title>
		<link>http://6duweb.com/289.html</link>
		<comments>http://6duweb.com/289.html#comments</comments>
		<pubDate>Mon, 07 Nov 2011 03:28:57 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[网络转帖]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[findstr]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[端口]]></category>
		<category><![CDATA[进程]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=289</guid>
		<description><![CDATA[我们在启动应用程序的时候发现系统需要的端口被别的程序占用，如何知道谁占有了我们需要的端口呢？下面就介绍一种非常简单的方法，希望对大家有所帮助！
开始&#8211;运行&#8211;cmd 进入命... ]]></description>
			<content:encoded><![CDATA[<p>我们在启动应用程序的时候发现系统需要的端口被别的程序占用，如何知道谁占有了我们需要的端口呢？下面就介绍一种非常简单的方法，希望对大家有所帮助！</p>
<p>开始&#8211;运行&#8211;cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&#8221;查看&#8221;-&#8221;选择列&#8221;</p>
<p>假如我们需要确定谁占用了我们的9050端口</p>
<p>1、Windows平台</p>
<p>在windows命令行窗口下执行：</p>
<p>C:\&gt;netstat -aon|findstr &#8220;9050&#8243;</p>
<p>TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016</p>
<p>看到了吗，端口被进程号为2016的进程占用，继续执行下面命令：</p>
<p>C:\&gt;tasklist|findstr &#8220;2016&#8243;</p>
<p>tor.exe 2016 Console 0 16,064 K</p>
<p>很清楚吧，tor占用了你的端口。</p>
<p>&gt;&gt; C:\VasErrorLog.txt 可以写到文件</p>
<p>*******************************************</p>
<p>在windows下调试php经常碰到apache启动端口被占用的问题，可能有flashget, 迅雷等占用端口，我们如何查看是哪些程序占用了端口呢？</p>
<p>C:Usersinetdemon&gt;netstat -nao|find &#8220;0.0.0.0:80&#8243;</p>
<p>Local Address Foreign Address State PID TCP</p>
<p>TCP 0.0.0.0:80 Pacers:0 LISTENING 1144</p>
<p>用tasklist的FILTER，我们可以很快找到这个进程：</p>
<p>C:Usersinetdemon&gt;tasklist /FI &#8220;PID eq 1144&#8243;</p>
<p>映像名称 PID 会话名 会话# 内存使用</p>
<p>========================= ======== ================ =========== ============</p>
<p>Skype.exe 1144 Console 1 24,056 K</p>
<p>经常占用80端口的软件一览：</p>
<p>Skype</p>
<p>Web迅雷</p>
<p>PPLive（可能是pp.tv，我懒得管了）</p>
<p>傲游浏览器自动更新</p>
<p>迅雷默认的BT上传端口（网友补充）</p>
<p>fs2you网盘（网友补充）</p>
<p>Cisco IP Communicator（网友补充）</p>
<p>QQMusic（网友补充）</p>
<p>fs2you</p>
<p>【备注】当然可以可以运用软件进行查询，例如防火墙，杀毒软件等。</p>
<p>还有就是用wmic命令</p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/289.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL备份与还原</title>
		<link>http://6duweb.com/282.html</link>
		<comments>http://6duweb.com/282.html#comments</comments>
		<pubDate>Fri, 17 Jun 2011 08:19:21 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[back]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[msyqlhotcopy]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[还原]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=282</guid>
		<description><![CDATA[一、数据备份
1. mysqldump方式：
1) shell&#62; mysqldump [options] db_name [tables]&#62;backupname.sql
备份一个数据库，当有tables时，则只备份该数据库中的tables表。
例:
shell&#62;mysqldump -u aiml -p students student&#62;D... ]]></description>
			<content:encoded><![CDATA[<p>一、数据备份</p>
<p>1. mysqldump方式：</p>
<p>1) shell&gt; mysqldump [options] db_name [tables]&gt;backupname.sql</p>
<p>备份一个数据库，当有tables时，则只备份该数据库中的tables表。</p>
<p>例:</p>
<p>shell&gt;mysqldump -u aiml -p students student&gt;D:/bksql.sql</p>
<p>Enter password: ****</p>
<p>2) shell&gt; mysqldump [options] &#8211;dabatase DB1 [DB2 DB3...]&gt;backupname.sql</p>
<p>备份多个数据库</p>
<p>例：</p>
<p>shell&gt;mysqldump -u root -p &#8211;database students p1&gt;D:/twodb.sql</p>
<p>Enter password: ****</p>
<p>3) shell&gt; mysqldump [options] &#8211;all-database&gt;backupname.sql</p>
<p>备份所有数据库</p>
<p>例：</p>
<p>shell&gt;mysqldump -u root -p &#8211;all-database&gt;D:/alldb.sql</p>
<p>Enter password: ****</p>
<p>2. mysqlhotcopy方式：</p>
<p>如果不能停止MySQL服务器，可以采用mysqlhotcopy工具。mysqlhotcopy工具是一个Perl脚本，主要应用在Linux操作系统中。</p>
<p>mysqlhotcopy工具使用lock tables、flush tables和cp来进行快速备份。原理：先将要备份的数据库加上一个读操作锁，然后，用flush tables将内存中的数据写回到硬盘上的数据库中，最后，把要备份的数据库文件复制到目标目录。</p>
<p>shell&gt; mysqlhotcopy [options] dbname1 dbname2… backupDir/</p>
<p>注：mysqlhotcopy只适合MyISAM存储引擎。</p>
<p>3. 直接复制整个数据目录</p>
<p>该方法虽然简单快速，但不是最好的备份方法。因为，实际情况可能不允许停止MySQL服务器。而且，这种方法对InnoDB存储引擎不适用，且还原时最好是相同版本的MySQL数据库。</p>
<p>二、数据还原</p>
<p>1. 使用mysql命令还原</p>
<p>shell&gt; mysql –u root –p [dbname]&lt;backup.sql</p>
<p>2. 直接复制到数据库目录</p>
<p>使用mysqlhotcopy和直接复制整个数据目录方式备份的数据库数据，可以通过这种方式还原，但是注意，必须保证两个MySQL数据库的主版本号是相同的，且这种方式对InnoDB类型表不适用。</p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/282.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MySQL中使用正则表达式查询</title>
		<link>http://6duweb.com/278.html</link>
		<comments>http://6duweb.com/278.html#comments</comments>
		<pubDate>Thu, 16 Jun 2011 02:35:07 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expression]]></category>
		<category><![CDATA[查询]]></category>
		<category><![CDATA[正则]]></category>
		<category><![CDATA[正则表达式]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=278</guid>
		<description><![CDATA[基本形式：
属性名 regexp &#8216;匹配方式&#8217;
属性名表示需要查询的字段的名称；匹配方式表示以哪种方式来进行匹配查询。
正则表达式模式字符：
^: 匹配字符串开始的部分
$: 匹配字符串结... ]]></description>
			<content:encoded><![CDATA[<p>基本形式：</p>
<p>属性名 regexp &#8216;匹配方式&#8217;</p>
<p>属性名表示需要查询的字段的名称；匹配方式表示以哪种方式来进行匹配查询。</p>
<p>正则表达式模式字符：</p>
<p>^: 匹配字符串开始的部分</p>
<p>$: 匹配字符串结束的部分</p>
<p>.: 代表字符串中的任意一个字符，包括回车和换行</p>
<p>[字符集合]: 匹配“字符集合”中的任何一个字符</p>
<p>[^字符集合]: 匹配出了“字符集合”以外的任何一个字符</p>
<p>S1|S2|S3: 匹配S1、S2和S3中的任意一个字符串</p>
<p>*: 代表多个该符号之前的字符，包括0和1个</p>
<p>+: 代表多个该符号之前的字符，包括1个</p>
<p>字符串{N}: 字符串出现N次</p>
<p>字符串{M,N}: 字符串出现至少M次，最多N次</p>
<p>例子：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
</pre></td><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0</span><span style="color: #FF00FF;">&#41;</span>.全表记录
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1002</span> <span style="color: #CC0099;">|</span> Tom  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">91</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1003</span> <span style="color: #CC0099;">|</span> Jim  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">87</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1004</span> <span style="color: #CC0099;">|</span> Aric <span style="color: #CC0099;">|</span>    <span style="color: #008080;">77</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1006</span> <span style="color: #CC0099;">|</span> Andy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">99</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1007</span> <span style="color: #CC0099;">|</span> Ada  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1008</span> <span style="color: #CC0099;">|</span> Jeck <span style="color: #CC0099;">|</span>    <span style="color: #008080;">70</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">8</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span>.查询以特定字符或字符串开头的记录
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'^L'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">2</span><span style="color: #FF00FF;">&#41;</span>.查询以特定字符或字符串结尾的记录
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'y$'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1006</span> <span style="color: #CC0099;">|</span> Andy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">99</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">3</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">3</span><span style="color: #FF00FF;">&#41;</span>.用符号<span style="color: #008000;">&quot;.&quot;</span>来代替字符串中的任意一个字符
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'^L..y$'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
<span style="color: #CC0099;">//</span>其中<span style="color: #CC0099;">^</span>L表示以字母L开头，两个<span style="color: #008000;">&quot;.&quot;</span>表示两个任意字符，<span style="color: #00CC00;">y</span>$表示以字母<span style="color: #00CC00;">y</span>结尾
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">4</span><span style="color: #FF00FF;">&#41;</span>.匹配指定字符中的任意一个
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'[ci]'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1003</span> <span style="color: #CC0099;">|</span> Jim  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">87</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1004</span> <span style="color: #CC0099;">|</span> Aric <span style="color: #CC0099;">|</span>    <span style="color: #008080;">77</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1008</span> <span style="color: #CC0099;">|</span> Jeck <span style="color: #CC0099;">|</span>    <span style="color: #008080;">70</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">5</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
<span style="color: #CC0099;">//</span>使用方括号可以指定集合的区间。<span style="color: #FF00FF;">&#91;</span>a<span style="color: #CC0099;">-</span>z<span style="color: #FF00FF;">&#93;</span>表示a<span style="color: #CC0099;">~</span>z的所有字母<span style="color: #FF00FF;">&#40;</span>mysql字段大小写不敏感<span style="color: #FF00FF;">&#41;</span>，<span style="color: #FF00FF;">&#91;</span><span style="color: #008080;">0</span><span style="color: #CC0099;">-</span><span style="color: #008080;">9</span><span style="color: #FF00FF;">&#93;</span>表示从<span style="color: #008080;">0</span><span style="color: #CC0099;">~</span><span style="color: #008080;">9</span>的所有数字，<span style="color: #FF00FF;">&#91;</span>a<span style="color: #CC0099;">-</span>z0<span style="color: #CC0099;">-</span><span style="color: #008080;">9</span><span style="color: #FF00FF;">&#93;</span>表示包含所有的字母和数字。
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">5</span><span style="color: #FF00FF;">&#41;</span>.匹配指定字符以外的字符
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'[^a-w0-9]'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1005</span> <span style="color: #CC0099;">|</span> Lucy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">65</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1006</span> <span style="color: #CC0099;">|</span> Andy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">99</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">3</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">6</span><span style="color: #FF00FF;">&#41;</span>.匹配指定字符串
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'il|dy'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> Lily <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1006</span> <span style="color: #CC0099;">|</span> Andy <span style="color: #CC0099;">|</span>    <span style="color: #008080;">99</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">7</span><span style="color: #FF00FF;">&#41;</span>.使用<span style="color: #008000;">&quot;*&quot;</span>和<span style="color: #008000;">&quot;+&quot;</span>来匹配多个字符
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'i*m'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1002</span> <span style="color: #CC0099;">|</span> Tom  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">91</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1003</span> <span style="color: #CC0099;">|</span> Jim  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">87</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'i+m'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1003</span> <span style="color: #CC0099;">|</span> Jim  <span style="color: #CC0099;">|</span>    <span style="color: #008080;">87</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+------+-------+</span>
<span style="color: #008080;">1</span> row <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
<span style="color: #CC0099;">//</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">8</span><span style="color: #FF00FF;">&#41;</span>.使用<span style="color: #FF00FF;">&#123;</span>M<span style="color: #FF00FF;">&#125;</span>或者<span style="color: #FF00FF;">&#123;</span>M<span style="color: #000033;">,</span>N<span style="color: #FF00FF;">&#125;</span>来制定字符串连续出现的次数
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">insert</span> <span style="color: #990099; font-weight: bold;">into</span> computer_stu <span style="color: #990099; font-weight: bold;">values</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">1009</span><span style="color: #000033;">,</span><span style="color: #008000;">'aaabb'</span><span style="color: #000033;">,</span><span style="color: #008080;">85</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">1010</span><span style="color: #000033;">,</span><span style="color: #008000;">'aabbc'</span><span style="color: #000033;">,</span><span style="color: #008080;">79</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">1011</span><span style="color: #000033;">,</span><span style="color: #008000;">'abccc'</span><span style="color: #000033;">,</span><span style="color: #008080;">98</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
Query OK<span style="color: #000033;">,</span> <span style="color: #008080;">3</span> rows affected <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.01</span> sec<span style="color: #FF00FF;">&#41;</span>
Records: <span style="color: #008080;">3</span>  Duplicates: <span style="color: #008080;">0</span>  <span style="color: #990099; font-weight: bold;">Warnings</span>: <span style="color: #008080;">0</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'a{3}'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name  <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1009</span> <span style="color: #CC0099;">|</span> aaabb <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #008080;">1</span> row <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> computer_stu <span style="color: #990099; font-weight: bold;">where</span> name <span style="color: #CC0099; font-weight: bold;">regexp</span> <span style="color: #008000;">'a{2,3}'</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #CC0099;">|</span> id   <span style="color: #CC0099;">|</span> name  <span style="color: #CC0099;">|</span> score <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1009</span> <span style="color: #CC0099;">|</span> aaabb <span style="color: #CC0099;">|</span>    <span style="color: #008080;">85</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #008080;">1010</span> <span style="color: #CC0099;">|</span> aabbc <span style="color: #CC0099;">|</span>    <span style="color: #008080;">79</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+------+-------+-------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/278.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL中group by分组查询介绍</title>
		<link>http://6duweb.com/270.html</link>
		<comments>http://6duweb.com/270.html#comments</comments>
		<pubDate>Wed, 15 Jun 2011 02:35:19 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[group by]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[分组]]></category>
		<category><![CDATA[查询]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=270</guid>
		<description><![CDATA[group by 属性名 [having 条件表达式][with rollup]
属性名：指按照该字段的值进行分组。
having条件表达式：限制分组后的现实，满足条件表达式的结果将被显示。
with rollup：会在所有记录的最后加上... ]]></description>
			<content:encoded><![CDATA[<p>group by 属性名 [having 条件表达式][with rollup]</p>
<p>属性名：指按照该字段的值进行分组。</p>
<p>having条件表达式：限制分组后的现实，满足条件表达式的结果将被显示。</p>
<p>with rollup：会在所有记录的最后加上一条记录。该记录是上面所有记录的总和。</p>
<p>group by可以和group_concat()函数一起使用。group_concat()函数会将每个分组中指定字段值都显示出来。</p>
<p>group by通常与集合函数(count()、sum()、avg()、max()、min())一起使用。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
</pre></td><td class="code"><pre class="mysql" style="font-family:monospace;">mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*执行不带group by的select语句*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> employee<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span> num <span style="color: #CC0099;">|</span> d_id <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> age <span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> homeaddr     <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 张三 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">26</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 北京市海淀区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">2</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 李四 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24</span> <span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span> 北京市昌平区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1002</span> <span style="color: #CC0099;">|</span> 王五 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">25</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 湖南长沙市   <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">4</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1004</span> <span style="color: #CC0099;">|</span> Aric <span style="color: #CC0099;">|</span>  <span style="color: #008080;">15</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> England      <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #008080;">4</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*单独使用group by分组*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span> num <span style="color: #CC0099;">|</span> d_id <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> age <span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> homeaddr     <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">2</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 李四 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24</span> <span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span> 北京市昌平区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 张三 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">26</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 北京市海淀区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*group by与group_concat()函数一起使用*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> sex<span style="color: #000033;">,</span><span style="color: #000099;">group_concat</span><span style="color: #FF00FF;">&#40;</span>name<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+--------------------+</span>
<span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> <span style="color: #000099;">group_concat</span><span style="color: #FF00FF;">&#40;</span>name<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+--------------------+</span>
<span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span> 李四               <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 张三<span style="color: #000033;">,</span>王五<span style="color: #000033;">,</span>Aric     <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+--------------------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.01</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*group by与集合函数一起使用*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> sex<span style="color: #000033;">,</span><span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span><span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>age<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------------+----------+</span>
<span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span> <span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>age<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+----------+</span>
<span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span>          <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24.0000</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span>          <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span>  <span style="color: #008080;">22.0000</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+----------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*group by与having一起使用*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> sex<span style="color: #000033;">,</span><span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>sex<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex <span style="color: #990099; font-weight: bold;">having</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span><span style="color: #CC0099;">&gt;=</span><span style="color: #008080;">3</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span>          <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #008080;">1</span> row <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> sex<span style="color: #000033;">,</span><span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>age<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span><span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex <span style="color: #990099; font-weight: bold;">having</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span><span style="color: #CC0099;">&gt;=</span><span style="color: #008080;">3</span> <span style="color: #CC0099; font-weight: bold;">or</span> <span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>age<span style="color: #FF00FF;">&#41;</span><span style="color: #CC0099;">&gt;</span><span style="color: #008080;">23</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+----------+------------+</span>
<span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> <span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>age<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+----------+------------+</span>
<span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24.0000</span> <span style="color: #CC0099;">|</span>          <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span>  <span style="color: #008080;">22.0000</span> <span style="color: #CC0099;">|</span>          <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+----------+------------+</span>
<span style="color: #008080;">2</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
<span style="color: #808000; font-style: italic;">/*having条件表达式与where条件表达式一样，都是用来限制显示的。having作用于分组后的记录，用于选择满足条件的组；where作用于表或视图，是表和视图的查询条件。*/</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*按多个字段分组*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> d_id<span style="color: #000033;">,</span>sex<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span> num <span style="color: #CC0099;">|</span> d_id <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> age <span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> homeaddr     <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">2</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 李四 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24</span> <span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span> 北京市昌平区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 张三 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">26</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 北京市海淀区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1002</span> <span style="color: #CC0099;">|</span> 王五 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">25</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 湖南长沙市   <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">4</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1004</span> <span style="color: #CC0099;">|</span> Aric <span style="color: #CC0099;">|</span>  <span style="color: #008080;">15</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> England      <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #008080;">4</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">insert</span> <span style="color: #990099; font-weight: bold;">into</span> employee <span style="color: #990099; font-weight: bold;">values</span><span style="color: #FF00FF;">&#40;</span><span style="color: #9900FF; font-weight: bold;">null</span><span style="color: #000033;">,</span><span style="color: #008080;">1001</span><span style="color: #000033;">,</span><span style="color: #008000;">'aiml'</span><span style="color: #000033;">,</span><span style="color: #008080;">26</span><span style="color: #000033;">,</span><span style="color: #008000;">'男'</span><span style="color: #000033;">,</span><span style="color: #008000;">'北京市海淀区'</span>
Query OK<span style="color: #000033;">,</span> <span style="color: #008080;">1</span> row affected <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> d_id<span style="color: #000033;">,</span>sex<span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span> num <span style="color: #CC0099;">|</span> d_id <span style="color: #CC0099;">|</span> name <span style="color: #CC0099;">|</span> age <span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> homeaddr     <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">2</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 李四 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">24</span> <span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span> 北京市昌平区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1001</span> <span style="color: #CC0099;">|</span> 张三 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">26</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 北京市海淀区 <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">3</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1002</span> <span style="color: #CC0099;">|</span> 王五 <span style="color: #CC0099;">|</span>  <span style="color: #008080;">25</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> 湖南长沙市   <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span>   <span style="color: #008080;">4</span> <span style="color: #CC0099;">|</span> <span style="color: #008080;">1004</span> <span style="color: #CC0099;">|</span> Aric <span style="color: #CC0099;">|</span>  <span style="color: #008080;">15</span> <span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span> England      <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------+------+-----+-----+--------------+</span>
<span style="color: #008080;">4</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
&nbsp;
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #808000; font-style: italic;">/*group by与with rollup一起使用*/</span>
mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> sex<span style="color: #000033;">,</span><span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">from</span> employee <span style="color: #990099; font-weight: bold;">group by</span> sex <span style="color: #990099; font-weight: bold;">with rollup</span><span style="color: #000033;">;</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #CC0099;">|</span> sex <span style="color: #CC0099;">|</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>num<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #CC0099;">|</span> 女  <span style="color: #CC0099;">|</span>          <span style="color: #008080;">1</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> 男  <span style="color: #CC0099;">|</span>          <span style="color: #008080;">4</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">|</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #CC0099;">|</span>          <span style="color: #008080;">5</span> <span style="color: #CC0099;">|</span>
<span style="color: #CC0099;">+-----+------------+</span>
<span style="color: #008080;">3</span> rows <span style="color: #990099; font-weight: bold;">in</span> <span style="color: #990099; font-weight: bold;">set</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">0.00</span> sec<span style="color: #FF00FF;">&#41;</span>
<span style="color: #808000; font-style: italic;">/*在记录最后加上了一条新的纪录，该记录count(num)列的值是上面分组值的总和。*/</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/270.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL中的索引介绍</title>
		<link>http://6duweb.com/266.html</link>
		<comments>http://6duweb.com/266.html#comments</comments>
		<pubDate>Tue, 14 Jun 2011 06:37:31 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[alter]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[drop]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[where]]></category>
		<category><![CDATA[索引]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=266</guid>
		<description><![CDATA[MySQL中，索引用于快速找出在某个列中有一特定值的行。
索引优缺点：
优点：可以提高检索数据的速度。
缺点：创建和维护索引需要耗费时间，即会影响增加、删除和修改记录的速度；需要占... ]]></description>
			<content:encoded><![CDATA[<p>MySQL中，索引用于快速找出在某个列中有一特定值的行。</p>
<p>索引优缺点：</p>
<p><span style="color: #ff0000">优点：可以提高检索数据的速度。</span></p>
<p><span style="color: #ff0000">缺点：创建和维护索引需要耗费时间，即会影响增加、删除和修改记录的速度；需要占用物理空间。</span></p>
<p>索引分类：</p>
<p>1.普通索引：可以创建在任何数据类型中，其值是否唯一和非空由字段本身的完整性约束条件决定。</p>
<p>2.唯一性索引：使用unique参数设置索引为唯一性索引。限制该索引的值必须是唯一的。主键是一种特殊唯一性索引。</p>
<p>3.全文索引：使用fulltext参数设置索引为全文索引。全文索引只能创建在char、varchar或text类型的字段上。只有MyISAM存储引擎支持全文索引。默认搜索执行方式不区分大小写，但索引的列使用二进制排序后，可以执行区分大小写的全文索引。</p>
<p>4.单列索引：在表中的单个字段上创建索引。</p>
<p>5.多列索引：在表的多个字段上创建一个索引。</p>
<p>6.空间索引：使用spatial参数设置索引为空间索引。空间索引只能建立在空间数据类型上。MySQL中的空间数据类型包括geometry和point、linestring和polygon等。只有MyISAM存储引擎支持空间索引，而且索引的字段不能为空。</p>
<p>索引设计原则：</p>
<p>1.选择唯一性索引</p>
<p>2.为经常需要排序、分组和联合操作的字段建立索引</p>
<p>3.为常作为查询条件的字段建立索引</p>
<p>4.限制索引的数目</p>
<p>5.尽量使用数据量少的索引</p>
<p>6.尽量使用前缀来索引</p>
<p>7.删除不再使用或者很少使用的索引</p>
<p><span style="color: #ff0000">创建索引：</span></p>
<p><span style="color: #ff0000">1.创建表的时候创建索引</span></p>
<p>create table 表名(属性名 数据类型[完整性约束条件]，</p>
<p>属性名 数据类型[完整性约束条件]，</p>
<p>……</p>
<p>属性名 数据类型</p>
<p>[unique|fulltext|spatial] index|key [别名](属性名1 [(长度)] [asc|desc])</p>
<p>);</p>
<p>(1).创建普通索引</p>
<p>create table index1(id int,name varchar(20),sex boolean,index(id));</p>
<p>(2).创建唯一性索引</p>
<p>create table index2(id int unique,name varchar(20),unique index index2_id(id asc));</p>
<p>(3).创建全文索引</p>
<p>create table index3(id int,info varchar(30),fulltext index index3_info(info))engine=myisam;</p>
<p>(4).创建单列索引</p>
<p>create table index4(id int,subject varchar(30),index index4_st(subject(10)));</p>
<p>(5).创建多列索引</p>
<p>create table index5(id int,name varchar(20),sex char(4),index index5_ns(name,sex));</p>
<p>(6).创建空间索引</p>
<p>create table index6(id int,space geometry not null,spatial index index6_sp(space))engine=myisam;</p>
<p><span style="color: #ff0000">2.在已经存在的表上创建索引</span></p>
<p>create [unique|fulltext|spatial] index 索引名 on 表名 (属性名 [(长度)] [asc|desc]);</p>
<p>(1).创建普通索引</p>
<p>create index index7_id on example0(id);</p>
<p>(2).创建唯一性索引</p>
<p>create unique index index8_id on index8(course_id);</p>
<p>(3).创建全文索引</p>
<p>create fulltext index index8_info on index9(info);</p>
<p>(4).创建单列索引</p>
<p>create index index10_addr on index10(address(4));</p>
<p>(5).创建多列索引</p>
<p>create index index11_na on index11(name,address);</p>
<p>(6).创建空间索引</p>
<p>create spatial index index12_line on index12(line);</p>
<p><span style="color: #ff0000">3.用alter table语句来创建索引</span></p>
<p>alter table 表名 add [unique|fulltext|spatial] index 索引名(属性名[(长度)] [asc|desc]);</p>
<p>(1).创建普通索引</p>
<p>alter table example0 add index index12_name(name(20));</p>
<p>(2).创建唯一性索引</p>
<p>alter table index14 add unique index index14_id(course_id);</p>
<p>(3).创建全文索引</p>
<p>alter table index15 add fulltext index index15_info(info);</p>
<p>(4).创建单列索引</p>
<p>alter table index16 add index index16_addr(address(4));</p>
<p>(5).创建多列索引</p>
<p>alter table index17 add index index17_na(name,address);</p>
<p>(6).创建空间索引</p>
<p>alter table index18 add spatial index index18_line(line);</p>
<p><span style="color: #ff0000">删除索引</span></p>
<p>drop index 索引名 on 表名;</p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/266.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决Ubuntu下安装的MySQL不能远程访问的问题</title>
		<link>http://6duweb.com/264.html</link>
		<comments>http://6duweb.com/264.html#comments</comments>
		<pubDate>Mon, 23 May 2011 03:29:53 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[3306]]></category>
		<category><![CDATA[bind-address]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[端口]]></category>
		<category><![CDATA[远程]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=264</guid>
		<description><![CDATA[在Ubuntu10.04中的软件中心，找到MySQL并安装(版本为：5.1.49-1ubuntu8.1)，安装好之后使用root权限连接进入
#mysql -u root -proot(这里密码有可能为空，或者root)
新建用户：
#grant all privileges on testdb.* to &#82... ]]></description>
			<content:encoded><![CDATA[<p>在Ubuntu10.04中的软件中心，找到MySQL并安装(版本为：5.1.49-1ubuntu8.1)，安装好之后使用root权限连接进入</p>
<p>#mysql -u root -proot(这里密码有可能为空，或者root)</p>
<p>新建用户：</p>
<p>#grant all privileges on testdb.* to &#8216;aiml&#8217;@'%&#8217; identified by &#8216;aiml&#8217; with grant option;</p>
<p>赋予aiml用户针对数据库testdb的全部权限。</p>
<p>#create database testdb;</p>
<p>创建testdb数据库。</p>
<p>OK，退出root用户，使用aiml用户登录。</p>
<p>#\q</p>
<p>#mysql -u aiml -p testdb</p>
<p>登录成功。</p>
<p>但是此时，在Windows下面远程连接该数据库，则会报</p>
<p>Can&#8217;t connect to MySQL server on &#8216;xxx.xxx.xxx.xxx&#8217;的错误。</p>
<p>此错误原因在于：</p>
<p>ubuntu中MySQL监听的3306端口IP问题，查看ubuntu中3306端口监听</p>
<p>#netstat -anpt|grep 3306</p>
<p>可以发现，当前默认监听的是127.0.0.1:3306</p>
<p>OK，知道问题在哪里就好办了。</p>
<p>使用root权限，修改/etc/mysql/my.cnf文件中bind-address，将bind-address=127.0.0.1修改为本机IP，重启MySQL服务，再使用上面命令查看端口监听，就会发现已经变成了本机IP:3306。这时，就可以使用远程连接了。</p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/264.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>删除MySQL匿名账号</title>
		<link>http://6duweb.com/262.html</link>
		<comments>http://6duweb.com/262.html#comments</comments>
		<pubDate>Thu, 05 May 2011 13:59:12 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[DataBase]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[drop user]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[删除]]></category>
		<category><![CDATA[匿名账号]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=262</guid>
		<description><![CDATA[MySQL数据库默认数据库mysql中的user表中，默认状态下，有一条记录host字段为localhost，user字段为空，password字段为空，该记录表明mysql数据具有一个匿名账户，可以通过本地连接数据库。
为了安... ]]></description>
			<content:encoded><![CDATA[<p>MySQL数据库默认数据库mysql中的user表中，默认状态下，有一条记录host字段为localhost，user字段为空，password字段为空，该记录表明mysql数据具有一个匿名账户，可以通过本地连接数据库。</p>
<p>为了安全考虑，一般情况下建议删除这个匿名账户，删除方式如下：</p>
<p>1、使用drop user命令。</p>
<p>drop user &#8221;@&#8217;localhost&#8217;。</p>
<p>2、直接操作user表。</p>
<p>delete from user where user=&#8221;;</p>
<p>flush privileges;</p>
<p>总结：就我而言，推荐使用第一种方法，因为使用drop user命令，删除用户的时候可以连带着db表、host表等表中的相关权限设置记录也会清除，不容易残留垃圾记录。</p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/262.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAVA进行GUI程序设计之布局管理(下)</title>
		<link>http://6duweb.com/257.html</link>
		<comments>http://6duweb.com/257.html#comments</comments>
		<pubDate>Mon, 24 Jan 2011 02:18:05 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[GridLayout]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[布局管理]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=257</guid>
		<description><![CDATA[GridLayout(网格式布局)：
1．GridLayout是网格式布局，它把父组件分成一个表格，默认情况下每个子组件占据一个单元格的空间，每个子组件按添加到父组件的顺序排列在表格中。
2．组件排列的方... ]]></description>
			<content:encoded><![CDATA[<p>GridLayout(网格式布局)：</p>
<p>1．GridLayout是网格式布局，它把父组件分成一个表格，默认情况下每个子组件占据一个单元格的空间，每个子组件按添加到父组件的顺序排列在表格中。</p>
<p>2．组件排列的方向取决于容器的 componentOrientation 属性，它可能是以下两个值中的一个：</p>
<p>ComponentOrientation.LEFT_TO_RIGHT</p>
<p>ComponentOrientation.RIGHT_TO_LEFT</p>
<p>3．通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时，指定的列数将被忽略。列数通过指定的行数和布局中的组件总数来确定。因此，例如，如果指定了三行和两列，在布局中添加了九个组件，则它们将显示为三行三列。仅当将行数设置为零时，指定列数才对布局有效。</p>
<p>构造方法详细描述：</p>
<p>1．GridLayout()：创建具有默认值的网格布局，即每个组件占据一行一列。</p>
<p>2．GridLayout(int rows, int cols)：创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。rows 和 cols 中的一个可以为零（但不能两者同时为零），这表示可以将任何数目的对象置于行或列中。</p>
<p>参数：</p>
<p>rows &#8211; 该 rows 具有表示任意行数的值零。</p>
<p>cols &#8211; 该 cols 具有表示任意列数的值零。</p>
<p>3．GridLayout(int rows, int cols, int hgap, int vgap)：创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。此外，将水平和垂直间距设置为指定值。水平间距将置于列与列之间。将垂直间距将置于行与行之间。rows 和 cols 中的一个可以为零（但不能两者同时为零），这表示可以将任何数目的对象置于行或列中。所有 GridLayout 构造方法都服从这一规定。</p>
<p>参数：</p>
<p>rows &#8211; 该 rows 具有表示任意行数的值零</p>
<p>cols &#8211; 该 cols 具有表示任意列数的值零</p>
<p>hgap &#8211; 水平间距</p>
<p>vgap &#8211; 垂直间距</p>
<p>实例：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">src</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> GridLayoutDemo <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GridLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setTitle<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;网格式布局Demo&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Toolkit</span> kit <span style="color: #339933;">=</span> <span style="color: #003399;">Toolkit</span>.<span style="color: #006633;">getDefaultToolkit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Dimension</span> screenSize <span style="color: #339933;">=</span> kit.<span style="color: #006633;">getScreenSize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> x<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">width</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">height</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		setLocation<span style="color: #009900;">&#40;</span>x,y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * @param args
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
		GridLayoutDemo frame <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> GridLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		frame.<span style="color: #006633;">applyComponentOrientation</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">ComponentOrientation</span>.<span style="color: #006633;">RIGHT_TO_LEFT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//按钮按照从右向左方向排列</span>
		<span style="color: #003399;">Container</span> contentPane <span style="color: #339933;">=</span> frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">GridLayout</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt3 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt3<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt4 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮4&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt5 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮5&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt5<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt6 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮6&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt6<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt7 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮7&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt7<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JButton</span> jbt8 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮8&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		contentPane.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jbt8<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        frame.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>效果图如下：</p>
<p>1.使用GridLayout(0,3)构造函数</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2011/01/GridLayout1.jpg"><img class="aligncenter size-medium wp-image-255" src="http://6duweb.com/wp-content/uploads/2011/01/GridLayout1-300x223.jpg" alt="" width="300" height="223" /></a></p>
<p>2.使用GirdLayout(2,3)构造函数</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2011/01/GridLayout2.jpg"><img class="aligncenter size-medium wp-image-256" src="http://6duweb.com/wp-content/uploads/2011/01/GridLayout2-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>链接：</p>
<p><a title="JAVA进行GUI程序设计之布局管理(上)" href="http://6duweb.com/240.html" target="_self">JAVA进行GUI程序设计之布局管理(上)</a><br />
<a title="JAVA进行GUI程序设计之布局管理(中)" href="http://6duweb.com/251.html" target="_self">JAVA进行GUI程序设计之布局管理(中)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/257.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>JAVA进行GUI程序设计之布局管理(中)</title>
		<link>http://6duweb.com/251.html</link>
		<comments>http://6duweb.com/251.html#comments</comments>
		<pubDate>Mon, 20 Dec 2010 13:48:43 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[FlowLayout]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=251</guid>
		<description><![CDATA[接上文：JAVA进行GUI程序设计之布局管理(上)
FlowLayout(流式布局)：
1．FlowLayout是Panel类的默认布局管理器，它使得按钮呈水平放置，直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属... ]]></description>
			<content:encoded><![CDATA[<p>接上文：<a href="http://6duweb.com/240.html">JAVA进行GUI程序设计之布局管理(上)</a></p>
<p>FlowLayout(流式布局)：</p>
<p>1．FlowLayout是Panel类的默认布局管理器，它使得按钮呈水平放置，直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属性确定。可能的值为：</p>
<p>LEFT</p>
<p>RIGHT</p>
<p>CENTER</p>
<p>LEADING</p>
<p>TRAILING</p>
<p>2．流的方向取决于容器的 componentOrientation 属性，它可能是以下两个值中的一个：</p>
<p>ComponentOrientation.LEFT_TO_RIGHT</p>
<p>ComponentOrientation.RIGHT_TO_LEFT</p>
<p>3．不改变组件的大小，按组件原有尺寸显示组件，可设置不同的组件间距，行距以及对齐方式。</p>
<p>4．流式布局管理器默认的对齐方式是居中。</p>
<p>构造方法详细描述：</p>
<p>1．FlowLayout()构造一个新的 FlowLayout，它是居中对齐的，默认的水平和垂直间隙是 5 个像素。</p>
<p>2．FlowLayout(int align)构造一个新的 FlowLayout，它具有指定的对齐方式，默认的水平和垂直间隙是 5 个像素。align 参数的值必须是以下值之一：</p>
<p>FlowLayout.LEFT、</p>
<p>FlowLayout.RIGH、</p>
<p>FlowLayout.CENTER、</p>
<p>FlowLayout.LEADING、</p>
<p>FlowLayout.TRAILING。</p>
<p>参数：</p>
<p>align &#8211; 对齐值</p>
<p>3．FlowLayout(int align,int hgap,int vgap)创建一个新的流式布局管理器，它具有指定的对齐方式以及指定的水平和垂直间隙。</p>
<p>align 参数的值必须是以下值之一：</p>
<p>FlowLayout.LEFT、</p>
<p>FlowLayout.RIGHT、</p>
<p>FlowLayout.CENTER、</p>
<p>FlowLayout.LEADING、</p>
<p>FlowLayout.TRAILING。</p>
<p>参数：</p>
<p>align &#8211; 对齐值</p>
<p>hgap &#8211; 组件之间以及组件与 Container 的边之间的水平间隙</p>
<p>vgap &#8211; 组件之间以及组件与 Container 的边之间的垂直间隙</p>
<p>实例：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Button</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.ComponentOrientation</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Container</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Dimension</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.FlowLayout</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Toolkit</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JFrame</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JPanel</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * @author Aiml
 *
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> FlowLayoutDemo <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 *
	 */</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> FlowLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setTitle<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;流式布局Demo&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Toolkit</span> kit <span style="color: #339933;">=</span> <span style="color: #003399;">Toolkit</span>.<span style="color: #006633;">getDefaultToolkit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Dimension</span> screenSize <span style="color: #339933;">=</span> kit.<span style="color: #006633;">getScreenSize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> x<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">width</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">height</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		setLocation<span style="color: #009900;">&#40;</span>x,y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
&nbsp;
		<span style="color: #008000; font-style: italic; font-weight: bold;">/**
		 * 创建一个JPanel面板
		 */</span>
		<span style="color: #003399;">JPanel</span> jpa <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #008000; font-style: italic; font-weight: bold;">/**
		 * 设置窗口中全部组件按从右向左的顺序排列
		 */</span>
		jpa.<span style="color: #006633;">applyComponentOrientation</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">ComponentOrientation</span>.<span style="color: #006633;">RIGHT_TO_LEFT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #008000; font-style: italic; font-weight: bold;">/**
		 * 无参的构造函数，居中对齐，水平和垂直间隙是 5 个像素。
		 * 当使用该构造函数的时候，与不写setLayout()函数同样效果。
		 */</span>
	<span style="color: #666666; font-style: italic;">//	jpa.setLayout(new FlowLayout());</span>
&nbsp;
		<span style="color: #008000; font-style: italic; font-weight: bold;">/**
		 * 带对齐方式的构造函数，按指定的对齐方式对齐按钮，水平和垂直间隙是 5 个像素。
		 */</span>
	<span style="color: #666666; font-style: italic;">//	jpa.setLayout(new FlowLayout(FlowLayout.RIGHT));</span>
&nbsp;
		<span style="color: #008000; font-style: italic; font-weight: bold;">/**
		 * 带对齐方式和水平、树枝间隙参数的构造函数，按指定的对齐方式对其按钮，
		 * 并且按钮水平间隙10像素，竖直间隙20像素
		 */</span>
		jpa.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">FlowLayout</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">FlowLayout</span>.<span style="color: #006633;">LEFT</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
&nbsp;
        <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span> <span style="color: #cc66cc;">20</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        	jpa.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按钮&quot;</span><span style="color: #339933;">+</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #003399;">Container</span> c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        c.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>jpa<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * @param args
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
		FlowLayoutDemo frame <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> FlowLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frame.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>效果图如下：<br />
图一：默认或使用FlowLayout()构造函数</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout1.jpg"><img class="aligncenter size-medium wp-image-245" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout1-300x223.jpg" alt="" width="300" height="223" /></a></p>
<p>图二：拉伸之后效果：</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout2.jpg"><img class="aligncenter size-medium wp-image-246" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout2-224x300.jpg" alt="" width="224" height="300" /></a></p>
<p>图三：使用FlowLayout(FlowLayout.RIGHT)构造函数</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout31.jpg"><img class="aligncenter size-medium wp-image-248" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout31-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>图四：拉伸后效果</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout4.jpg"><img class="aligncenter size-medium wp-image-247" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout4-241x300.jpg" alt="" width="241" height="300" /></a></p>
<p>图五：使用FlowLayout(FlowLayout.LEFT,10,20)构造函数</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout5.jpg"><img class="aligncenter size-medium wp-image-249" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout5-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>图六：拉伸后效果</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout6.jpg"><img class="aligncenter size-medium wp-image-250" src="http://6duweb.com/wp-content/uploads/2010/12/FlowLayout6-300x98.jpg" alt="" width="300" height="98" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/251.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>JAVA进行GUI程序设计之布局管理(上)</title>
		<link>http://6duweb.com/240.html</link>
		<comments>http://6duweb.com/240.html#comments</comments>
		<pubDate>Sun, 19 Dec 2010 10:43:42 +0000</pubDate>
		<dc:creator>Aiml</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[BorderLayout]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[布局管理器]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://6duweb.com/?p=240</guid>
		<description><![CDATA[与Windows编程不同，JAVA中GUI组件是使用相对位置来进行布局控制，所以在JAVA进行GUI开发的时候，想像Windows中那样直接对GUI组件进行拖拽摆放，比较困难。
下面介绍三种最常使用的布局管理器：... ]]></description>
			<content:encoded><![CDATA[<p>与Windows编程不同，JAVA中GUI组件是使用相对位置来进行布局控制，所以在JAVA进行GUI开发的时候，想像Windows中那样直接对GUI组件进行拖拽摆放，比较困难。</p>
<p>下面介绍三种最常使用的布局管理器：BorderLayout(边框式布局)、FlowLayout(流式布局)、GridLayout(网格式布局)。</p>
<p>BorderLayout(边框式布局)：</p>
<p>1．BorderLayout是Frame类的默认布局管理器，布局由东南西北中5个相对位置构成。该布局在调整容器大小时，组件的相对位置不会变化。</p>
<p>2．每个区域只能添加一个组件，如在一个区域中加入了多个组件，那么显示的时候只会显示最后加入的那个。</p>
<p>3．添加组件的时候如果没有指定区域，则默认是CENTER区域。</p>
<p>4．容器缩放时各区域缩放规则：</p>
<p>NORTH、SOUTH两个区域可以在水平方向缩放，竖直方向不变；</p>
<p>WEST、EAST两个区域可以在竖直方向缩放、水平方向不变；</p>
<p>CENTER区域在水平、竖直两个方向均缩放。</p>
<p>实例：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JFrame</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * @author Aiml
 *
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BorderLayoutDemo <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 *
	 */</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> BorderLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setTitle<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;边框式布局Demo&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Toolkit</span> kit <span style="color: #339933;">=</span> <span style="color: #003399;">Toolkit</span>.<span style="color: #006633;">getDefaultToolkit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Dimension</span> screenSize <span style="color: #339933;">=</span> kit.<span style="color: #006633;">getScreenSize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> x<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">width</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>screenSize.<span style="color: #006633;">height</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		setLocation<span style="color: #009900;">&#40;</span>x,y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * @param args
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// TODO Auto-generated method stub</span>
		BorderLayoutDemo frame <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> BorderLayoutDemo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">Button</span> bn <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;北部区域&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Button</span> bs <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;南部区域&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">Button</span> bw <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;西部区域&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">Button</span> be <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;东部区域&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">Button</span> bc <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Button</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;中部区域&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        frame.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>bn,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">NORTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frame.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>bs,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">SOUTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frame.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>bw,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">WEST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frame.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>be,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">EAST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frame.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>bc,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">CENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        frame.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>效果图：
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/BorderLayout1.jpg"><img class="aligncenter size-medium wp-image-241" src="http://6duweb.com/wp-content/uploads/2010/12/BorderLayout1-300x223.jpg" alt="" width="300" height="223" /></a></p>
<p>放大到全屏：</p>
<p align="center"><a href="http://6duweb.com/wp-content/uploads/2010/12/BorderLayout2.jpg"><img class="aligncenter size-medium wp-image-242" src="http://6duweb.com/wp-content/uploads/2010/12/BorderLayout2-300x161.jpg" alt="" width="300" height="161" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://6duweb.com/240.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

