﻿<?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-华梦行-随笔分类-Oracle</title><link>http://www.blogjava.net/huamengxing/category/25348.html</link><description>专注于java</description><language>zh-cn</language><lastBuildDate>Fri, 22 Nov 2019 11:36:07 GMT</lastBuildDate><pubDate>Fri, 22 Nov 2019 11:36:07 GMT</pubDate><ttl>60</ttl><item><title>mysql zip 安装5.7</title><link>http://www.blogjava.net/huamengxing/archive/2019/09/14/434622.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Sat, 14 Sep 2019 14:51:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2019/09/14/434622.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/434622.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2019/09/14/434622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/434622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/434622.html</trackback:ping><description><![CDATA[<p style="white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; widows: 1; margin: 10px auto; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><span style="font-family: 'Microsoft YaHei'; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">MYSQL_HOME&nbsp; &nbsp; &nbsp;解压路径 &nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(51,102,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">C:\DevelopTool\MySQL\mysql-5.7.25-winx64&nbsp; &nbsp;&nbsp;</span></span></p>
<p style="white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; widows: 1; margin: 10px auto; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><span style="font-family: 'Microsoft YaHei'; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><img style="max-width: 800px; border-top: medium none; height: auto; border-right: medium none; border-bottom: medium none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: medium none; margin: 0px; padding-right: 0px" alt="" src="https://img2018.cnblogs.com/blog/1633237/201909/1633237-20190908223218082-1823549475.png" width="798" height="210" /></span></p>
<p style="white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; widows: 1; margin: 10px auto; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><span style="font-family: 'Microsoft YaHei'; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">&nbsp;</span></p>
<p style="white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; widows: 1; margin: 10px auto; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><span style="font-family: 'Microsoft YaHei'; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">&nbsp;</span></p>
<p style="white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; widows: 1; margin: 10px auto; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><span style="font-family: 'Microsoft YaHei'; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">&nbsp;Path&nbsp; &nbsp; &nbsp;<span style="color: rgb(51,102,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">%MYSQL_HOME%\bin</span></span></p><br /><br />&gt;mysqld --initialize --user=mysql --console<br /><span style="white-space: normal; word-spacing: 0px; text-transform: none; float: none; color: rgb(0,0,255); font: 14px/25px 'Microsoft YaHei'; widows: 1; display: inline !important; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">mysqld -install&nbsp;<br />
<p style="box-sizing: border-box; word-wrap: break-word; white-space: normal; word-spacing: 0px; text-transform: none; color: rgb(77,77,77); outline-width: 0px; padding-bottom: 0px; padding-top: 0px; font: 16px/26px 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; outline-style: none; padding-left: 0px; widows: 1; margin: 0px 0px 16px; letter-spacing: normal; outline-color: invert; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">先启动服务：</p><pre style="box-sizing: border-box; word-wrap: break-word; word-spacing: 0px; position: relative; text-transform: none; color: rgb(0,0,0); outline-width: 0px; padding-bottom: 0px; padding-top: 0px; font: 14px/22px 'Source Code Pro', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Anonymous Pro', 'Droid Sans Mono', Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, 'PingFang SC', 'Microsoft YaHei', sans-serif; outline-style: none; padding-left: 0px; widows: 1; margin: 1.2em 0px 24px; letter-spacing: normal; outline-color: invert; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><code onclick="mdcp.signin(event)" style="box-sizing: border-box; font-size: 14px; word-wrap: break-word; font-family: 'Source Code Pro', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Anonymous Pro', 'Droid Sans Mono', Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, 'PingFang SC', 'Microsoft YaHei', sans-serif; white-space: pre; min-width: 94%; overflow-x: auto; color: rgb(171,178,191); outline-width: 0px; padding-bottom: 0.5em; padding-top: 0.5em; outline-style: none; padding-left: 0.5em; display: block; outline-color: invert; line-height: 22px; padding-right: 0.5em; background-color: rgb(40,44,52); border-radius: 4px">net start MySQL【或者是MySQL57】</code></pre><br />修改密码<br /><span style="white-space: normal; word-spacing: 0px; text-transform: none; float: none; color: rgb(75,75,75); text-align: left; font: 13px/19px verdana, Arial, helvetica, sans-seriff; widows: 1; display: inline !important; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">mysqladmin -uroot -p123456 password 123<span class="Apple-converted-space">&nbsp;<br /><br /></span></span><br /><span style="white-space: pre; word-spacing: 0px; text-transform: none; float: none; color: rgb(171,178,191); font: 14px/22px 'Source Code Pro', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Anonymous Pro', 'Droid Sans Mono', Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, 'PingFang SC', 'Microsoft YaHei', sans-serif; widows: 1; display: inline !important; letter-spacing: normal; background-color: rgb(40,44,52); text-indent: 0px; -webkit-text-stroke-width: 0px">sc delete 服务名例如： sc delete mysql</span></span><br /><br /><br /><a href="https://www.cnblogs.com/july7/p/11489029.html">https://www.cnblogs.com/july7/p/11489029.html</a> <br /><br />远程访问<br /><pre class="prism-token token  language-javascript" style="box-sizing: border-box; overflow: auto; word-wrap: normal; white-space: pre; word-spacing: 0px; text-transform: none; word-break: normal; color: rgb(51,51,51); padding-bottom: 16px; text-align: left; padding-top: 16px; font: 14px/1.45 Consolas, 'Liberation Mono', Menlo, Courier, monospace; padding-left: 16px; widows: 1; margin: 24px 0px; letter-spacing: normal; padding-right: 16px; background-color: rgb(247,247,247); text-indent: 0px; -webkit-text-stroke-width: 0px; border-radius: 3px; font-stretch: normal; tab-size: 2">use mysql<span class="token punctuation" style="box-sizing: border-box; color: rgb(153,153,153)">;</span>
GRANT ALL ON <span class="token operator" style="box-sizing: border-box;background: none transparent scroll repeat 0% 0%; color: rgb(166,127,89)">*</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153,153,153)">.</span><span class="token operator" style="box-sizing: border-box;background: none transparent scroll repeat 0% 0%; color: rgb(166,127,89)">*</span> TO root@<span class="token string" style="box-sizing: border-box; color: rgb(102,153,0)">'%'</span> IDENTIFIED BY <span class="token string" style="box-sizing: border-box; color: rgb(102,153,0)">'密码'</span> WITH GRANT OPTION<span class="token punctuation" style="box-sizing: border-box; color: rgb(153,153,153)">;</span>
flush privileges<span class="token punctuation" style="box-sizing: border-box; color: rgb(153,153,153)">;</span></pre><img src ="http://www.blogjava.net/huamengxing/aggbug/434622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2019-09-14 22:51 <a href="http://www.blogjava.net/huamengxing/archive/2019/09/14/434622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Informix的数据库的导出导入</title><link>http://www.blogjava.net/huamengxing/archive/2009/01/19/251914.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Mon, 19 Jan 2009 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2009/01/19/251914.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/251914.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2009/01/19/251914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/251914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/251914.html</trackback:ping><description><![CDATA[
		<p>1、导出，首先创建导出一个目录，示例中在/db/目录下创建sunguorong的一个文件夹</p>
		<p> dbexport  dbname -c -ss -o /db/sunguorong</p>
		<p>2、导出完成后，在sunguorong目录下生成一个dbname.exp的目录，找到该目录下的dbname.sql模式脚本文件，需要利用工具（如sqleditor）来验证一下脚本的语法的正确性（导出的脚本可能存在语法上的错误），需要加以修改纠正。</p>
		<p>3、导入，在导入之前，需要按照存储情况先划分好DBSPACE</p>
		<p> dbimport dbname -i /db/sunguorong dbname -c -l buffered -d <br /> dbimport ecardsafe -i D:/mydbback ecardsafe -c -l<br />4、导入完成后，进行数据库级别的统计更新</p>
		<p> update statistics ;</p>
