All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
草根的进化,PHP语言发展简史_php资料_编程技术
新标准的熟悉和入门_[Html教程]_0
.net回收机制的使用_[Asp.Net教程]
用VB.NET,2005编写定时关机程序_.net资料_编程技术
关于.NET脏字过滤的算法代码_.net资料_编程技术
AJAX进度条_[AJAX教程]
解决AJAX的跨浏览器问题_[Asp.Net教程]
XML入门教程-XML CDATA_[XML教程]
不使用VS进行ASP.NET,Membership管理_[Asp.Net教程]
怎样在PHP,中运用,SimpleXML,处理任务_php资料_编程技术
Reading number is top 10 pictures
Plump breasts1
Small QiShu -- ShuangShuangPan1
Sora aoi in China2
Beauty ZhiHuiLin1
Azusa Yamamoto1
Terrorist smile the largest human history an explosion1
Summer is most suitable for young people to travel in China2
Absolutely shocked. National geographic 50 animal photographys3
传销的好处
Fender Bender that so horrifying1
Download software ranking
Eclipse 4.2.2 For Win64
Professional killers2 for Android
Visual C++界面编程技术
在线棋牌游戏3.05版
Tram sex maniac 2 (H) rar bag5
Unix video tutorial2
Eclipse-CALMSANNY (second edition)
传奇私服架设教程-chm
linux初级教程
linux高级编程
归海一刀 published in(发表于) 2014/2/1 0:21:27 Edit(编辑)
数据库人员手边系列:SQL语法查询文档_[SQL,Server教程]

数据库人员手边系列:SQL语法查询文档_[SQL,Server教程]

数据库人员手边系列:SQL语法查询文档_[SQL Server教程]

