愤怒的大鸟 发表于 2015-1-16 22:35:08

MYSQL网页设计MySQL进门进修(五)

为维持生产环境和非生产环境需要不断地投入管理支持费用MySQL学习教程,最终导致客户为数据库资源投入巨额成本。mysqlMySQL进门进修(五)
--多表操纵

后面我们熟习了数据库和数据库表的基础操纵,如今我们再来看看怎样操纵多个表。

在一个数据库中,大概存在多个表,这些表都是互相联系关系的。我们持续利用后面的例子。后面创建的表中包括了员工的一些基础信息,如姓名、性别、出身日期、出身地。我们再创立一个表,该表用于形貌员工所宣布的文章,内容包含作者姓名、文章题目、宣布日期。

1、检察第一个表mytable的内容:
mysql>select*frommytable;
+----------+------+------------+-----------+
|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>createtabletitle(writervarchar(20)notnull,
->titlevarchar(40)notnull,
->senddatedate);

向该表中填加纪录,最初表的内容以下:
mysql>select*fromtitle;
+--------+-------+------------+
|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|
+--------+-------+------------+
5rowsinset(0.00sec)

3、多表查询
如今我们有了两个表:mytable和title。使用这两个表我们能够举行组合查询:
比方我们要查询作者abccs的姓名、性别、文章:
mysql>SELECTname,sex,titleFROMmytable,title
->WHEREname=writerANDname=abccs;
+-------+------+-------+
|name|sex|title|
+-------+------+-------+
|abccs|f|a1|
|abccs|f|a2|
+-------+------+-------+

下面例子中,因为作者姓名、性别、文章纪录在两个分歧表内,因而必需利用组合来举行查询。必需要指定一个表中的纪录怎样与别的表中的纪录举行婚配。
注重:假如第二个表title中的writer列也取名为name(与mytable表中的name列不异)而不是writer时,就必需用mytable.name和title.name暗示,以示区分。

再举一个例子,用于查询文章a2的作者、出身地和出身日期:
mysql>selecttitle,writer,birthaddr,birthfrommytable,title
->wheremytable.name=title.writerandtitle=a2;
+-------+--------+-----------+------------+
|title|writer|birthaddr|birth|
+-------+--------+-----------+------------+
|a2|abccs|china|1977-07-07|
+-------+--------+-----------+------------+
由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。

飘飘悠悠 发表于 2015-1-22 22:23:31

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

透明 发表于 2015-1-31 12:56:07

可以动态传入参数,省却了动态SQL的拼写。

小魔女 发表于 2015-2-6 19:29:14

我们学到了什么?思考问题的时候从表的角度来思考问

莫相离 发表于 2015-2-18 10:11:53

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

冷月葬花魂 发表于 2015-3-6 04:17:03

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

再见西城 发表于 2015-3-12 20:43:11

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

小女巫 发表于 2015-3-20 02:39:10

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
页: [1]
查看完整版本: MYSQL网页设计MySQL进门进修(五)