校园学生学习娱乐资源第一门户 校园第一站 源于校园 服务于校园 分享资源和快乐 网站地图 高级搜索 RSS订阅 收藏本站 设为首页
首页 | 校园 | 教育 | 考试 | 电脑 | 英语 | 读书 | 就业 | 论文 | 体育 | 健康 | 图片 | 分类信息
Q Q | 下载 | 游戏 | 音乐 | 影视 | 专题 | 祝福 | 百科 | 问答 | 博客 | 会员 | 社区 | 校园论坛
·偶像剧免费在线收看
·DEDECMS免费模板规则下载
·
·全能空间、网站建设仅200
文章搜索:
  当前位置: 主页>电脑>数 据 库>MySQL> 文章正文

MySQL语言四:数据操纵

http://www.xydyz.com 来源:校园第一站 2007-11-30 阅读: 评论


4 数据操纵:SELECT, INSERT, UPDATE, DELETE

4.1 SELECT 句法

 

SELECT [STRAIGHT_JOIN]
       [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
       [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
       [DISTINCT | DISTINCTROW | ALL]
    select_expression,...
    [INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
    [FROM table_references
      [WHERE where_definition]
      [GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
      [HAVING where_definition]
      [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
      [LIMIT [offset,] rows | rows OFFSET offset]
      [PROCEDURE procedure_name(argument_list)]
      [FOR UPDATE | LOCK IN SHARE MODE]]

SELECT 用于检索从一个或多个表中选取出的行。select_expression 表示你希望检索的列。 SELECT 也可以被用于检索没有引用任何表的计算列。例如:

mysql> SELECT 1 + 1;
         -> 2

所有使用的关键词必须严格以上面所显示的次序被给出。举例来说,一个 HAVING 子句必须出现在 GROUP BY 子句后,在 ORDER BY 字句之前。

  • 一个 SELECT 表达式可以使用 AS 指定一个别名。别名可以当作表达式的列名,用于 ORDER BYHAVING 子句中。例如:
    mysql> SELECT CONCAT(last_name,', ',first_name) AS full_name
        FROM mytable ORDER BY full_name;
    
  • 在一个 WHERE 子句中使用一个列别名是不允许的,因为,当 WHERE 子句被执行时,列值可能还没有被计算确定。查看章节 A.5.4 使用 alias 的限制。

     

  • FROM table_references 子句表示从哪个表中检索记录行。如果你命名超过超过一个表,并执行一个 join。对于 join 句法的信息,查看章节 4.1.1 JOIN 句法。对于每个引用的表,你可以顺便指定一个别名。
    table_name [[AS] alias] [[USE INDEX (key_list)] | [IGNORE INDEX (key_list)] | FORCE INDEX (key_list)]]
    
    到 MySQL 3.23.12 时,当 MySQL 在从一个表中检索信息时,你可以提示它选择了哪一个索引。如果 EXPLAIN 显示 MySQL 使用了可能的索引列表中错误的索引,这个特性将是很有用的。通过指定 USE INDEX (key_list),你可以告诉 MySQL 使用可能的索引中最合适的一个索引在表中查找记录行。可选的二选一句法 IGNORE INDEX (key_list) 可被用于告诉 MySQL 不使用特定的索引。 在 MySQL 4.0.9 中,你也可以使用 FORCE INDEX。这个有点像 USE INDEX (key_list),但是有了这个附加物,一个表的扫描被采用时,将会有非常大的开销。换句法说,如果没有方法使用给定的索引在表中寻找记录行,这时表扫描才会被使用。 USE/IGNORE/FORCE KEY 分别是 USE/IGNORE/FORCE INDEX 的同义词。

     

  • 你可以以 tbl_name (在当前的数据库中) 引用一张表,或以 dbname.tbl_name 明确地指定其个数据。你要以以 col_nametbl_name.col_namedb_name.tbl_name.col_name 引用一个列。 你不需要在一个 SELECT 语句中引用的列前指定 tbl_namedb_name.tbl_name 前缀,除非引用列存在二义性。查看章节 1.2 数据库、表、索引、列和别名,对于有歧义的列引用需要更加显式的列引用格式。

     

  • 一个表的引用可以使用 tbl_name [AS] alias_name 给以别名:
    mysql> SELECT t1.name, t2.salary FROM employee AS t1, info AS t2
        ->        WHERE t1.name = t2.name;
    mysql> SELECT t1.name, t2.salary FROM employee t1, info t2
        ->        WHERE t1.name = t2.name;
    
  • 选取出来用于输出的列可以在 ORDER BYGROUP BY 子句中使用列名、列的别名或列的位置来引用。列的位置从 1 开始:
    mysql> SELECT college, region, seed FROM tournament
        ->        ORDER BY region, seed;
    mysql> SELECT college, region AS r, seed AS s FROM tournament
        ->        ORDER BY r, s;
    mysql> SELECT college, region, seed FROM tournament
        ->        ORDER BY 2, 3;
    



【责任编辑:admin 】




评论
用户名: 新注册) 密码: 匿名评论
评论内容:不能超过250字,请自觉遵守互联网相关政策法规。
  相关文章
MySQL语言三:SELECT和WHERE子句的函数
MySQL语言五:数据定义
MySQL语言二:列类型
MySQL语言六:基本的MySQL用户实用命令
MySQL语言一:语言结构
  最新图片
如何安全的远程使用MySQL GUI工具
如何安全的远程使用My
24小时TOP
   
·MySQL语言三:SELECT和WHERE子句的函数
·MySQL语言二:列类型
·MySQL语言五:数据定义
·MySQL语言一:语言结构
·MySQL语言九:MySQL 查询缓存
·MySQL语言八:MySQL 全文搜索
·MySQL语言七:MySQL 事务与锁定命令
·MySQL语言六:基本的MySQL用户实用命令
热门图片
  更多>>>
如何安全的远程使用MySQL GUI工具
如何安全的远程使用
焦点聚焦
  更多>>>
·MySQL语言一:语言结构
论坛精华
  更多>>>
·真钱斗地主轧金花龙虎板玖和百家乐http://c
·22岁女大学生要嫁48岁乞丐(图)
·一条短信毁了一种水果 “蛆橘”传言流变调
·蒙古风情十四怪 (一)
·《中国高新技术企业》--www.txrb.com--科信
·东莞大金空调官方介绍 13559702882卢生
·乐众国际最新博彩游戏!真实!新鲜!刺激!
·快国庆了大家怎么安排
最新图片
  更多>>>
如何安全的远程使用MySQL GUI工具
如何安全的远程使用
推荐文章
  更多>>>
·如何安全的远程使用MySQL GUI工具
关于我们 - 版权声明 - 免责声明 - 欢迎投稿 - 广告服务 - 友情链接 - 网站建设 - 诚聘英才 - 联系我们 - -
Copyright @2007-2009 www.xydyz.com © All rights reserved.
校园第一站 版权所有 客服E-Mail:hyperblue@163.comn 点击这里给我发消息
Site design by hyperblue 鄂ICP备07009403号 Powered by DedeCms