sql基础(一)

 

sql基础()

sql基础

1.什么是关系型数据库.
  1.1.
优点:
    1.
容易使用
    2.
可以在同一时间使用.
    3.
可以随时间更改.添加,插入,删除等操作.
 1.2.
数据存储在表中.
   
对关系数据库而言,所有的数据都存储在表中,表由列(字段)和行(记录)组成.
1.3.
使用主键列识别每一个行.
    
大部分表都包含一个主键,它识别了表中的每一个行,并给他们一个名字.可以选择两个列同时做为主键.不允许每个列单独做为主键.
    
列的名字被认为是表定义的一部分,与之相比较,行的名字(是行的主键)被认为是表中数据的一部分.
    
对表的主键的两条规则:
        
没有主键的列可以包含一个Null.因为Null是一个未知的数据
        
每一个行都必须有一个不同一表中其他每一行的特性.

2.从表中获取信息.
   select
语句.(查询)
  2.1.
目标:从表中获取几个列和行.
            select employee id,      //select
子句在结果表中列出了所需要显示的列,这里的顺序便是显示的顺序,如无",",计算机就认为将会出现下一个子句.
           last_name,
           credit_limit
           from l_employees         //from
子句指定数据所在的表.
           where credit_limit>20.00 //where
表示要在结果中显示哪几行.(条件)
           order by last_name;      //
排列标准.  ";"表示查询结束.

  2.3.select子句概述.
   <?xml:namespace prefix = st1 />2.3.1  3
种形式 
         select

             只获取列出的列
            
按这些列被列出的顺序放置这些列
           
可以重命名这些列

         select *select 表名.*

            获取表中所有的列
           
排列顺序与表中顺序相同
          
不能在sql语句中重命名这些列
           
在添加表中的列以外的其他列时,需要在"*"前输入表名,表名与星号间有个点.

         select distinct

            只获取列出的列
           
按列出这些列的顺序放置这些列
           
可以重命名这些列
           
除去结果中的重复行

  2.4.使用select子句获取若干列.
   
   
在输出结果表中重命名列名.
    select employee_id as employee_number,
         phone_number as extension,
         last_name,
          'excellent worker' as evaluation, //
向添加evaluation中添加'excellentworker',注意用单引号.
         10 as rating                                   //
rating行中添加10.
    from l_employee;

  2.5.使用select子句获取所有列
       select *                                  //
查询所有列
       from  l_employees               //from l_employees

       where manger_id is null      //
并且条件为manger_id is null     
      order by employee_id         //
XX列排列
  2.6.
获取相异值. 列出不重复的值
      select distinet manager_id,   //select
语句已经含有排序的功能
                employee_id                 //
多行.
      from l_employees
      where employee_id in 120,200,300 //
可选
      order by manager_id desc;

where子句概述
      
条件          
      
等于和其他:
       =     //
文本和日期加 ''  
       >
       <
       >=
       <=
       <>    //
不等于
    
包含测试--特定的清单
      in          //
在某个集合中, :credit_limit in (15.00,2.00)
      not in           
    
范围测试--两个值之间的位置
      between    //
在某个范围内  :credit_limit between 21.00 and
      not
    
匹配--使用通配符
      like    //phone_number like '%48%'
      not like   //dept_code not like '%a%'
      Null
测试--是否Null
      is null
      is
     
布尔连接符--将简单的条件连接在一起
      and
      or
      not

    like使用
    
通配符的含义:
      *        
任意长度的字符(包括0)
     ?        
一个字符
     #       
一个数字
     [c-m] 
字符的范围
     [!c-m] 
字符范围之外
     [*]
[?][#] 表示按字面意思使用,不被认为是通配符

   order by 子句
    order by
列名
    order by
数字    //可以每一列指定排列顺序
   
每一个列的排列选项
    asc
升序(默认)
    desc
降序
   example:
   select dept_code,
           last_name
   from l_employee
   where not (employee_id=209)
   order by dept_code,
            last_name desc;
   NOTE:
默认规则,主要按首先出现的列排列.

 

转载于:https://www.cnblogs.com/wangzw/archive/2006/03/15/350591.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值