SQL 之二

Top:    select Top number(percent) from  table where ...       例子: SELECT TOP 50 PERCENT * FROM Persons

            MYSQL  : select  列名s  from  table  limit  number

            OrcaL: select  列名s  from  table  ROWNUM  <  number

LIke  &  not   Like       例子: SELECT * FROM Persons  WHERE City NOT LIKE   '%lon%'

                                通配符: %  多个字符, - 一个字符 , [ ] 中间任何一个字符 ,[! ]  [~ ]不在其中的任何字符

 IN: 允许where 条件包含多个值   select  列名s from table  where 列名 in (值1,值2。。。)

Between :  select  列名s from table  where 列名 between 值1 and  值2   ,

             不同的数据库在查询结果上有所差别,可能返回边界值,可能都不返回边界值或是只返回第一个边界值 值1。

AS: 既可以为表指定别名,也可以为列指定别名。

Join :

  • JOIN/Inerr  Join: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

     

    Union  用于合并select的结果集  ,重复的结果只显示一次

    Uinon all  同Union 但是不会剔除相同的结果

    Select Into

            将查询结果放入另一个表中,常用于数据备份或是数据存档。

             Select  列名s  into   new table  In  datebase  from  old table  where  。。。

    Create  Datebabs   dbName  : 创建数据库

    Create  Table tName

      (   列名1 ,数据类型

          列名2 ,数据类型

         ...   .....

      )   : 创建数据表

      

    数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:

    数据类型 描述
    • integer(size)
    • int(size)
    • smallint(size)
    • tinyint(size)
    仅容纳整数。在括号内规定数字的最大位数。
    • decimal(size,d)
    • numeric(size,d)

    容纳带有小数的数字。

    "size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

    char(size)

    容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。

    在括号中规定字符串的长度。

    varchar(size)

    容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。

    在括号中规定字符串的最大长度。

    date(yyyymmdd) 容纳日期。

     

     约束: 

  •   NOT  NULL  不允许为空

  •   Unique    添加:  MYSQL 中  Unique(列名s)      SQL  Server : 列名  Uniqu

                      命名或添加多个唯一: Constraint Name Unique(列名s)

                       删除:   MYSQL 中 Drop  Index  Name     SQL  Server :  Drop  Constraint Name                

  •  Primary Key   添加 :  MYSQL 中  Primary key(列名s)      SQL  Server : 列名  Primary Key

                         表已经存在的情况下进行添加:Add  Primary key (列名s)      或者  Add  constraint Name Primary key(列名s)

                         命名或将多列指定为主键: Constraint Name Primary key(列名s)

                          删除:   MYSQL 中 Drop  Primary  key         SQL  Server :  Drop  Constraint Name                  

  •  Foreign Key   添加 :  MYSQL 中  Foreign key(列名)  References table(列名)        SQL  Server : 列名  Primary Key References table(列名)

                           表已经存在的情况下进行添加:Add  Foreign key (列名)  References table(列名)    

                                                               或者  Add  constraint Name Foreign key (列名)  References table(列名)    

                           命名或将多列指定为外键: Constraint Name Foreign key (列名)  References table(列名)    

                          删除:   MYSQL 中 Drop  Primary  key  Name       SQL  Server :  Drop  Constraint Name   

  • Check       限定某列只能为符合条件的特定值。

                            添加 :  MYSQL 中  单独写 Check (条件)     SQL  Server : 列名 后面直接写 Check (条件)  

                           表已经存在的情况下进行添加:Add  check(条件)  

                                                               或者  Add  constraint Name check (条件) 

                           命名或将多个条件: Constraint Name  Check(条件s)    

                            删除:    SQL  Server :  Drop  Constraint Name   

  • Default           添加: 列名后直接填写 Default  默认值或是函数

     

                         表已经存在情况下的添加:

                                     MYSQL 中:  Alter 列名 set Default  默认值或是函数      SQL Server 中: Alert  Column 列名 set  Default 默认值或是函数

                          删除:  MYSQL: Alter 列名 Drop  Default                     SQl Server : Alter  Column  列名 Drp  Default

     

     INDEX : 索引是用户看不到的,只是能加快查询的速度。

          创建索引的方法:   Creat [Unique]  Index  IndexName  on table (列名s, [DESC])     []中的内容是可选的

          删除索引的方法:   SQLJet : Drop index  indexName on table 

                                    SQL Server  : Drop Index table.indexName

                                    DB2/Oracle :  Drop IndexName

                                    MYSQL : Alter table tablename  Drop Index indexName

     DROP: 

  •   删除数据库   Drop   Database   dbName

  •   删除数据表   Drop  Table  tbName

  •   仅仅删除表中的数据           Turncate  Tabel  tbName

  •  

      Alter  : 在已存在的表中进行添加 删除

  •   添加数据列   Alter Table tbName  add  ColumnName  dbType

  •   删除数据列   Alter  Table tbName  Drop  ColumnName

  •   改变某列的数据类型 Alter  Table tbName  Alter ColumnName  dbType

  •  

  • posted @ 2009-07-10 16:24  frankself008  阅读(527)  评论(0编辑  收藏  举报