数码资讯
mysql多表查询实现分析
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
我们继续使用前面的例子,前面的表包含了雇员的一些基本信息,例如姓名、性别、出生日期和出生地,我们创建了一个表格,用来描述职员发表的文章,包括作者姓名、文章标题和出版日期。
1、看第一个表表的内容:
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- +
姓名性别出生| | | | birthaddr |
+ + + + ---------- ------ ------------ ----------- +
| ABCCs F 1977-07-07中国| | | |
玛丽| F 1978-12-12美国| | | |
汤姆| M 1970-09-02美国| | | |
+ + + + ---------- ------ ------------ ----------- +
2,创建第二个表标题(包括作者、文章标题、出版日期):
MySQL >创建表的标题(作家varchar(20)不为空,
标题,varchar(40)不为空,
senddate ->日期);
将记录添加到表中,最后表的内容如下所示:
U3000 U3000
<表格宽度=400=1边境cellspacing = 0 cellpadding =2
颜色亮=黑色的单元格的暗边框颜色=# ffffff对齐=中心>
U3000 U3000
U3000 U3000
从标题中选择*;
+ + + + -------- ------- ------------
作者标题senddate | | | |
+ + + + -------- ------- ------------
ABCCs A1 2000-01-23 | | | |
玛丽1998-03-21 | | | | B1
2000-12-04 | | | | ABCCs A2
汤姆C1 1992-05-16 | | | |
汤姆C2 1999-12-12 | | | |
+ + + + -------- ------- ------------
5行集(0.00sec)
3、多表查询
我们现在有两个表:表和标题。这两个表,我们可以进行组合查询:
在上面的示例中,由于作者的姓名、性别和文章被记录在两个不同的表中,必须使用组合来进行查询。
注意:如果在第二个表标题作者柱也叫名字(如在mytable表名称列相同)而不是写R,它必须由mytable.name和title.name表示,以示区别。
另一个示例用于查询文章A2的作者、出生地和出生日期。
MySQL >选择标题,作者,birthaddr,诞生于眼前,标题
眼前。名称= title.writer和->,标题为A2;
+ + + + ------- -------- ----------- ------------ +
标题作者birthaddr | | | |出生|
+ + + + ------- -------- ----------- ------------ +
A2 ABCCs中国| | | | 1977-07-07 |
+ + + + ------- -------- ----------- ------------ +
修改和备份,批处理
有时我们必须修改和删除数据库表和数据库,这可以实现如下:
1。添加一列:
在mytable表添加列在前面的例子中,指示单:单一
MySQL >修改表表添加列的单字符(1);
2。修改记录
修改ABCCs单记录Y:
MySQL表>更新设置单=Yname =ABCCs';现在看发生了什么事:
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
三.增加记录
我已经告诉过你如何添加一个容易看到并重复的记录:
MySQL >插入表
->值(ABC、F、1966-08-17 '、'中国',' n ');
查询OK,1行受影响(0.05秒)
看看它。
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
| ABC | F 1966-08-17中国N | | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
4。删除记录
下面的命令是用来删除表中的记录:MySQL >删除从mytable WHERE name =abc;
删除删除满足表中给定位置的条件的记录,然后显示结果。
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
5。删除表:
删除表(表1名称)***表2的名称;您可以删除一个或多个表,并谨慎使用。
6。删除数据库:
删除数据库数据库名称;小心使用。
7。数据库备份:
回到DOS:
MySQL >退出
D: mysqlbin
下面的命令是用于备份数据库ABCCs:
mysqldump --选择abccs.dbb ABCCs >
abccs.dbb是数据库ABCCs备份文件。
8。在批处理中使用mysql
首先,建立一个批处理文件mytest.sql,如下:
使用ABCCs;
SELECT * FROM mytable;
选择姓名、性别从mytable WHERE name =ABCCs;
运行以下命令,DOS下:D:mysqlbin MySQL < mytest.sql
执行结果显示在屏幕上。
如果你想看到的结果,和许多的输出结果,可以使用这个命令:MySQL mytest.sql更|
我们也可以将结果输出到一个文件:MySQL mytest.out
1、看第一个表表的内容:
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- +
姓名性别出生| | | | birthaddr |
+ + + + ---------- ------ ------------ ----------- +
| ABCCs F 1977-07-07中国| | | |
玛丽| F 1978-12-12美国| | | |
汤姆| M 1970-09-02美国| | | |
+ + + + ---------- ------ ------------ ----------- +
2,创建第二个表标题(包括作者、文章标题、出版日期):
MySQL >创建表的标题(作家varchar(20)不为空,
标题,varchar(40)不为空,
senddate ->日期);
将记录添加到表中,最后表的内容如下所示:
U3000 U3000
<表格宽度=400=1边境cellspacing = 0 cellpadding =2
颜色亮=黑色的单元格的暗边框颜色=# ffffff对齐=中心>
U3000 U3000
U3000 U3000
从标题中选择*;
+ + + + -------- ------- ------------
作者标题senddate | | | |
+ + + + -------- ------- ------------
ABCCs A1 2000-01-23 | | | |
玛丽1998-03-21 | | | | B1
2000-12-04 | | | | ABCCs A2
汤姆C1 1992-05-16 | | | |
汤姆C2 1999-12-12 | | | |
+ + + + -------- ------- ------------
5行集(0.00sec)
3、多表查询
我们现在有两个表:表和标题。这两个表,我们可以进行组合查询:
在上面的示例中,由于作者的姓名、性别和文章被记录在两个不同的表中,必须使用组合来进行查询。
注意:如果在第二个表标题作者柱也叫名字(如在mytable表名称列相同)而不是写R,它必须由mytable.name和title.name表示,以示区别。
另一个示例用于查询文章A2的作者、出生地和出生日期。
MySQL >选择标题,作者,birthaddr,诞生于眼前,标题
眼前。名称= title.writer和->,标题为A2;
+ + + + ------- -------- ----------- ------------ +
标题作者birthaddr | | | |出生|
+ + + + ------- -------- ----------- ------------ +
A2 ABCCs中国| | | | 1977-07-07 |
+ + + + ------- -------- ----------- ------------ +
修改和备份,批处理
有时我们必须修改和删除数据库表和数据库,这可以实现如下:
1。添加一列:
在mytable表添加列在前面的例子中,指示单:单一
MySQL >修改表表添加列的单字符(1);
2。修改记录
修改ABCCs单记录Y:
MySQL表>更新设置单=Yname =ABCCs';现在看发生了什么事:
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
三.增加记录
我已经告诉过你如何添加一个容易看到并重复的记录:
MySQL >插入表
->值(ABC、F、1966-08-17 '、'中国',' n ');
查询OK,1行受影响(0.05秒)
看看它。
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
| ABC | F 1966-08-17中国N | | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
4。删除记录
下面的命令是用来删除表中的记录:MySQL >删除从mytable WHERE name =abc;
删除删除满足表中给定位置的条件的记录,然后显示结果。
MySQL SELECT * FROM mytable >;
+ + + + ---------- ------ ------------ ----------- -------- + +
姓名性别出生| | | | birthaddr |单|
+ + + + ---------- ------ ------------ ----------- -------- + +
| ABCCs | F 1977-07-07中国Y | | | |
|玛丽| F 1978-12-12美国空| | | |
|汤姆| M 1970-09-02美国空| | | |
+ + + + ---------- ------ ------------ ----------- -------- + +
5。删除表:
删除表(表1名称)***表2的名称;您可以删除一个或多个表,并谨慎使用。
6。删除数据库:
删除数据库数据库名称;小心使用。
7。数据库备份:
回到DOS:
MySQL >退出
D: mysqlbin
下面的命令是用于备份数据库ABCCs:
mysqldump --选择abccs.dbb ABCCs >
abccs.dbb是数据库ABCCs备份文件。
8。在批处理中使用mysql
首先,建立一个批处理文件mytest.sql,如下:
使用ABCCs;
SELECT * FROM mytable;
选择姓名、性别从mytable WHERE name =ABCCs;
运行以下命令,DOS下:D:mysqlbin MySQL < mytest.sql
执行结果显示在屏幕上。
如果你想看到的结果,和许多的输出结果,可以使用这个命令:MySQL mytest.sql更|
我们也可以将结果输出到一个文件:MySQL mytest.out
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。