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开始非常小巧,但是可以随着公司的成长而不断地变强大。 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 可以动态传入参数,省却了动态SQL的拼写。 我们学到了什么?思考问题的时候从表的角度来思考问 很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
页:
[1]