仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 789|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网页设计MySQL进门进修(五)

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为维持生产环境和非生产环境需要不断地投入管理支持费用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 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
莫相离 该用户已被删除
5#
发表于 2015-2-18 10:11:53 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-6 04:17:03 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
再见西城 该用户已被删除
7#
发表于 2015-3-12 20:43:11 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
小女巫 该用户已被删除
8#
发表于 2015-3-20 02:39:10 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-29 04:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表