修炼着,快乐着,只愿努力长成想要的样子~~~~~

发布新日志

  • 基本SQL小结

    2007-07-12 22:58:05

    今天对SQL的基础知识做个小结:

     一,select

    1,select [select_list]

      from [table_name]

      where [search_conditions]

      group by [group_by_list]

      (having [search_conditions])

      order by [order_list]

      (compute [function])

    a.where

      where子句的查询条件可以包括:

    比较运算符:<,>,<=,>=,=,!=,!<,!>

    范围说明:between A and b, not between A and b

    可选值列表:in( ), not in()

    模式匹配:like '_', not like'%'

    是否为空值:is null, is not null

    逻辑组合:and, or, not

    b.group by

      根据条件自动分组,上下分开。

     having子句,和group by连用,对分组指定搜索条件。

    eg.查询多个员工的工资不低于6000的部门编号。

      select dept_id,count(*) from employee

       where e_wage>=6000

       group by dept_id

       having count(*)>=1(多个)

    c.order by [orderby_conditions] [desc,asc]

    d.function 汇总函数(针对行)|(针对列)字段之间直接进行数学计算

    Avg,Sum,Max,Min,Count

    count([*]统计元组个数,[列名]统计一列中值的个数)

    e.union(行连接)

    将两个或两个以上的查询结果合并为一个结果集。

    eg.查询计算机系的学生或者年龄不大于20的学生,按年龄倒序。

    select * from department where sdept='计算机'

    union

    select * from student where sage<=20

    order by sage desc

    f.嵌套

    eg1.查出与学号9500同龄的学生。

    select * from students

    where age=(select age from students

               where sno='9500')

    eg2.查出选修lesson1的学生的学号和姓名。

    select sno, sname from students

    where sno in(select sno from lesson

                 where lno='lesson1')

    2.其他数据操作

    a.update 修改列值

    update 表名 set 列名1=表达式1, 列名2=表达式2 where 条件

    只对单表操作;尽当事务提交(commit)后才生效;也可以通过回滚(rollback)来作废。

    b.delete 清除列

    delete from 表名 where 条件

    无where则清空,表结构还在,整行删除

    c.insert 插入行

    insert into 表名 values( , , ,)

    eg.select * from menu
    insert into menu values (6,'高级人才','person/gaoji.asp')
    update menu set url='person/default.html'
    where menuid=2
    delete from menu where menuid=6

    3.数据表定义

    create table

    drop table

    alter table 修改表:添加表列,重定义表列,更改存储分配

    alter table add constraint 在以有的表上添加约束。

    约束:

    约束类型:主键约束

             唯一性约束

             检查约束

             缺省约束

             外键约束

    4.数据控制语言

    权限控制 grant 权限,角色授予

            revoke 从用户或数据表收回权限

            set role 禁止或允许一个权限

    事务处理控制 commit work 把当前事务作为更改永久化

                rollback 作废上次提交以来的所有更改

    5.存储过程 stored procedure

    6.sql server对象命名

    a.三段式名字表识对象

    <database>.<table>.<colmn>

    b.别名 (as)

    如果指定了别名,那么对数据表所有的操作都必须用别名。

数据统计

  • 访问量: 10989
  • 日志数: 10
  • 建立时间: 2007-05-18
  • 更新时间: 2007-07-12

RSS订阅

Open Toolbar