SQL基础:常用SQL语句详解

来源:互联网 发布:u盘数据恢复大师激活码 编辑:程序博客网 时间:2024/05/21 17:41

到今天为止,人们对关系数据库做了大量的研究,并开发出关系数据语言,为操作关系数据库提供了方便的用户接口。关系数据语言目前有几十种,具有增加、删除、修改、查询、数据定义与控制等完整的数据库操作功能。通常把它们分为两类:关系代数类和关系演算类。  

在这些语言中,结构化查询语言SQL以其强大的数据库操作功能、口语化、易学易用等特点,受到广泛的应用,成为数据库应用程序开发的一柄利剑。在数据库应用程序开发过程中,巧妙地使用SQL语句,可以简化编程,起到事半功倍的效果,本书中有些实例也大量使用了SQL语句。它由两部分组成,数据定义语言(DDL)和数据操作语言(DML)。  
(1)   数据定义语言(DDL)  
数据定义语言用来定义数据库的各级模式。常用关键字有:Create(建立数据表)、Alter(更改数据表)、Drop(删除数据表)。  
建立数据表  
  CREATE   TABLE   table_name(  
  column1   DATATYPE   [NOT   NULL]   [NOT   NULL   PRIMARY   KEY],  
  column2   DATATYPE   [NOT   NULL],  
  ...  
  )  
  说明:上面的DATATYPE   指的是字段的类型,NUT   NULL   指是否为空,PRIMARY   KEY   指本表的主键。  
  建立索引   
  CREATE   INDEX   index_name   ON   table_name   (column_name)  
  说明:为数据表格的某个字段建立索引以增加查询时的速度。  
  更改数据表   
  ALTER   TABLE   table_name   ADD   COLUMN   column_name   DATATYPE  
  说明:增加一个字段。  
  ALTER   TABLE   table_name   ADD   PRIMARY   KEY   (column_name)  
  说明:将某个字段设为主键。  
  ALTER   TABLE   table_name   DROP   PRIMARY   KEY   (column_name)  
  说明:将某个字段的主键定义取消。  
  删除数据表  
  DROP   table_name  
  DROP   index_name  
  (2)   数据操作语言(DML)  
  数据操作语言(DML)用于操作数据表,如增加、删除、查询、修改等。常用关键字有:Insert(插入数据)、Delete(删除数据)、Select(查询数据)和Updata(修改数据)。  
  插入数据  
  INSERT   INTO   table_name(column1,column2,...)   VALUES  
(value1,value2,   ...)  
  说明:在插入语句中,若不指明要插入字段则,按表中的字段顺序依次插入。另外,插入数据的类型应和所插入字段的类型相匹配。  
  INSERT   INTO   table_name   (column1,column2,...)   SELECT  
columnx,columny,...  
  FROM   another_table  
  说明:通过一个子查询将别的表格相应字段的值插入该表格。  
  删除数据  
  DELETE   FROM   table_name   WHERE   conditions  
  说明:删除符合条件的记录。  
  查询数据  
  SELECT   column1,columns2,...   FROM   table_name  
  说明:把table_name   的相应字段查询出来。  
  SELECT   *   FROM   table_name   WHERE   column1   =   x   AND   column2   >   y  
  说明:这是一个带有条件的查询语句,‘*‘表示查询所有的字段,WHERE   之后是条件表达式。  
  SELECT   column1,column2   FROM   table_name   ORDER   BY   column2  
[DESC]  
  说明:ORDER   BY   是指定以某个字段排序,[DESC]是指从大到小排列,若没有指明,则是从小到大排列。  
  SELECT   *   FROM   table1,table2   WHERE  
table1.colum1=table2.column1  
  说明:这是一个组合查询,查询两个表格中   column1  
字段具有相同值的记录。作为两个表中建立关系的字段,其类型必须匹配。  
  SELECT   COUNT   (*)   FROM   table_name   WHERE   column_name   =   x  
  说明:查询符合条件的记录数。  
  SELECT   SUM(column1)   FROM   table_name  
  说明:计算column1字段的数据总和。除了SUM之外,还可以用AVG()计算平均值  
、用MAX()计算最大值、用MIN()计算最小值。  
  SELECT   *   FROM   table_name1   WHERE   EXISTS   (SELECT   *   FROM  
table_name2   WHERE  
  conditions)  
  说明:这条查询语句用一个子查询语句作为该查询语句的条件。EXISTS指是否存在。  
  SELECT   *   FROM   table_name1   WHERE   column1   IN   (SELECT   column1  
FROM  
  table_name2   WHERE   conditions   )  
  说明:IN后面接的是一个集合,表示将column1字段的值在集合中的所有记录从table_name1表中选出来。  
  SELECT   *   FROM   table_name1   WHERE   column1   LIKE   ‘x%‘  
  说明:该语句为模糊查询。这里的“%”是一个通配符,表示将column1字段中以x开头的所有记录选出来。  
  SELECT   *   FROM   table_name1   WHERE   column1   BETWEEN   x   AND   y  
  说明:BETWEEN   表示   column1   的值介于   x   和   y之间。  
  更改资料  
  UPDATE   table_name   SET   column1=‘x‘   WHERE   conditions  
  说明:该语句表示在某种条件下将column1字段的值改为x。若不加条件,则默认该字段全部更改。  
  以上是最基本的SQL语法知识,若想更深层次的了解,请参阅数据库方面的书籍。

转http://bbs.csai.cn/

原创粉丝点击