﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-thisliy-随笔分类-mysql</title><link>http://www.blogjava.net/thisliy/category/37187.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 01 Jan 2010 09:17:53 GMT</lastBuildDate><pubDate>Fri, 01 Jan 2010 09:17:53 GMT</pubDate><ttl>60</ttl><item><title>mysql用户管理</title><link>http://www.blogjava.net/thisliy/archive/2009/12/20/306720.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Sun, 20 Dec 2009 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/thisliy/archive/2009/12/20/306720.html</guid><description><![CDATA[<span style="font-family: 微软雅黑"><span style="font-family: 微软雅黑"><span style="color: red">首先要声明一下：一般情况下，修改MySQL密码，授权，是需要有mysql里的root权限的。</span><br />
</span><strong>1.新建用户</strong><br />
&nbsp;&nbsp;&nbsp; mysql&gt; insert into mysql.user(Host,User,Password) values("localhost","<span style="background-color: yellow">lee</span>",password("<span style="background-color: yellow">1234</span>"));<br />
<br />
&nbsp;&nbsp;&nbsp; 这样就创建了一个名为：lee&nbsp;&nbsp;&nbsp; 密码为：1234 的用户。<br />
<br />
&nbsp;&nbsp;&nbsp; 刷新一下系统权限表<br />
&nbsp;&nbsp;&nbsp; mysql&gt;flush privileges;<br />
<br />
<strong>2.为用户授权</strong><br />
&nbsp;&nbsp; 授权lee用户拥有test数据库的所有权限。<br />
&nbsp;&nbsp; grant all privileges on <span style="background-color: yellow">test</span>.* to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#112;&#104;&#112;&#108;&#97;&#109;&#112;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;"><span style="background-color: yellow">lee</span>@localhost</a> identified by '1234';<br />
&nbsp;&nbsp; mysql&gt;flush privileges;<br />
<br />
<strong>3.删除用户</strong><br />
&nbsp; mysql&gt;DELETE FROM user WHERE User="phplamp" and Host="localhost";<br />
&nbsp; mysql&gt;flush privileges;<br />
<br />
<strong>4.修改指定用户密码</strong><br />
&nbsp;&nbsp; mysql&gt;update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";<br />
&nbsp;&nbsp; mysql&gt;flush privileges;</span>
<img src ="http://www.blogjava.net/thisliy/aggbug/306720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/thisliy/" target="_blank">liyang</a> 2009-12-20 11:28 <a href="http://www.blogjava.net/thisliy/archive/2009/12/20/306720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让MYSQL支持GBK </title><link>http://www.blogjava.net/thisliy/archive/2009/05/08/269684.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Fri, 08 May 2009 13:52:00 GMT</pubDate><guid>http://www.blogjava.net/thisliy/archive/2009/05/08/269684.html</guid><description><![CDATA[<div class="tit">让MYSQL支持GBK</div>
<div class="date">2008-09-27 22:30</div>
<p>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text"><font size="2">在 mysql数据库中，使用的是latin字符集，所以无法正常的支持中文字符，中文在数据库中显示为乱码&#8220;？&#8221;号。为了让mysql可以正常使用中文，尤其是当使用jsp连接mysql的时候，我们需要使用gbk的字符集，因此我们要对mysql进行以下设置，以便其有效的支持中文：</font>
            <p><font size="2">1.修改my.cnf文件<br />
            my.cnf文件是mysql的配置文件，我们可以从mysql的安装目录根据其自带模板来</font></p>
            <p><font size="2">建立<br />
            <strong>#cp /usr/local/mysql/support-files/my-huge.cnf&nbsp;&nbsp; /etc/my.cnf<br />
            #vi /etc/my.cnf</strong><br />
            在此文件中相应位置加入<br />
            default-character-set = gbk<br />
            ########################<br />
            <strong>[client]<br />
            default-character-set = gbk<br />
            [mysqld]<br />
            default-character-set = gbk<br />
            </strong>#########################<br />
            修改结束以后，保存，然后使用客户端登录<br />
            #mysql -u root -p <br />
            在客户端中输入<br />
            &gt;status;<br />
            显示的数据中如果出现：<br />
            Server characterset:&nbsp;&nbsp;&nbsp;&nbsp; gbk<br />
            Db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; characterset:&nbsp;&nbsp;&nbsp;&nbsp; gbk<br />
            Client characterset:&nbsp;&nbsp;&nbsp;&nbsp; gbk<br />
            Conn.&nbsp;&nbsp; characterset:&nbsp;&nbsp;&nbsp;&nbsp; gbk<br />
            则表示修改成功。</font></p>
            <p><font size="2">2.建立库表时指定gbk字符集<br />
            在建立库表的时候我们需要指定gbk字符集<br />
            建立数据库：</font></p>
            <p><font size="2">CREATE DATABASE dbname <strong>DEFAULT CHARACTER SET gbk</strong> COLLATE gbk_chinese_ci<br />
            建立数据表<br />
            Create table tablename(<br />
            id int(10) unsigned NOT NULL AUTO_INCREMENT,<br />
            name varchar(15) NOT NULL default '',<br />
            PRIMARY KEY&nbsp;&nbsp; (id)<br />
            ) TYPE=MyISAM <strong>DEFAULT CHARACTER SET gbk</strong></font></p>
            <p><font size="2">建立好以后，在客户端中使用：<br />
            &gt;show cereate table tablename;<br />
            如果最后一行显示gbk，则表示成功</font></p>
            <p><font size="2">3.修改jdbc驱动<br />
            jsp连接mysql需要使用jdbc驱动，在使用的时候，我们需要设置好字符集<br />
            String user="root";<br />
            String password="123";<br />
            String url="jdbc:mysql://localhost:3306/dbname?useUnicode=true&amp;<strong>characterEncoding=gbk</strong>"<br />
            Class.forNname("com.mysql.jdbc.Driver");//装载驱动类；<br />
            Connection con=DriverManager.getConnection(url,user,password);//取得连接<br />
            其中dbname为你数据库的名字，url中的gbk即为使用的字符集</font></p>
            <p><font size="2"><br />
            &nbsp;&nbsp;&nbsp; 做好以上三步以后，mysql就可以支持gbk中文了。</font></p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
