多表操作
在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。
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);
向该表中填加记录,最后表的内容如下:
<ccid_code> mysql> select * from title;<br> +--------+-------+------------+<br> | writer | title | senddate |<br> +--------+-------+------------+<br> | abccs | a1 | 2000-01-23 |<br> | mary | b1 | 1998-03-21 |<br> | abccs | a2 | 2000-12-04 |<br> | tom | c1 | 1992-05-16 |<br> | tom | c2 | 1999-12-12 |<br> +--------+-------+------------+<br> 5 rows in set (0.00sec)<br> <br> <b>3、多表查询</b><br> 现在我们有了两个表: mytable 和 title。利用这两个表我们可以进行组合查询:<br> 例如我们要查询作者abccs的姓名、性别、文章:<br> <br> mysql> SELECT name,sex,title FROM mytable,title<br> -> WHERE name=writer AND name=′abccs′;<br> +-------+------+-------+<br> | name | sex | title |<br> +-------+------+-------+<br> | abccs | f | a1 |<br> | abccs | f | a2 |<br> +-------+------+-------+<br> <br> 上面例子中,由于作者姓名、性别、文章记录在两个不同表内,因此必须使用组合来进行查询。必须要指定一个表中的记录如何与其它表中的记录进行匹配。<br> <br> 注意:如果第二个表title中的writer列也取名为name(与mytable表中的name列相同)而不是writer时,就必须用mytable.name和title.name表示,以示区别。<br> <br> 再举一个例子,用于查询文章a2的作者、出生地和出生日期:<br> <br> mysql> select title,writer,birthaddr,birth from mytable,title<br> -> where mytable.name=title.writer and title=′a2′;<br> +-------+--------+-----------+------------+<br> | title | writer | birthaddr | birth |<br> +-------+--------+-----------+------------+<br> | a2 | abccs | china | 1977-07-07 |<br> +-------+--------+-----------+------------+<br> <br> <b>修改和备份、批处理</b><br> 有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:<br> <br> 1、增加一列:<br> 如在前面例子中的mytable表中增加一列表示是否单身single:<br> mysql> alter table mytable add column single char(1);<br> <br> 2、修改记录<br> 将abccs的single记录修改为“y”:<br> mysql> update mytable set single=′y′ where name=′abccs′; 现在来看看发生了什么:<br> <br> mysql> select * from mytable;<br> +----------+------+------------+-----------+--------+<br> | name | sex | birth | birthaddr | single |<br> +----------+------+------------+-----------+--------+<br> | abccs |f | 1977-07-07 | china | y |<br> | mary |f | 1978-12-12 | usa | NULL |<br> | tom |m | 1970-09-02 | usa | NULL |<br> +----------+------+------------+-----------+--------+<br> <br> 3、增加记录<br> 前面已经讲过如何增加一条记录,为便于查看,重复与此:<br> <br> mysql> insert into mytable<br> -> values (′abc′,′f′,′1966-08-17′,′china′,′n′);<br> Query OK, 1 row affected (0.05 sec)<br> <br> 查看一下:<br> <br> mysql> select * from mytable;<br> +----------+------+------------+-----------+--------+<br> | name | sex | birth | birthaddr | single |<br> +----------+------+------------+-----------+--------+<br> | abccs |f | 1977-07-07 | china | y |<br> | mary |f | 1978-12-12 | usa | NULL |<br> | tom |m | 1970-09-02 | usa | NULL |<br> | abc |f | 1966-08-17 | china | n |<br> +----------+------+------------+-----------+--------+<br> <br> 4、删除记录<br> 用如下命令删除表中的一条记录:mysql> delete from mytable where name=′abc′;<br> DELETE从表中删除满足由where给出的条件的一条记录。<br> 再显示一下结果:<br> <br> mysql> select * from mytable;<br> +----------+------+------------+-----------+--------+<br> | name | sex | birth | birthaddr | single |<br> +----------+------+------------+-----------+--------+<br> | abccs |f | 1977-07-07 | china | y |<br> | mary |f | 1978-12-12 | usa | NULL |<br> | tom |m | 1970-09-02 | usa | NULL |<br> +----------+------+------------+-----------+--------+<br> <br> 5、删除表:<br> mysql> drop table ****(表1的名字),***表2的名字;<br> 可以删除一个或多个表,小心使用。<br> <br> 6、数据库的删除:<br> mysql> drop database 数据库名;<br> 小心使用。<br> <br> 7、数据库的备份:<br> 退回到DOS:<br> mysql> quit<br> d:mysqlbin<br> <br> 使用如下命令对数据库abccs进行备份:<br> mysqldump --opt abccs>abccs.dbb<br> abccs.dbb就是你的数据库abccs的备份文件。<br> <br> 8、用批处理方式使用MySQL:<br> <br> 首先建立一个批处理文件mytest.sql,内容如下:<br> <br> use abccs;<br> select * from mytable;<br> select name,sex from mytable where name=′abccs′;<br> <br> 在DOS下运行如下命令:d:mysqlbin mysql <br> 在屏幕上会显示执行结果。<br> <br> 如果想看结果,而输出结果很多,则可以用这样的命令: mysql <br> 我们还可以将结果输出到一个文件中: mysql mytest.out </ccid_code> |

