`
pengtyao
  • 浏览: 401063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL中多表操作和批处理详细介绍

阅读更多
[color=green]MySQL中多表操作和批处理详细介绍

来源:赛迪网 作者:赛迪网 2007-09-23 出处:pcdog.com

dos  mysql  备份  数据库 

多表操作

在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。

1、查看第一个表mytable的内容:

mysql> select * from mytable;
+----------+------+------------+-----------+
|   name   | sex  |    birth   | birthaddr |
+----------+------+------------+-----------+
|   abccs  |   f  | 1977-07-07 |   china   |
|   mary   |   f  | 1978-12-12 |    usa    |
|    tom   |   m  | 1970-09-02 |    usa    |
+----------+------+------------+-----------+

2、创建第二个表title(包括作者、文章标题、发表日期):

mysql> create table title(writer varchar(20) not null,
-> title varchar(40) not null,
-> senddate date);

向该表中填加记录,最后表的内容如下:

mysql>
select * from title;
+--------+-------+------------+
| writer | title |  senddate  |
+--------+-------+------------+
| abccs  |   a1  | 2000-01-23 |
|  mary  |   b1  | 1998-03-21 |
| abccs  |   a2  | 2000-12-04 |
|   tom  |   c1  | 1992-05-16 |
|   tom  |   c2  | 1999-12-12 |
+--------+-------+------------+
5 rows in set (0.00sec)

3、多表查询

现在我们有了两个表: mytable 和 title。利用这两个表我们可以进行组合查询: 例如我们要查询作者abccs的姓名、性别、文章:

mysql> SELECT name,sex,title FROM mytable,title
-> WHERE name=writer AND name=′abccs′;
+-------+------+-------+
|  name |  sex | title |
+-------+------+-------+
| abccs |   f  |   a1  |
| abccs |   f  |   a2  |
+-------+------+-------+

上面例子中,由于作者姓名、性别、文章记录在两个不同表内,因此必须使用组合来进行查询。必须要指定一个表中的记录如何与其它表中的记录进行匹配。

注意:如果第二个表title中的writer列也取名为name(与mytable表中的name列相同)而不是writer时,就必须用mytable.name和title.name表示,以示区别。

再举一个例子,用于查询文章a2的作者、出生地和出生日期:

mysql> select title,writer,birthaddr,birth from mytable,title
-> where mytable.name=title.writer and title=′a2′;
+-------+--------+-----------+------------+
| title | writer | birthaddr |    birth   |
+-------+--------+-----------+------------+
|   a2  |  abccs |   china   | 1977-07-07 |
+-------+--------+-----------+------------+

修改和备份、批处理

有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:

1、增加一列:

如在前面例子中的mytable表中增加一列表示是否单身single:

mysql> alter table mytable add column single char(1);

2、修改记录

将abccs的single记录修改为“y”:

mysql> update mytable set single=′y′ where name=′abccs′;

现在来看看发生了什么:

mysql> select * from mytable;
+----------+------+------------+-----------+--------+
|   name   |  sex |    birth   | birthaddr | single |
+----------+------+------------+-----------+--------+
|   abccs  |   f  | 1977-07-07 |   china   |    y   |
|    mary  |   f  | 1978-12-12 |    usa    |  NULL  |
|    tom   |   m  | 1970-09-02 |    usa    |  NULL  |
+----------+------+------------+-----------+--------+

3、增加记录

前面已经讲过如何增加一条记录,为便于查看,重复与此:

mysql> insert into mytable
-> values (′abc′,′f′,′1966-08-17′,′china′,′n′);
Query OK, 1 row affected (0.05 sec)

查看一下:

mysql> select * from mytable;
+----------+------+------------+-----------+--------+
|    name  |  sex |    birth   | birthaddr | single |
+----------+------+------------+-----------+--------+
|   abccs  |   f  | 1977-07-07 |   china   |    y   |
|    mary  |   f  | 1978-12-12 |    usa    |   NULL |
|     tom  |   m  | 1970-09-02 |    usa    |   NULL |
|     abc  |   f  | 1966-08-17 |   china   |    n   |
+----------+------+------------+-----------+--------+

4、删除记录

用如下命令删除表中的一条记录:

mysql> delete from mytable where name=′abc′;

DELETE从表中删除满足由where给出的条件的一条记录。

再显示一下结果:

mysql> select * from mytable;
+----------+------+------------+-----------+--------+
|    name  |  sex |    birth   | birthaddr | single |
+----------+------+------------+-----------+--------+
|   abccs  |   f  | 1977-07-07 |   china   |    y   |
|    mary  |   f  | 1978-12-12 |    usa    |   NULL |
|    tom   |   m  | 1970-09-02 |    usa    |   NULL |
+----------+------+------------+-----------+--------+

5、删除表:

mysql> drop table ****(表1的名字),***表2的名字;

可以删除一个或多个表,小心使用。

6、数据库的删除:

mysql> drop database 数据库名;

小心使用。

7、数据库的备份:

退回到DOS:

mysql> quit
d:mysqlbin

使用如下命令对数据库abccs进行备份:

mysqldump --opt abccs>abccs.dbb

abccs.dbb就是你的数据库abccs的备份文件。

8、用批处理方式使用MySQL:

首先建立一个批处理文件mytest.sql,内容如下:

use abccs; 
select * from mytable; 
select name,sex from mytable where name=′abccs′;


在DOS下运行如下命令:

d:/mysql/bin source < mytest.sql   # mytest.sql需要放在当前路径下

在屏幕上会显示执行结果。
[/color]
分享到:
评论

相关推荐

    MySql免安装-自动安装启动批处理.rar

    在本案例中,批处理文件被用来自动化MySQL的安装、启动、关闭和卸载过程,简化了操作流程。 3. **环境变量设置**:MySQL的运行需要配置环境变量,包括添加MySQL的bin目录到PATH变量,使得在任何目录下都能通过...

    使用批处理对MySQL进行数据批量操作

    批处理是一种非交互式运行MySQL程序的方法,如同您在MySQL中使用的命令一样,你仍然将使用这些命令。本文介绍了使用批处理对MySQL进行数据批量操作的方法。

    mysql数据库备份批处理

    MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛...在“mysql数据库备份批处理”中,这些细节都是需要考虑的关键知识点,通过优化和定制批处理脚本,我们可以构建一个可靠且高效的MySQL数据库备份策略。

    用一个批处理文件连接mysql

    本文将详细介绍如何使用批处理文件来连接MySQL数据库,并进一步讨论如何执行SQL命令及进行数据库备份。 #### 一、批处理文件连接MySQL数据库 首先,我们来看一下如何编写一个简单的批处理文件来连接MySQL数据库。...

    使用批处理mysql绿色安装

    本主题聚焦于“使用批处理MySQL绿色安装”,这是一种快速、便捷地在Windows环境中安装和配置MySQL的方法,无需繁琐的图形化界面操作,主要通过批处理脚本来完成。 首先,我们来详细解释这个过程中的每个步骤: 1. ...

    JDBC数据库操作值MySQL批处理操作

    MySQL批处理是JDBC提供的一种优化数据库操作的方法,它允许开发者一次提交多个SQL语句,从而提高数据处理效率。本文将深入探讨JDBC在MySQL数据库中的应用,以及如何实现批处理操作。 首先,理解JDBC的基础知识至关...

    mysql批处理 备份数据库-压缩文件

    批处理(Batch Processing)是指通过编写脚本或命令行指令自动执行一系列操作,而MySQL数据库的备份通常涉及到数据的完整性和一致性。下面我们将深入探讨MySQL批处理备份以及压缩文件的相关知识点。 首先,我们来看...

    批处理文件实现执行Mysql 文件。

    批处理文件(Batch File)是Windows操作系统中的一种脚本文件,通常用来自动化一系列命令操作,以提高工作效率。在这个场景中,我们关注的是如何利用批处理文件来执行MySQL相关的任务,如运行SQL脚本。MySQL是一种...

    自动备份mysql数据库的批处理文件

    本篇文章将详细介绍如何利用Windows任务计划程序和批处理文件实现MySQL数据库的自动化备份。 首先,让我们了解什么是批处理文件。批处理文件是一种包含一系列命令的文本文件,通常以`.bat`或`.cmd`为扩展名。在...

    oracle和mysql批处理启动关闭服务

    在标题和描述中提到的"oracle和mysql批处理启动关闭服务",这意味着这些批处理文件(start_oracle.bat、stop_oracle.bat、start_mysql.bat、stop_mysql.bat)分别用于启动和停止Oracle及MySQL数据库服务。...

    批处理备份mysql数据库

    本教程将详细讲解如何利用批处理脚本来实现MySQL数据库的自动备份,这是一个非常实用且高效的方法,尤其适用于需要定期进行数据库备份的场景。 标题中的“批处理备份mysql数据库”是指通过编写批处理脚本(.bat文件...

    打开、关闭ORACLE和MYSQL服务的批处理

    老是进 我的电脑-管理-服务 去打开和关闭数据库服务太麻烦了,写了个批处理,按提示操作就行,平常放在桌面,方便多了

    MySQL批处理.txt

    mysql 数据库,操作指令,批处理

    mysql-oracle数据库备份批处理

    本文将详细探讨“mysql-oracle数据库备份批处理”这一主题,旨在帮助你理解和实施这两种主流数据库的备份策略。 首先,我们来看MySQL数据库的备份。MySQL提供了多种备份方法,包括使用命令行工具mysqldump、使用...

    批处理执行mysql脚本

    在标题为“批处理执行mysql脚本”的主题中,我们聚焦于如何高效地运行一系列MySQL数据库操作。描述提到在处理大量SQL脚本时,常规工具可能不支持批量执行,因此需要自定义解决方案。下面,我们将深入探讨MySQL批处理...

    oracle服务mysql服务sql_server服务批处理文件启动关闭服务快捷方便

    本文将深入探讨如何使用批处理文件来快速启动和关闭这三种数据库服务,以便用户在日常管理和维护中更加高效。 首先,让我们了解批处理文件。批处理文件(.bat或.cmd文件)是一种文本文件,包含了可以连续执行的一...

    最新MySQL5.6.10的配置文件(my.ini)及相应的批处理文件

    在这个版本中,`my.ini`配置文件扮演了核心角色,它定义了MySQL服务器的行为和设置。 `my.ini`文件是MySQL服务器的启动配置文件,它包含了各种参数,如服务器端口、数据存储位置、日志文件位置、最大连接数、默认...

    批处理bat 一键安装MySQL

    在这个特定的场景中,我们利用批处理脚本来实现MySQL的一键安装,使得数据库的部署更为高效。下面将详细阐述这个过程中涉及的知识点。 1. **批处理脚本(BAT)**:批处理脚本是基于DOS或Windows操作系统的一种文本...

    mysql批处理文件+数据库脚本执行.zip

    本文将深入探讨这些概念,并提供如何利用批处理文件和脚本执行来优化MySQL操作的知识。 首先,MySQL批处理文件是包含一系列SQL命令的文本文件,这些命令按顺序执行,可以一次性完成多个数据库操作,如创建数据库、...

Global site tag (gtag.js) - Google Analytics