</p>
<img src ="http://www.blogjava.net/thisliy/aggbug/269684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/thisliy/" target="_blank">liyang</a> 2009-05-08 21:52 <a href="http://www.blogjava.net/thisliy/archive/2009/05/08/269684.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql 建表,改表结构,插入数据,建立索引,删除索引 </title><link>http://www.blogjava.net/thisliy/archive/2009/01/08/250513.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Thu, 08 Jan 2009 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/thisliy/archive/2009/01/08/250513.html</guid><description><![CDATA[<div id="art" style="margin: 15px">
<div>创建表</div>
<div>create table employee (employee_id char(6) primary key,name char(8),sex char(2),birthday </div>
<div>date);</div>
<div>create table products (product_id char(2) primary key, name char(20));</div>
<div><br />
察看表结构</div>
<div>describe employ-ee;</div>
<div>describe products;</div>
<div>&nbsp;</div>
<div>修改表结构</div>
<div>alter table employee modify name char(10);</div>
<div>alter table products modiry name char(30);</div>
<div><br />
向表中添加数据</div>
<div>insert into employee values ('200301','zhangsan','m','1978/5/8');<br />
insert into employee values ('200302','lisi','f','1973/3/20');<br />
insert into employee values ('200303','wangwu','f','1970/10/9');<br />
insert into employee values ('200304','zhaoliu','m','1975/1/18');</div>
<div>&nbsp;</div>
<div>修改表内容</div>
<div>update employee set employee_id="200310" where name="zhaoliu";</div>
<div><br />
创建索引</div>
<div>建表时创建带索引的表<br />
create table test1 (test1_id char(4),name char(20), index idx_test1(name(10)));</div>
<div>create index idx_employee on employee(name); 用create为name列创建索引</div>
<div>alter table products add index idx_products(name); 用alter为name列创建索引</div>
<div><br />
察看索引</div>
<div>show index from employee;<br />
show index from products;</div>
<div><br />
删除索引</div>
<div>drop index idx_employee on employee;</div>
<div>alter table products drop index idx_products;</div>
<div></div>
<div></div>
</div>
 <img src ="http://www.blogjava.net/thisliy/aggbug/250513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/thisliy/" target="_blank">liyang</a> 2009-01-08 17:13 <a href="http://www.blogjava.net/thisliy/archive/2009/01/08/250513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>左连接，右连接，内连接，外连接</title><link>http://www.blogjava.net/thisliy/archive/2009/01/06/250154.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Tue, 06 Jan 2009 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/thisliy/archive/2009/01/06/250154.html</guid><description><![CDATA[<div>联接条件可在 FROM 或 WHERE 子句中指定，建议在 FROM 子句中指定联接条件。WHERE 和 HAVING 子句也可以包含搜索条件，以进一步筛选联接条件所选的行。&#160;</div>
