﻿<?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>C++博客-旅途-文章分类-数据库</title><link>http://www.cppblog.com/mydriverc/category/5133.html</link><description>如果想飞得高，就该把地平线忘掉</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 13:39:02 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 13:39:02 GMT</pubDate><ttl>60</ttl><item><title>用MySQL创建数据库和数据库表</title><link>http://www.cppblog.com/mydriverc/articles/32755.html</link><dc:creator>旅途</dc:creator><author>旅途</author><pubDate>Sun, 23 Sep 2007 16:58:00 GMT</pubDate><guid>http://www.cppblog.com/mydriverc/articles/32755.html</guid><wfw:comment>http://www.cppblog.com/mydriverc/comments/32755.html</wfw:comment><comments>http://www.cppblog.com/mydriverc/articles/32755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mydriverc/comments/commentRss/32755.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mydriverc/services/trackbacks/32755.html</trackback:ping><description><![CDATA[
		<b>1、使用SHOW语句找出在服务器上当前存在什么数据库：</b>
		<br />
		<br />
		<ccid_nobr>
		</ccid_nobr>
		<table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
				<tbody>
						<tr>
								<td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6">
										<pre>
												<ccid_code>mysql&gt; SHOW DATABASES; <br />+----------+ <br />| Database | <br />+----------+ <br />| mysql | <br />| test | <br />+----------+ <br />3 rows in set (0.00 sec)</ccid_code>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<b>2、创建一个数据库abccs</b>
		<br />
		<br />mysql&gt; CREATE DATABASE abccs; <br /><br />注意不同操作系统对大小写的敏感。 <br /><br /><b>3、选择你所创建的数据库</b><br /><br />mysql&gt; USE abccs <br /><br />Database changed <br /><br />此时你已经进入你刚才所建立的数据库abccs. <br /><br /><b>4、 创建一个数据库表</b><br /><br />首先看现在你的数据库中存在什么表： <br /><br />mysql&gt; SHOW TABLES; <br /><br />Empty set (0.00 sec) <br /><br />说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:   我们要建立一个你公司员工的生日表，表的内容包含员工姓名、性别、出生日期、出生城市。 <br /><br /><ccid_nobr></ccid_nobr><table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre><ccid_code>mysql&gt; CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), <br />-&gt; birth DATE, birthaddr VARCHAR(20)); <br />Query OK, 0 rows affected (0.00 sec)</ccid_code></pre></td></tr></tbody></table><br /><br />由
于name、birthadd的列值是变化的，因此选择VARCHAR，其长度不一定是20。可以选择从1到255的任何长度，如果以后需要改变它的字
长，可以使用ALTER
TABLE语句。）;性别只需一个字符就可以表示："m"或"f"，因此选用CHAR(1);birth列则使用DATE数据类型。 <br /><br />创建了一个表后，我们可以看看刚才做的结果，用SHOW TABLES显示数据库中有哪些表： <br /><br /><ccid_nobr></ccid_nobr><table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre><ccid_code>mysql&gt; SHOW TABLES; <br />+---------------------+ <br />| Tables in menagerie | <br />+---------------------+ <br />| mytables | <br />+---------------------+</ccid_code></pre></td></tr></tbody></table><br /><br /><b>5、显示表的结构：</b><br /><br /><ccid_nobr></ccid_nobr><table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre><ccid_code>mysql&gt; DESCRIBE mytable; <br />+-------------+-------------+------+-----+---------+-------+ <br />| Field | Type | Null | Key | Default | Extra | <br />+-------------+-------------+------+-----+---------+-------+ <br />| name | varchar(20) | YES | | NULL | | <br />| sex | char(1) | YES | | NULL | | <br />| birth | date | YES | | NULL | | <br />| deathaddr | varchar(20) | YES | | NULL | | <br />+-------------+-------------+------+-----+---------+-------+ <br />4 rows in set (0.00 sec)</ccid_code></pre></td></tr></tbody></table><br /><br /><b>6、 往表中加入记录</b><br /><br />我们先用SELECT命令来查看表中的数据： <br /><br />mysql&gt; select * from mytable; <br /><br />Empty set (0.00 sec)<br /><br />这说明刚才创建的表还没有记录。 加入一条新记录： <br /><br /><ccid_nobr></ccid_nobr><table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre><ccid_code>mysql&gt; insert into mytable <br />-&gt; values (′abccs′,′f′,′1977-07-07′,′china′); <br />Query OK, 1 row affected (0.05 sec)</ccid_code></pre></td></tr></tbody></table><br /><br />再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。 <br /><br /><b>7、用文本方式将数据装入一个数据库表</b> <br /><br />如果一条一条地输入，很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”，每行包含一个记录，用定位符(tab)把值分开，并且以在CREATE TABLE语句中列出的列次序给出，例如： <br /><br /><ccid_nobr></ccid_nobr><table bordercolordark="#ffffff" bordercolorlight="black" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre><ccid_code>abccs f 1977-07-07 china 　 <br />mary f 1978-12-12 usa <br />tom m 1970-09-02 usa</ccid_code></pre></td></tr></tbody></table><br /><br />使用下面命令将文本文件“mytable.txt”装载到mytable表中:mysql&gt; LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; <br /><br />再使用如下命令看看是否已将数据输入到数据库表中：mysql&gt; select * from mytable;<br /><img src ="http://www.cppblog.com/mydriverc/aggbug/32755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mydriverc/" target="_blank">旅途</a> 2007-09-24 00:58 <a href="http://www.cppblog.com/mydriverc/articles/32755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Can’t connect to local MySQL server through socket 解决办法</title><link>http://www.cppblog.com/mydriverc/articles/32754.html</link><dc:creator>旅途</dc:creator><author>旅途</author><pubDate>Sun, 23 Sep 2007 16:46:00 GMT</pubDate><guid>http://www.cppblog.com/mydriverc/articles/32754.html</guid><wfw:comment>http://www.cppblog.com/mydriverc/comments/32754.html</wfw:comment><comments>http://www.cppblog.com/mydriverc/articles/32754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mydriverc/comments/commentRss/32754.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mydriverc/services/trackbacks/32754.html</trackback:ping><description><![CDATA[
		<p>ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)</p>
		<p>1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.<br />