PDF文件作为一种通用的文件格式,被广泛应用于各种应用场景,如电子书、报表、合同等等。在开发过程中,我们常常需要对PDF文件进行生成、编辑、读取等操作。而PHP作为一种脚本语言,也能够轻松地完成这些任务。本文将介绍使用PHP处理PDF文件的方法。一、生成PDF文件生成PDF文件有许多方法,其中最常见的是使用PDF库。PDF库是一种生成PDF文档的工具,它为

如何处理Linux系统中频繁出现的进程资源耗尽问题概述:Linux系统下,有时会出现进程资源耗尽的情况,如CPU负载高、内存占用过多等问题。这些问题可能导致系统性能下降,甚至系统崩溃。本文将介绍一些解决进程资源耗尽问题的常见方法。一、定位问题:监测系统资源:使用top、htop等工具监测系统资源的使用情况,包括CPU、内存、磁盘和网络等。查看进程:使用ps命

CakePHP是一个开源的Web应用程序框架,它基于PHP语言构建,可以简化Web应用程序的开发过程。在CakePHP中,处理文件上传是一个常见的需求,无论是上传头像、图片还是文档,都需要在程序中实现相应的功能。本文将介绍CakePHP中如何处理文件上传的方法和一些注意事项。在Controller中处理上传文件在CakePHP中,上传文件的处理通常在Cont

CakePHP是一个流行的PHP开发框架,它可以帮助开发者快速构建高质量的Web应用程序。随着全球化的发展,越来越多的应用需要支持多语言,CakePHP也提供了相应的支持。本文将介绍CakePHP如何处理多语言。一、多语言支持多语言支持是CakePHP的一项重要功能。从版本2.0开始,CakePHP支持gettext文件格式,该

在进行JavaFX应用程序开发的过程中,我们常常会遇到JavaFX线程卡顿错误。这种错误的严重程度不同,可能会对程序的稳定性和性能产生不利的影响。为了保证程序的正常运行,我们需要了解JavaFX线程卡顿错误的原因和解决方法,以及如何预防这种错误的发生。一、JavaFX线程卡顿错误的原因JavaFX是一个多线程的UI应用程序框架,它允许程序在后台线程中执行长时

随着现代Web应用不断发展,PHP作为其中最流行的编程语言之一,被广泛地应用于网站开发中。但在开发过程中,经常会遇到空值错误,而这些错误会导致应用程序抛出异常,进而影响用户的使用体验。因此,在PHP开发过程中,如何检测和处理空值错误,是程序员们需要掌握的重要技能。一、什么是空值错误在PHP开发过程中,空值错误通常指的是两种情况:变量未初始化和变

在企业级应用程序中,分布式系统已经成为一个常见的架构模型。分布式系统由多个处理单元(节点)组成,这些节点协同工作以完成复杂的任务。在分布式系统中,事务处理是一个必不可少的组件,因为它能够确保所有节点协同工作的结果一致性。本文将介绍如何构建基于SpringBoot的分布式事务处理。一、什么是分布式事务处理?在单节点系统中,事务处理通常是一个简单的过程。当应用

随着Excel文件在商业领域和日常生活中的不断普及和应用,我们经常需要使用PHP处理Excel文件,例如数据的导入导出,数据的筛选和排序等。因此,本文将介绍如何使用PHP进行Excel文件处理。安装PHPExcel库PHPExcel是一款强大的PHP操作Excel文件的开源库,其支持读取、写入Excel文件,并提供了许多便捷的操作方法。在使用之前需要先安装P


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Notepad++7.3.1
Easy-to-use and free code editor