<div><br />
</div>
<div>联接可分为以下几类：&#160;</div>
<div><br />
</div>
<div>内联接（典型的联接运算，使用像 = 或 &lt;> 之类的比较运算符）。包括相等联接和自然联接。&#160;</div>
<div>内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如，检索 students 和 courses 表中学生标识号相同的所有行。&#160;</div>
<div><br />
</div>
<div>外联接。外联接可以是左向外联接、右向外联接或完整外部联接。&#160;</div>
<div>在 FROM 子句中指定外联接时，可以由下列几组关键字中的一组指定：&#160;</div>
<div><br />
</div>
<div>LEFT JOIN 或 LEFT OUTER JOIN。&#160;</div>
<div>左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行，而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行，则在相关联的结果集行中右表的所有选择列表列均为空值。&#160;</div>
<div><br />
</div>
<div>RIGHT JOIN 或 RIGHT OUTER JOIN。&#160;</div>
<div>右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行，则将为左表返回空值。&#160;</div>
<div><br />
</div>
<div>FULL JOIN 或 FULL OUTER JOIN。&#160;</div>
<div>完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时，则另一个表的选择列表列包含空值。如果表之间有匹配行，则整个结果集行包含基表的数据值。&#160;</div>
<div><br />
</div>
<div>交叉联接。&#160;</div>
<div>交叉联接返回左表中的所有行，左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。&#160;</div>
<div><br />
</div>
<div>例如，下面的内联接检索与某个出版商居住在相同州和城市的作者：&#160;</div>
<div><br />
</div>
<div>USE pubs&#160;</div>
<div>SELECT a.au_fname, a.au_lname, p.pub_name&#160;</div>
<div>FROM authors AS a INNER JOIN publishers AS p&#160;</div>
<div>ON a.city = p.city&#160;</div>
<div>AND a.state = p.state&#160;</div>
<div>ORDER BY a.au_lname ASC, a.au_fname ASC&#160;</div>
<div><br />
</div>
<div>FROM 子句中的表或视图可通过内联接或完整外部联接按任意顺序指定；但是，用左或右向外联接指定表或视图时，表或视图的顺序很重要。有关使用左或右向外联接排列表的更多信息，请参见使用外联接。&#160;</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div>例子：&#160;</div>
<div>a表 id name b表 id job parent_id&#160;</div>
<div>1 张3 &#160; &#160; 1 &#160; 23 &#160; &#160;1&#160;</div>
<div>2 李四 &#160; 2 &#160; &#160;34 &#160; 2&#160;</div>
<div>3 王武 &#160; 3 &#160; &#160;34 &#160; 4&#160;</div>
<div><br />
</div>
<div>a.id同parent_id 存在关系&#160;</div>
<div><br />
</div>
<div>内连接&#160;</div>
<div>select a.*,b.* from a inner join b on a.id=b.parent_id&#160;</div>
<div><br />
</div>
<div>结果是&#160;</div>
<div>1 张3 &#160; &#160;1 &#160; 23 &#160; 1&#160;</div>
<div>2 李四 &#160; 2 &#160; 34 &#160; 2&#160;</div>
<div><br />
</div>
<div>左连接&#160;</div>
<div><br />
</div>
<div>select a.*,b.* from a left join b on a.id=b.parent_id&#160;</div>
<div><br />
</div>
<div>结果是&#160;</div>
<div>1 张3 &#160; &#160;1 &#160; 23 &#160; 1&#160;</div>
<div>2 李四 &#160; 2 &#160; 34 &#160; 2&#160;</div>
<div>3 王武 null&#160;</div>
<div>右连接&#160;</div>
<div>select a.*,b.* from a right join b on a.id=b.parent_id&#160;</div>
<div><br />
</div>
<div>结果是&#160;</div>
<div>1 张3 &#160; &#160;1 &#160; 23 &#160; 1&#160;</div>
<div>2 李四 &#160; 2 &#160; 34 &#160; 2&#160;</div>
<div>null &#160; &#160; &#160; &#160;3 &#160; &#160;34 &#160; 4&#160;</div>
<div><br />
</div>
<div>完全连接&#160;</div>
<div><br />
</div>
<div>select a.*,b.* from a full join b on a.id=b.parent_id&#160;</div>
<div><br />
</div>
<div><br />
</div>
<div>结果是&#160;</div>
<div>1 张3 &#160; &#160; 1 &#160; 23 &#160; 1&#160;</div>
<div>2 李四 &#160; &#160;2 &#160; 34 &#160; 2&#160;</div>
<div>null &#160; &#160; &#160; &#160; 3 &#160; 34 &#160; 4&#160;</div>
<div>3 王武 null</div>
 <img src ="http://www.blogjava.net/thisliy/aggbug/250154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/thisliy/" target="_blank">liyang</a> 2009-01-06 17:46 <a href="http://www.blogjava.net/thisliy/archive/2009/01/06/250154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>