<img src ="http://www.blogjava.net/huamengxing/aggbug/251914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2009-01-19 16:40 <a href="http://www.blogjava.net/huamengxing/archive/2009/01/19/251914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql 创建 数据库时指定编码</title><link>http://www.blogjava.net/huamengxing/archive/2008/10/13/233942.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Mon, 13 Oct 2008 02:00:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2008/10/13/233942.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/233942.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2008/10/13/233942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/233942.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/233942.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">
						<strong>mysql 创建 数据库时指定编码很重要，很多开发者都使用了默认编码，但是我使用的经验来看，制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。</strong>
				</font>
		</p>
		<p>
				<font size="2">
						<strong>我们遵循的标准是，数据库，表，字段和页面或文本的编码要统一起来<br />很多mysql数据库工具（除了phpmyadmin，我偶尔用，功能强速度慢）都不支持创建时指定数据库编码，当然可以改my.ini来解决这个问题,但是需要重新启动mysql，</strong>
				</font>
				<font size="2">
						<strong>不过用下面的语句会更有效</strong>
				</font>
		</p>
		<p>
				<font size="2">
						<strong>GBK: create</strong> database test2 DEFAULT <b>CHARACTER</b> SET gbk COLLATE gbk_chinese_ci; </font>
		</p>
		<p>
				<font size="2">
						<strong>UTF8: CREATE</strong> DATABASE `test2` DEFAULT <b>CHARACTER SET utf8</b> COLLATE utf8_general_ci</font>
		</p>