另外看看是不是权限问题.</p>
		<p>2、确定你的mysql.sock是不是在那个位置，<br />
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock</p>
		<p>3、试试：service mysqld start</p>
		<p>4、如果是权限问题，则先改变权限 #chown -R mysql:mysql /var/lib/mysql</p>
		<p>[root@localhost ~]# /etc/init.d/mysqld start<br />
启动 MySQL： [ 确定 ]<br />
[root@localhost ~]# mysql -uroot -p</p>
<img src ="http://www.cppblog.com/mydriverc/aggbug/32754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mydriverc/" target="_blank">旅途</a> 2007-09-24 00:46 <a href="http://www.cppblog.com/mydriverc/articles/32754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下mysql的一点基本用法</title><link>http://www.cppblog.com/mydriverc/articles/31987.html</link><dc:creator>旅途</dc:creator><author>旅途</author><pubDate>Mon, 10 Sep 2007 17:24:00 GMT</pubDate><guid>http://www.cppblog.com/mydriverc/articles/31987.html</guid><wfw:comment>http://www.cppblog.com/mydriverc/comments/31987.html</wfw:comment><comments>http://www.cppblog.com/mydriverc/articles/31987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mydriverc/comments/commentRss/31987.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mydriverc/services/trackbacks/31987.html</trackback:ping><description><![CDATA[
		<p> 1]如何创建mysqld数据库的管理用户？<br /><br />数据库安装好后，我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员，我们应该运行下面的命令；<br /><br />[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456<br />[root@linuxsir01 root]#<br /><br />通过上面的命令，我们可以知道，mysql数据库的管理员是root，密码是123456。<br /><br />2]如何进入mysql数据库？以mysql数据库管理员root，密码为123456为例；<br /><br />[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456<br /><br />输出上面的命令后，出现的是如下的提示；<br /><br />Welcome to the MySQL monitor. Commands end with ; or \g.<br />Your MySQL connection id is 6 to server version: 3.23.58<br /><br />Type 'help;' or '\h' for help. Type '\c' to clear the buffer.<br /><br />mysql&gt;<br /><br />注意：操作这些命令的时候，应该把mysqld服务器打开。这些新手兄弟早就知道了吧：)<br /><br /><br />3]如何在数据库中操作命令呢，我想这是mysql手册都有的，我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄，也不是什么难事；在windows中操作过mysql的，其实在这里也是一样的，mysql是跨平台的数据库，用法都是相同的。<br /><br />在mysql数据库中，每操作一个命令，都是;号结尾的，可能有的新手弟兄，忘记输入了；号结尾，结果退不出来。:):)<br /><br />1]查看mysql中都有哪些数据库？<br /></p>
		<div style="margin: 5px 20px 20px 0px;">
				<div style="margin-bottom: 2px;">代码:</div>
				<pre style="border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 640px; height: 178px;">
						<div dir="ltr" style="text-align: left;">mysql&gt; show databases;<br />+----------+<br />| Database |<br />+----------+<br />| mysql    |<br />| test     |<br />+----------+<br />2 rows in set (0.00 sec)<br /><br />mysql&gt;</div>
				</pre>
		</div>
		<p>在mysql安装好，设置好管理员后，第一次进入系统，我们用show databases;命令查看数据库的列表，发现有两个数据库，mysql和test，这是系统自建的，是让大家练习用的。<br /><br />4]如何创建和删除一个数据库？<br /><br />比如我要创建一个名为linux的数据库，应该运行如下命令<br /><br />mysql&gt; create database [数据库名];<br /><br />所以我们应该运行如下的命令，来创建名为linux的数据库<br /><br />mysql&gt; create database linux;<br />Query OK, 1 row affected (0.00 sec)<br /><br />是不是建好了呢？？肯定是建好了，因为都有OK了:)<br /><br />查看是不是有linux这个数据库了呢？<br /></p>
		<div style="margin: 5px 20px 20px 0px;">
				<div style="margin-bottom: 2px;">代码:</div>
				<pre style="border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 640px; height: 194px;">
						<div dir="ltr" style="text-align: left;">mysql&gt; show databases;<br />+----------+<br />| Database |<br />+----------+<br />| linux    |<br />| mysql    |<br />| test     |<br />+----------+<br />3 rows in set (0.00 sec)<br /><br />mysql&gt;</div>
				</pre>
		</div>
		<p>那我们如何删除一个数据库呢？？<br />mysql&gt; drop database [数据库名];<br /><br />比如我们要把刚才创建的linux数据库删除，应该用下面的命令；<br />mysql&gt; drop database linux;<br />Query OK, 0 rows affected (0.00 sec)<br /><br />是不是已经删除了呢？？<br /></p>
		<div style="margin: 5px 20px 20px 0px;">
				<div style="margin-bottom: 2px;">代码:</div>
				<pre style="border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 640px; height: 178px;">
						<div dir="ltr" style="text-align: left;">mysql&gt; show databases;<br />+----------+<br />| Database |<br />+----------+<br />| mysql    |<br />| test     |<br />+----------+<br />2 rows in set (0.00 sec)<br /><br />mysql&gt;</div>
				</pre>
		</div>
		<p>
				<br />5]如何操作一个数据库呢，这个问题就比较多了，建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库，首先是要指定一个数据库为当前数据库，应该用use命令<br /><br />mysql&gt;use [数据库];<br /><br />比如我想指定linux这个数据库为当前数据库，应该是<br /><br />mysql&gt; use linux;<br />Database changed<br />mysql&gt;<br /><br /><br /><br />6]如何备份数据库？？<br /><br />比如我们要备份mysql中已经存在的名为linux的数据库，要用到命令mysqldump<br /><br />命令格式如下：<br /><br />[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -uroot -p linux &gt; /root/linux.sql<br />Enter password:在这里输入数据库的密码<br /><br />通过上面的命令，我们要明白两件事，首先备份数据库是要以数据库管理员的身份备份；其次：备份目的地是/root，备份的文件名是linux.sql。其实备份的位置和文件名，根据自己的情况来定。文件名可以自己来取，路径也可以自己来安排；<br /><br />比如我想把linux的数据库备份到/home/beinan，数据库的文件名为linuxsir031130.sql，所以应该输入如下的命令。<br />[root@linuxsir01 root]#/opt/mysql/bin/mysqldump -uroot -p linux &gt; /home/beinan/linuxsir031130.sql<br />Enter password:在这里输入数据库管理员root的数据库密码<br /><br />这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql<br /><br />综上所述，我们学习时要学会变通。:):)<br /><br />5]如何把把备份的数据库导入到数据库中？<br /><br />首先我们还是要操作上面几个过程，比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话)，创建数据库等。<br /><br />比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份，导入名为linux的数据库中，应该如下操作；<br /><br />[root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux &lt; /home/beinan/linuxsir031130.sql<br />Enter password:在这里输入密码<br /><br />如果机器好，数据库比较小，几分钟就好了。<br /><br />6]其它一些比较常用的mysql指令；<br /><br />查看状态<br />mysql&gt; show status;<br /><br />查看进程<br /></p>
		<div style="margin: 5px 20px 20px 0px;">
				<div style="margin-bottom: 2px;">代码:</div>
				<pre style="border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 640px; height: 162px;">
						<div dir="ltr" style="text-align: left;">mysql&gt; show processlist;<br />+----+------+-----------+------+---------+------+-------+------------------+<br />| Id | User | Host      | db   | Command | Time | State | Info             |<br />+----+------+-----------+------+---------+------+-------+------------------+<br />| 16 | root | localhost | NULL | Query   | 0    | NULL  | show processlist |<br />+----+------+-----------+------+---------+------+-------+------------------+<br />1 row in set (0.00 sec)<br /><br />mysql&gt;</div>
				</pre>
		</div>
		<p>查看表，应该先指定一个数据库为当前数据库；比如是名为linux的数据库；<br /><br />mysql&gt;use linux;<br />mysql&gt; show tables;<br />Empty set (0.00 sec)<br /><br />mysql&gt;<br /><br /><br />7]对mysql数据库常用命令的一点补充；<br /><br /><br />几个常用的mysql相关的管理命令<br /><br />mysql 命令：基本文本的，显示和使用的mysql数据库。前面已经简单的提过用法；比如登录等。<br /><br />mysqladmin 命令，用来创建和维护mysql数据库的命令，前面已经简单的提过；<br /><br />isamchk 是用来修复、检查和优化.ism后缀的数据库文件；<br /><br />mysqldump 是用于备份数据库，前面已经简单的说明过；<br /><br /><br />myisamchk 用来修复.myi后缀的数据库文件；<br /><br />比如我们要检查名为linux的数据库.myi数据库表是否存在问题，应该用下面的命令；<br /><br />要把mysqld服务器停下来<br />[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop<br /><br />然后执行<br />[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI<br /><br />上面的命令的意思就是检查所有的.myi文件，数据库的目录在/opt/mysql/var/linux/目录中<br /><br />如果有问题，应该用-r参数来修复<br />[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI<br /><br />6]mysqlshow 命令：显示用户选择的数据库和表<br />[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [数据库名]<br /><br />比如我要查看名为linux的数据库；应该是：<br /><br />[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux</p>
<img src ="http://www.cppblog.com/mydriverc/aggbug/31987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mydriverc/" target="_blank">旅途</a> 2007-09-11 01:24 <a href="http://www.cppblog.com/mydriverc/articles/31987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习Linux之MYSQL的基本操作</title><link>http://www.cppblog.com/mydriverc/articles/31986.html</link><dc:creator>旅途</dc:creator><author>旅途</author><pubDate>Mon, 10 Sep 2007 17:23:00 GMT</pubDate><guid>http://www.cppblog.com/mydriverc/articles/31986.html</guid><wfw:comment>http://www.cppblog.com/mydriverc/comments/31986.html</wfw:comment><comments>http://www.cppblog.com/mydriverc/articles/31986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mydriverc/comments/commentRss/31986.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mydriverc/services/trackbacks/31986.html</trackback:ping><description><![CDATA[我们该学习如何对RED HAT LINUX9默认安装的MYSQL进行操作。<br /><br />　　我们从启动开始说起。<br /><br />　　启动MYSQL：<br /><br />　　#&gt; service mysqld start<br /><br />　　登录MYSQL：<br /><br />　　#&gt;mysql -u root -p<br /><br />　　注意： 这里的-u 代表用户名 而root就是用户名，这是mysql默认的管理用户 -p就代表着密码，而root的密码为空，所以-p的后面没有字符。<br /> -----开始的时候没有密码，出现 enter password后直接回车就行了。<br /><br /><br />　　更改root的密码：<br /><br />　　mysql &gt; set password for root=password("你的密码")<br /><br />　　注意：是不是看见提示符变成了mysql，这说明你现在已经进入了mysql的操作状态。<br /><br />　　显示表：<br />　　mysql &gt; show tables;<br />　　注意：每个语句后面有分号表示结束。<br /><br />　　显示库：<br />　　mysql &gt; show databases;<br /><br />　　表结构查看：<br />　　mysql &gt; describe newsuser(表明)<br /><br />　　查看当前表：<br />　　mysql &gt; select database();<br /><br />　　新建一张表：<br />　　mysql &gt; create table 表名<br /><br />　　示例：<br />　　mysql &gt; create table user (<br />              id int auto_increment primary key not null,<br />              name varchat(20) not null,<br />              password varchat(10) not null);<br /><br />　　这里新建了一张名为user的表，里面有 id name password 三个字段， 具体的命令需要你自己在网上或者书上收集记忆了。<img src ="http://www.cppblog.com/mydriverc/aggbug/31986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mydriverc/" target="_blank">旅途</a> 2007-09-11 01:23 <a href="http://www.cppblog.com/mydriverc/articles/31986.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>