一、SQL速成

  结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。

  以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。

  1.创建表

  表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下:
  create table table_name
  (column_name data无效 {identity |null|not null},
  …)
  其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数data无效是一个标准的SQL类型或由用户数据库提供的类型。用户要使用non-null从句为各字段输入数据。
  create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。
  书写上要注意:
  在一对圆括号里的列出完整的字段清单。
  字段名间用逗号隔开。
  字段名间的逗号后要加一个空格。
  最后一个字段名后不用逗号。
  所有的SQL陈述都以分号";"结束。
  例:
  mysql> CREATE TABLE test (blob_col BLOB, index(blob_col(10)));

  2.创建索引
  索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建索引的基本语法如下:
  create index index_name
  on table_name (col_name[(length)],... )
  例:
  mysql> CREATE INDEX part_of_name ON customer (name(10));

  3.改变表结构
  在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是alter,其基本语法如下:
  alter table table_name alter_spec [, alter_spec ...]
  例:
  mysql> ALTER TABLE t1 CHANGE a b INTEGER;

  4.删除数据对象
  很多数据库是动态使用的,有时可能需要删除某个表或索引。大多数数据库对象可以下面的命令删除:
  drop object_name
  mysql> DROP TABLE tb1;

  5.执行查询
  查询是使用最多的SQL命令。查询数据库需要凭借结构、索引和字段类型等因素。大多数数据库含有一个优化器(optimizer),把用户的查询语句转换成可选的形式,以提高查询效率。
  值得注意的是MySQL不支持SQL92标准的嵌套的where子句,即它只支持一个where子句。其基本语法如下:
  SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]
  [DISTINCT | DISTINCTROW | ALL]
  select_expression,...
  [INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
  [FROM table_references
  [WHERE where_definition]
  [GROUP BY col_name,...]
  [HAVING where_definition]
  [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
  [LIMIT [offset,] rows]
  [PROCEDURE procedure_name] ]
  其中where从句是定义选择标准的地方,where_definition可以有不同的格式,但都遵循下面的形式:
  字段名操作表达式
  字段名操作字段名
  在第一种形式下,标准把字段的值与表达式进行比较;在第二种形式下,把两个字段的值进行比较。根据所比较的数据类型,search_conditio

  n中的操作可能选以下几种:
  = 检查是否相等
  != 检查是否不等

  > (或>=) 检查左边值是否大于(或大于等于)右边值
  < (或<=) 检查左边值是否小于(或小于等于)右边值
  [not] between 检查左边值是否在某个范围内
  [not] in 检查左边是否某个特定集的成员
  [not] like 检查左边是否为右边的子串
  is [not] null 检查左边是否为空值
  在这里,可以用通配符_代表任何一个字符,%代表任何字符串。使用关键字可以生成复杂的词,它们运行检查时使用布尔

  表达式的多重标准集。
  例:
  mysql> select t1.name, t2.salary from employee AS t1, info AS t2 where t1.name = t2.name;
  mysql> select college, region, seed from tournament
  ORDER BY region, seed;
  mysql> select col_name from tbl_name WHERE col_name > 0;

  6.修改表中数据
  在使用数据库过程中,往往要修改其表中的数据,比如往表中添加新数据,删除表中原有数据,或对表中原有数据进行更改。它们的基本语法如下:
  数据添加:
  insert [into] table_name [(column(s))]
  values (expression(s))
  例:
  mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);
  数据删除:
  删除 from table_name where search_condition
  数据更改:
  更新 table_name
  set column1=expression1,
  column2=expression2,…
  where search_condition

  7.数据库切换
  当存在多个数据库时,可以用下面的命令定义用户想使用的数据库:
  use database_name

  8.统计函数
  SQL有一些统计函数,它们对于生成数据表格很有帮助。下面介绍几个常用的统计函数:
  sum (exepression) 计算表达式的和
  avg (exepression) 计算表达式的平均值
  count (exepression) 对表达式进行简单的计数
  count (*) 统计记录数
  max (exepression) 求最大值
  min (exepression) 求最小值
  其中exepression为任何有效的SQL表达式,它可以是一个或多个记录,也可以是别的SQL函数的组合。


  二、MySQL使用导引


  1.运用MySQL建立新数据库

  在shell下运行:
  $>mysqladmin create database01
  Database "database01" created.

  2.启动MySQL

  在shell下运行:
  $>mysql
  Welcome to the MySQL monitor. Commands end with ; or g.
  Your MySQL connection id is 22 to server version: 3.21. 29a-gamma-debug
  无效 'help' for help.

  3.更换数据库

  mysql>use database01
  database changed.

  4.创建表

  mysql>create table table01 (field01 integer, field02 char(10));
  Query OK, 0 rows affected (0.00 sec)

  5.列出表清单

  mysql>show tables;
  Tables in database01
  Table01
  table02

  6.列出表中的字段清单

  mysql>show columns from table01;
  Field 无效 Null Key Default Extra
  field01 int(11) YES
  field02 char(10) YES

  7.表的数据填写
  插入数据
  mysql>insert into table01 (field01, field02) values (1, 'first');
  Query OK, 1 row affected (0.00 sec)

  8.字段的增加

  ...一次一个字段
  mysql>alter table table01 add column field03 char(20);
  Query OK, l row affected (0.04 sec)
  Records: 1 Duplicates: 0 Warnings: 0
  ...一次多个字段
  mysql>alter table table01 add column field04 date, add column field05 time;
  Query OK, l row affected (0.04 sec)
  Records: 1 Duplicates: 0 Warnings: 0
  注意:每一列都必须以"add column"重新开始。
  它运行了吗?让我们看看。
  mysql>select * from table01;
  field01 field02 field03 field04 field05
  1 first NULL NULL NULL

  9.多行命令输入

  MySQL命令行界面允许把陈述作为一行输入,也可以把它展开为多行输入。这两者之间并没有语法上的区别。使用多行输入,你可以将SQL陈述

  一步步分解,从而使你更容易理解。
  在多行方式下,注释器把每一行都添加到前面的行后,直到你用分号";"来结束这个SQL陈述。一旦键入分号并按回车键,这个陈述即被执行。
  下面的例子是同一个严格的SQL陈述的两种输入方法:
  单行输入
  Mysql>create table table33 (field01 integer, field02 char(30));
  多行输入
  Mysql>create table table33
  ->(field01
  ->integer,
  ->field02
  ->char(30));
  注意不能将单词断开,如:
  正确
  mysql>create table table33
  ->( field01
  ->integer,
  ->field02
  ->char(30));
  错误
  mysql>create table table33
  ->( field01 inte
  ->ger,
  ->field02
  ->char(30));
  当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中:
  标准操作
  mysql>insert into table33 (field02)
  ->values
  ->('who thought of foo?');
  硬回车储存到数据中
  mysql>insert into table33 (field02)
  ->values
  ->('who thought
  ->of foo?');
  结果如下:
  mysql>select * from table33;
  field01 field02
  NULL who thought of foo?
  NULL who thought
  Of foo?

  10.表的数据嵌入

  mysql>insert into table01 (field01, field02, field03, field04, field05) values
  ->(2, 'second', 'another', '1999-10-23', '10:30:00');
  Query OK, 1 row affected (0.00 sec)
  标准日期格式是"yyyy-mm-dd"。
  标准时间格式是"hh:mm:ss"。
  引号内要求所给的是上述的标准日期和时间格式。
  日期也可以"yyyymmdd"形式,时间也可以"hhmmss"形式输入,但其值不需要再加引号。
  数字值不需要加引号。这种保存与数据类型无关,这些数据类型都有格式化的专栏来包含(例如:文本,日期,时间,整数等)。
  MySQL有一个很有用的命令缓冲区。它保存着你目前已经键入的SQL语句利用它,对于相同的命令,你就不必一遍又一遍地重复输入。下一步我

  们就来看这样的一个例子。
  利用命令缓冲区(及任意的日期和时间格式)增加另一个数据
  按两次键盘上的向上箭头键。
  回车。
  在圆括号内输入新的值,并以分号结尾。
  (3, 'a third', 'more', 19991024, 103004);
  回车。
  新值存在里面了吗?
  mysql>select * from table01;
  field01 field02 field03 field04 field05
  1 first NULL NULL NULL
  2 second another 1999-10-23 10:30:00
  3 a third more 1999-10-24 10:30:04

  11.表的数据更新

  一次修改一个字段
  再次注意语法。文本需要加引号但数字不要。
  mysql>更新 table01 set field03='new info' where field01=1;
  Query OK, 1 row affected (0.00 sec)
  一次改变多个字段
  记住在每一个更新的字段间用逗号隔开。
  mysql>更新 table01 set field04=19991022, field05=062218 where field01=1;
  Query OK, 1 row affected (0.00 sec)
  一次更新多个数据
  mysql>更新 table01 set field05=152901 where field04>19990101;
  Query OK, 3 rows affected (0.00 sec)

  12.删除数据

  mysql>删除 from table01 where field01=3;
  Query OK, 1 row affected (0.00 sec)

  13.退出

  mysql>quit
  Bye

  现在你已经了解了一些运行MySQL中的数据库的根本命令。由于MySQL是通过执行SQL调用来操作的,在你的处理过程中需要一个强有力工具的充足的数组。例如,通过联接相关的字段,你可以同时显示几个表中的数据。同样,SQL允许综合显示、更新或者删除多个符合具体标准的数据。如果你还想精通掌握它,下一步就要学习所有SQL的知识。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.