<img src ="http://www.blogjava.net/huamengxing/aggbug/233942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2008-10-13 10:00 <a href="http://www.blogjava.net/huamengxing/archive/2008/10/13/233942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql ALTER   TABLE   句法</title><link>http://www.blogjava.net/huamengxing/archive/2008/10/10/MysqlALTERTABLE.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Fri, 10 Oct 2008 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2008/10/10/MysqlALTERTABLE.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/233651.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2008/10/10/MysqlALTERTABLE.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/233651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/233651.html</trackback:ping><description><![CDATA[6.5.4   ALTER   TABLE   句法   <br />添加唯一<br />ALTER  table justmusic add unique  (musicsource)<br />    <br />    <br />  ALTER   TABLE   允许你改变一个现有表的结构。例如，你可以添加或删除列，创建或撤销索引，更改现有列的类型或将列或表自身更名。你也可以改变表的注释和表的类型。查看章节   6.5.3   CREATE   TABLE   句法。     <br />    <br />  如果你使用   ALTER   TABLE   来改变一个列规约，但是   DESCRIBE   tbl_name   显示你的列并没有被修改，这有可能是因为章节   6.5.3.1   隐式的列定义变化   描述的一个原因，使   MySQL   忽略了你的修改。例如，如果你尝试将一个   VARCHAR   列更改为   CHAR，而如果在这个表中包含其它的变长列，MySQL   将仍然使用   VARCHAR。     <br />    <br />  ALTER   TABLE   通过建立原初表的一个临时副本来工作。更改在副本上执行，然后原初表将被删除，临时表被换名。这样做使所有的修改自动地转向到没有任何更新失败的新表。当   ALTER   TABLE   执行时，原初表可被其它客户端读取。更新与写入被延迟到新的表准备好。     <br />    <br />  注意，如果你以除   RENAME   之外的其它选项使用   ALTER   TABLE   ，MySQL   将总是创建一个临时表，即使数据并不确实需要被复制(就像当你改变一个列名时)。我们计划不久来修正它，但是通常人们是不经常执行   ALTER   TABLE的，所以在我们的   TODO   上，这个修正并不是急于处理的。对于   MyISAM   表，你可以将变量   myisam_sort_buffer_size   设置和高一点，以加速索引的重建部分(这是重建进程中最慢的部分)。     <br />    <br />  为了使用   ALTER   TABLE，你需要在这个表上有   ALTER、INSERT   和   CREATE   权限。     <br />    <br />  IGNORE   是   MySQL   对   ANSI   SQL92   的扩展。它用于控制当在新表中的唯一键上出现重复值时，ALTER   TABLE   如何工作。如果   IGNORE   没有被指定，副本将被放弃并回退。如果   IGNORE   被指定，那么在唯一键上重复的记录行只有第一个记录行被使用；其它的均被删除。     <br />    <br />  你可以在单个的   ALTER   TABLE   语句中发出多个   ADD、ALTER、DROP   和   CHANGE   子句。这是   MySQL   对   ANSI   SQL92   的扩展，ANSI   SQL92   只允许在每个   ALTER   TABLE   语句中一个子句。     <br />    <br />  CHANGE   col_name、DROP   col_name   和   DROP   INDEX   是   MySQL   对   ANSI   SQL92   的扩展。     <br />    <br />  MODIFY   is   an   Oracle   extension   to   ALTER   TABLE.     <br />  可选词   COLUMN   只是一个无用词组，可被忽略。     <br />    <br />  如果你使用   ALTER   TABLE   tbl_name   RENAME   TO   new_name，并没有任何其它的选项，MySQL   将简单地重命名与表   tbl_name   的文件。这不需要创建临时表。查看章节   6.5.5   RENAME   TABLE   句法。     <br />    <br />  create_definition   子句使用与   CREATE   TABLE   相同的   ADD   和   CHANGE   句法。注意，这些句法不仅包含列类型，还要包含列名。查看章节   6.5.3   CREATE   TABLE   句法。     <br />    <br />  你可以使用一个   CHANGE   old_col_name   create_definition   子句来重命名一个列。为了这样做，你必须指定旧的和新的列名，以及列当前的类型。例如，为了将一个   INTEGER   列   a   重命名为   b，你必须这样做：     <br />  mysql&gt;   ALTER   TABLE   t1   CHANGE   a   b   INTEGER;   <br />    <br />  如果你希望改变一个列的类型而不是列名，CHANGE   句法仍然需要有两个列名，即使它们是一样的。例如：     <br />  mysql&gt;   ALTER   TABLE   t1   CHANGE   b   b   BIGINT   NOT   NULL;   <br />    <br />  然后，到   MySQL   3.22.16a   时，你也可以使用   MODIFY   来改变一个列的类型而不需要重命名它：     <br />  mysql&gt;   ALTER   TABLE   t1   MODIFY   b   BIGINT   NOT   NULL;   <br />    <br />  如果你使用   CHANGE   或   MODIFY   缩短一个列，而该列上存在一个取列部分值的索引(举例来说，如果你有一个索引在一个   VARCHAR   列的前   10   个字符上)，那么，你将不能使列短于索引的字符数目。     <br />    <br />  当你使用   CHANGE   或   MODIFY   改变一个列类型时，MySQL   将尝试尽可能地将数据转换到新的类型。     <br />    <br />  在   MySQL   3.22   或更新的版本中，你可以使用   FIRST   或   ADD   ...   AFTER   col_name   在一个表中的某个特定位置添加一列。缺省是增加到最后一列。从   MySQL   4.0.1   开始，你也可以在   CHANGE   或   MODIFY   中使用关键词   FIRST   和   AFTER   。     <br />    <br />  ALTER   COLUMN   可以为一列指定一个新的缺省值或删除老的缺省值。如果老的缺省值被移除且列可以被设为   NULL，新的缺省值将是   NULL。如果该列不允许有   NULL值，MySQL   以章节   6.5.3   CREATE   TABLE   句法   中的描述方式为该列赋于一个缺省值。     <br />    <br />  DROP   INDEX   移除一个索引。这是   MySQL   对   ANSI   SQL92   的一个扩展。查看章节   6.5.8   DROP   INDEX   句法。     <br />    <br />  如果列被从一个表中移除，列也将从任何有它为组成部分的索引中被移除。如果组成一个索引的所有列均被移除了，那么，该索引也将被移除。     <br />    <br />  如果一个表只包含一个列，那么该列不能被移除。如果你本就打算移除该表，请使用   DROP   TABLE   代替。     <br />    <br />  DROP   PRIMARY   KEY   移除主索引。如果这样的索引不存在，它将移除表中的第一个   UNIQUE   索引。(如果没有   PRIMARY   KEY   被明确指定，MySQL   将第一个   UNIQUE   键标记为   PRIMARY   KEY   )   如果你添加一个   UNIQUE   INDEX   或   PRIMARY   KEY   到一个表中，它将被存储在任何非   UNIQUE   索引之前，因而，MySQL   可以尽可能地检测出重复键。     <br />    <br />  ORDER   BY   允许你以指定的记录行顺序创建一个新表。注意，在插入与删除后，该表将不会保留这个顺序。在某些情况下，如果表在你以后希望排序的列上是有序的，这将使得   MySQL   排序时更加得容易。当你知道你主要查询的行以一个确定的次序时，这将是很有用的。在对表进行过大的改变后，通过使用这个选项，你可能会得到更高的性能。     <br />    <br />  如果你在一个   MyISAM   表上使用   ALTER   TABLE   ，所有非唯一的索引将以一个分批方式创建(就像   REPAIR   一样)。当你有很多索引时，这可能使   ALTER   TABLE   更快一点。     <br />    <br />  从   MySQL   4.0   开始，上面的特性可明确地激活。ALTER   TABLE   ...   DISABLE   KEYS   使   MySQL   停止更新   MyISAM   表的非唯一索引。然后   ALTER   TABLE   ...   ENABLE   KEYS   可以被用来重建丢失的索引。因为   MySQL   以特殊的算法执行它，这将比一个接一个地插入索引要快得多，禁用键可以很大程序上的加速一个大批量的插入。     <br />    <br />  使用   C   API   函数   mysql_info()，你可以找出有多少记录被拷贝，以及(当   IGNORE   被使用时)有多少记录因唯一键值重复而被删除。     <br />    <br />  FOREIGN   KEY、CHECK   和   REFERENCES   子句实际上不做任何事情，除了对于   InnoDB   类型的表，它支持   ADD   CONSTRAINT   FOREIGN   KEY   (...)   REFERENCES   ...   (...)。注意，InnoDB   不允许一个   index_name   被指定。查看章节   7.5   InnoDB   表。对于其它类型的表，这个句法仅仅为了兼容而提供，以更容易地从其它   SQL   服务器移植代码和更容易地运行以引用创建表的应用程序。查看章节   1.8.4   MySQL   与   ANSI   SQL92   相比不同的差别。     <br />  这里是一个例子，显示了   ALTER   TABLE   的一些用法。我们以一个按如下方式创建一个表   t1   开始：     <br />    <br />  mysql&gt;   CREATE   TABLE   t1   (a   INTEGER,b   CHAR(10));   <br />    <br />  为了将表   t1   重命名为   t2：     <br />    <br />  mysql&gt;   ALTER   TABLE   t1   RENAME   t2;   <br />    <br />  为了将列   a   从   INTEGER   改变为   TINYINT   NOT   NULL(列名不变)，并将列   b   从   CHAR(10)   改变为   CHAR(20)   ，同时也将   b   重命名为   c：     <br />    <br />  mysql&gt;   ALTER   TABLE   t2   MODIFY   a   TINYINT   NOT   NULL,   CHANGE   b   c   CHAR(20);   <br />    <br />  添加一个名为   d   的   TIMESTAMP   c列：     <br />    <br />  mysql&gt;   ALTER   TABLE   t2   ADD   d   TIMESTAMP;   <br />    <br />  在列   d   上增加一个索引，将列   a   设为主键：     <br />    <br />  mysql&gt;   ALTER   TABLE   t2   ADD   INDEX   (d),   ADD   PRIMARY   KEY   (a);   <br />    <br />  移除列   c:     <br />    <br />  mysql&gt;   ALTER   TABLE   t2   DROP   COLUMN   c;   <br />    <br />  添加一个名为   c   的   AUTO_INCREMENT   整型列：     <br />    <br />  mysql&gt;   ALTER   TABLE   t2   ADD   c   INT   UNSIGNED   NOT   NULL   AUTO_INCREMENT,   <br />                        ADD   INDEX   (c);   <br />    <br />  注意，我们索引了   c，因为   AUTO_INCREMENT   列必须被索引，同样我们声明列   c   为   NOT   NULL，因为被索引的列不能有   NULL。     <br />    <br />  当你添加一个   AUTO_INCREMENT   列时，列值会自动地以序列值填充。通过在   ALTER   TABLE   或使用   AUTO_INCREMENT   =   #   表选项之前执行   SET   INSERT_ID=#   ，你可以设置第一个序列数字。查看章节   5.5.6   SET   句法。     <br />    <br />  对于   MyISAM   表，如果你不改变   AUTO_INCREMENT   列，序列值将不会被影响。如果你移除一个AUTO_INCREMENT   列，并添加另一个   AUTO_INCREMENT   列，值将再次从   1   开始。     <br />  <br />    <br /><img src ="http://www.blogjava.net/huamengxing/aggbug/233651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2008-10-10 18:00 <a href="http://www.blogjava.net/huamengxing/archive/2008/10/10/MysqlALTERTABLE.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>not in not exists</title><link>http://www.blogjava.net/huamengxing/archive/2007/10/11/152092.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Thu, 11 Oct 2007 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/10/11/152092.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/152092.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/10/11/152092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/152092.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/152092.html</trackback:ping><description><![CDATA[select S_10994_1_SYS_MODELTYPE.nextval,a.typeid,'SYS','Mail_Forward','邮件转发模板','Mail Forward Model' from<br />bse_organization a where not exists (select orgtypeid from SYS_MODELTYPE b where b.orgtypeid=a.typeid and modelcode ='Mail_Forward')<br />--<br /><br />select S_10994_1_SYS_MODELTYPE.nextval,typeid,'SYS','Mail_Forward','邮件转发模板','Mail Forward Model' from <br />bse_organization where typeid not in (<br />select orgtypeid from SYS_MODELTYPE where modelcode='Mail_Forward'<br />)<br /><br /><p><font size="2">请注意not in 逻辑上不完全等同于not exists，如果你误用了not in，小心你的程序存在致命的BUG：</font></p><p><br /></p><p><font size="2">请看下面的例子：<br />create table t1 (c1 number,c2 number);<br />create table t2 (c1 number,c2 number);</font></p><p><font size="2">insert into t1 values (1,2);<br />insert into t1 values (1,3);<br />insert into t2 values (1,2);<br />insert into t2 values (1,null);</font></p><p><font size="2">select * from t1 where c2 not in (select c2 from t2);<br />no rows found<br />select * from t1 where not exists (select 1 from t2 where t1.c2=t2.c2);<br />c1 c2<br />1 3</font></p><p><font size="2">正如所看到的，not in 出现了不期望的结果集，存在逻辑错误。如果看一下上述两个select语句的执行计划，也会不同。后者使用了hash_aj。<br />因此，请尽量不要使用not in(它会调用子查询)，而尽量使用not exists(它会调用关联子查询)。如果子查询中返回的任意一条记录含有空值，则查询将不返回任何记录，正如上面例子所示。<br />除非子查询字段有非空限制，这时可以使用not in ,并且也可以通过提示让它使用hasg_aj或merge_aj连接。</font></p><img src ="http://www.blogjava.net/huamengxing/aggbug/152092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-10-11 16:51 <a href="http://www.blogjava.net/huamengxing/archive/2007/10/11/152092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 返回当前时间</title><link>http://www.blogjava.net/huamengxing/archive/2007/09/06/143124.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Thu, 06 Sep 2007 03:36:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/09/06/143124.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/143124.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/09/06/143124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/143124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/143124.html</trackback:ping><description><![CDATA[select  getdate()  返回当前时间<br /><br />Oracle      所有的日期函数都没有（）<br />select Sysdate from dual<br />2007-9-6 11:27:25<br /><br /> select sessiontimezone,current_timestamp from dual;<br /> +08:00<br /><br />   2007-9-6 11:27:25.234000 +08:00<br /><br /> select sessiontimezone,current_timestamp  ,current_date ,sysdate from dual;<img src ="http://www.blogjava.net/huamengxing/aggbug/143124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-09-06 11:36 <a href="http://www.blogjava.net/huamengxing/archive/2007/09/06/143124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主题:   读HSQLDB的源码想到的 </title><link>http://www.blogjava.net/huamengxing/archive/2007/09/06/143090.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Thu, 06 Sep 2007 02:21:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/09/06/143090.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/143090.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/09/06/143090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/143090.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/143090.html</trackback:ping><description><![CDATA[
		<p>昨天在论坛看到一篇讨论嵌入式数据库HSQLDB(<a href="http://www.javaeye.com/topic/79802" target="blank">http://www.javaeye.com/topic/79802</a>)的帖子，想到自己曾经读过部分它的源码，有一种对某些技术豁然开朗的感觉。所以，也希望和朋友们一起分享，大家有什么好的感受，不如也分享一下吧。下面是我对那个帖子的冗余回复，我觉得有必要专门发一篇帖子重复一下：</p>
		<p>说点题外话，建议大家读读HSQLDB的源码，特别是jdbc driver（<b>org/hsqldb/jdbc包</b>）那部分，写得清晰易懂。读了它的部分源码，我自认为对下面一些问题理解深入了： <br />1、JDBC规范和JDBC实现的关系：怎么自己去设计一个规范，一种架构？我是否自己可以为某种数据设计jdbc driver，如何设计？想想php里面各数据库的函数库各自为政对程序移植性的影响，就知道jdbc规范有多么重要了。</p>
		<p>2、JDBC协议：JDBC是基于socket之上的，数据包格式（<b>org.hsqldb.Result</b>)（mysql数据包格式公开了）？那么JMS数据包呢？其实，这也可以延伸到分布式协议的设计原理，如RMI、SOAP。其实，这些数据包格式和JSON、YAML这些message格式没有本质的区别，只不过应用范围不一样。任何分布式协议，肯定有一种message格式。</p>
		<p>3、JDBC over HTTP：这样我们对RMI over IIOP, soap over HTTP, http tunnel原理有更深入的理解。</p>
		<p>4、什么是long connection（jdbc的socket)，什么是short connection（http)，具体怎么实现？ <br />3和4这些在HSQLDB的<b>org.hsqldb.HTTPClientConnection</b>类里有实现。</p>
		<p>5、Java客户端和服务器端的通讯实现：jdbc driver就可以认为是一个java客户端类库。那么JMS client呢？还有，像mysql有各种语言的driver，原理是什么。</p>
		<p>6、sql这种command、描述型语言究竟在数据库里面是个什么地位：sql是怎么传入jdbc driver，最终和database交互的？我们是否可以设计出另外一种command，形成一种行业标准，它在服务器和客户端怎么实现的。</p>
		<p>以上我的表达可能有些晦涩，我只想表达一点：大家有兴趣就多读读经典的源码，扩展一下自己的设计思路。可能很多人象我一样，总有忙不完的项目，那么抽几个小时就够了，不必深入。 <br />有很多技术我们理解总是很模糊，当你深入到内部，忽然发现原来就这么回事。我们总觉得IoC很神秘，其实最简单的IoC容器，也许一个HashMap就够了。<br /><br /><br />引用的<a href="http://www.javaeye.com/topic/80532">http://www.javaeye.com/topic/80532</a></p>
<img src ="http://www.blogjava.net/huamengxing/aggbug/143090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-09-06 10:21 <a href="http://www.blogjava.net/huamengxing/archive/2007/09/06/143090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 与sql的不同规则</title><link>http://www.blogjava.net/huamengxing/archive/2007/09/03/142371.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Mon, 03 Sep 2007 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/09/03/142371.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/142371.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/09/03/142371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/142371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/142371.html</trackback:ping><description><![CDATA[  Sql 语法规则<br />@intCount  INT Output  ,<br />@chvKeywords            VARCHAR(100),            --关键字<br /> @dtmdatelowerlimit               DATETIME ,<br />@dtmdateupperlimit              DATETIME ,<br />@bitViewPersonalLimit  BIT,  --浏览个人<br /><br />ORACLE 语法规则<br />chvOrgTypeID  IN VARCHAR2  DEFAULT NULL,<br />chCreatorName  IN VARCHAR2  DEFAULT NULL,<br />tempCount    in out          integer,---输入输出<img src ="http://www.blogjava.net/huamengxing/aggbug/142371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-09-03 16:48 <a href="http://www.blogjava.net/huamengxing/archive/2007/09/03/142371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL存储过程</title><link>http://www.blogjava.net/huamengxing/archive/2007/09/03/142298.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Mon, 03 Sep 2007 06:39:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/09/03/142298.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/142298.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/09/03/142298.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/142298.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/142298.html</trackback:ping><description><![CDATA[
		<p>SET QUOTED_IDENTIFIER ON <br />GO<br />SET ANSI_NULLS OFF <br />GO</p>
		<p> </p>
		<p>ALTER             PROCEDURE spITM_CheckPaperList(<br />@intCount  INT Output  ,<br />@chvKeywords            VARCHAR(100),            --关键字<br />@chvinterunittypeid             varchar(100),<br /> @dtmdatelowerlimit               DATETIME ,<br />@dtmdateupperlimit              DATETIME ,<br />@isspecialbuy             int,<br />@checkresultid            int,<br />  @intAudit                         INT,                                --审批状态<br />@chvEmployeeTypeID VARCHAR(100) ,  --职员id<br />@bitViewPersonalLimit  BIT,  --浏览个人<br />@bitViewDepartmentLimit BIT,  --浏览部门<br />@bitEmployeeIsManager  BIT,  --浏览全部<br />   @chvOrgTypeID            VARCHAR(100),  <br />@intPageSize  INT  ,<br />@intPageNo  INT  <br />)<br />AS<br />--权限控制条件开始<br />DECLARE @chvEmployeeDepartment  VARCHAR(36)<br />DECLARE @bitEmployeeIsAdmin  BIT<br />SELECT @chvEmployeeDepartment = '000'</p>
		<p>IF EXISTS(SELECT TypeID FROM CRM_Employee WHERE TypeID = @chvEmployeeTypeID)<br /> AND<br /> EXISTS(SELECT Count(*) FROM CRM_LoginUser WHERE InnerObject = 'Employee' AND InnerObjectTypeID = @chvEmployeeTypeID)<br />BEGIN<br /> --SELECT @chvEmployeeDepartment = [Department] FROM [CRM_Employee] WHERE [TypeID] = @chvEmployeeTypeID<br /> SELECT @bitEmployeeIsAdmin = IsAdmin FROM CRM_LoginUser WHERE InnerObject = 'Employee' AND InnerObjectTypeID = @chvEmployeeTypeID<br /> --deal  empty 2007/1/22<br /> SELECT @chvEmployeeDepartment = case @chvEmployeeDepartment when ' ' then  '000' else  @chvEmployeeDepartment end <br />END<br />ELSE<br />BEGIN<br /> SELECT * FROM ITM_CheckPaper  WHERE TypeID = '0' --返回一个空的记录集<br /> RETURN<br />END<br />--权限控制条件结束--<br />select a.*  ,b.Name VendorName,  ww.Name CheckPaperName,<br />w.Name CreatorName<br />  INTO #ITM_CheckPaperListPageTable<br />   from ITM_CheckPaper as  a  <br />             left JOIN CRM_Employee w      ON a.CreatorTypeID = w.TypeID <br />       left join CRM_Employee ww on a.CHECKERTYPEID=ww.Typeid<br />  LEFT JOIN scm_Vendor b ON a.VendorTypeID = b.TypeID<br />WHERE<br /> a.OrgTypeID = @chvOrgTypeID and<br />(<br /> a.SERIALNUMBER     like <a href="mailto:'%'+@chvKeywords+'%'">'%'+@chvKeywords+'%'</a> or<br /> a.ContractNo                 like <a href="mailto:'%'+@chvKeywords+'%'">'%'+@chvKeywords+'%'</a> or<br />b.Name                 like <a href="mailto:'%'+@chvKeywords+'%'">'%'+@chvKeywords+'%'</a> or<br /> a.CheckSite     like <a href="mailto:'%'+@chvKeywords+'%'">'%'+@chvKeywords+'%'</a><br />)<br />--and<br />--a.AuditFlag = case @intAudit<br />  ---                        when 0 then a.AuditFlag<br />  --                       else @intAudit<br />  --                    end<br />--权限控制条件开始--<br />AND<br />(<br /> @bitViewDepartmentLimit = 1<br /> AND<br /> (<br /> ISNULL(w.[Department],'001') LIKE ISNULL(@chvEmployeeDepartment,'not the same') + '%'<br /> OR<br /> ISNULL(w.[Department2],'001') LIKE ISNULL(@chvEmployeeDepartment,'not the same') + '%'<br /> OR<br /> ISNULL(w.[Department3],'001') LIKE  ISNULL(@chvEmployeeDepartment,'not the same') + '%'<br /> )<br /> OR<br /> a.[CreatorTypeID] = @chvEmployeeTypeID  AND  @bitViewPersonalLimit = 1<br /> OR<br /> @bitEmployeeIsAdmin = 1<br /> OR<br /> @bitEmployeeIsManager = 1<br /> OR<br /> a.[EmployeeRange] LIKE '%' <a href="mailto:+@chvEmployeeTypeID">+@chvEmployeeTypeID</a> +'%'<br />)<br />--权限控制条件结束--<br />--Order by a.CreateDate desc<br />---------------判断是否取记录数<br />if @intCount = 1<br />Begin<br /> SELECT @intCount=Count(0)<br /> FROM #ITM_CheckPaperListPageTable;<br />End<br />--------------------------取记录数完成<br />DECLARE @chvSql  VARCHAR(1000)<br />--处理大于总页数时的请求页数<br />DECLARE @intPageCount INT<br />SELECT @intPageCount = (@intCount + @intPageSize-1) / @intPageSize; <br />IF @intPageNo &gt; 1 AND @intPageNo &gt; @intPageCount<br /> SELECT @intPageNo = @intPageCount<br />ELSE IF @intPageNo &gt; @intPageCount<br /> SELECT @intPageNo = 1<br />--处理大于总页数时的请求页数结束<br />Select @chvSql = 'SELECT TOP ' + Str(@intPageSize) + '  *  ' +<br />' FROM #ITM_CheckPaperListPageTable a ' +<br />' WHERE a.TypeID not in ' +<br />' (select top ' + Str((@intPageNo - 1) * @intPageSize) + ' TypeID from #ITM_CheckPaperListPageTable )'<br />Exec(@chvSql)<br />Drop Table #ITM_CheckPaperListPageTable</p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p>GO<br />SET QUOTED_IDENTIFIER OFF <br />GO<br />SET ANSI_NULLS ON <br />GO</p>
		<p> </p>
<img src ="http://www.blogjava.net/huamengxing/aggbug/142298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-09-03 14:39 <a href="http://www.blogjava.net/huamengxing/archive/2007/09/03/142298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jtds jdbc驱动</title><link>http://www.blogjava.net/huamengxing/archive/2007/08/30/141202.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Thu, 30 Aug 2007 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/08/30/141202.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/141202.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/08/30/141202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/141202.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/141202.html</trackback:ping><description><![CDATA[jtds jdbc驱动<img src ="http://www.blogjava.net/huamengxing/aggbug/141202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-08-30 10:19 <a href="http://www.blogjava.net/huamengxing/archive/2007/08/30/141202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>INSTR方法的格式</title><link>http://www.blogjava.net/huamengxing/archive/2007/08/28/140400.html</link><dc:creator>华梦行</dc:creator><author>华梦行</author><pubDate>Tue, 28 Aug 2007 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/huamengxing/archive/2007/08/28/140400.html</guid><wfw:comment>http://www.blogjava.net/huamengxing/comments/140400.html</wfw:comment><comments>http://www.blogjava.net/huamengxing/archive/2007/08/28/140400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huamengxing/comments/commentRss/140400.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huamengxing/services/trackbacks/140400.html</trackback:ping><description><![CDATA[INSTR方法的格式为<br />INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)<br /><br />////匹配序号是从左边开始数起，而不管其实位置的正负。<br />///当起始位置为负数时，从右边数起来计算返回的结果<br />select  instr(' ',' ',1,1)返回的值为空<br /><br />例如：INSTR('CORPORATE FLOOR','OR', 3, 2)中，源字符串为'CORPORATE FLOOR', 目标字符串为'OR'，起始位置为3，取第2个匹配项的位置。<br /><br />默认查找顺序为从左到右。当起始位置为负数的时候，从右边开始查找。<br /><br />所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是<br /><br />Instring<br />——————<br />14<img src ="http://www.blogjava.net/huamengxing/aggbug/140400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huamengxing/" target="_blank">华梦行</a> 2007-08-28 12:24 <a href="http://www.blogjava.net/huamengxing/archive/2007/08/28/140400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>