分享

SQL的一些用法小结

 程零儿 2006-12-12

 

 1.模糊查询: select * from 表名 where 查询字段 like ‘%biao_

%通配符--匹配任意字符

_通配符--匹配单个字符

2.字符串的连接(||): select 字段1 || ‘,‘ || 字段2  别名 from 表名

输出: 字段1,字段2

3.查找非空项: select * from 表名 where 字段 is not null

4.集合查询:

 union 返回两个查询的结果并去除其中的重复部分: select 字段1 from 表1 union select 字段1 from 表2

 union all 与 union 一样对表进行了合并但是它不去掉重复的记录: select 字段1 from 表1 union all select 字段1 from 表2

 intersect(相交) 返回两个表中共有的行: select 字段1 from 表1 intersect select 字段1 from 表2

 mimus(相减) 返回的记录是存在于第一个表中但不存在于第二个表中的记录例: select 字段1 from 表1 mimus select 字段1 from 表2

5.从属运算(in,between)

  select * from 表 where 字段 in (‘值1‘,‘值2‘,-----)   ----括号内是数字则不需要用引号

  select * from 表 where 字段 between Min and Max

二.函数

1.count: 该函数将返回满足WHERE 条件子句中记录的个数

 select count(*) from 表 where 条件

2.sum 返回某一列的所有数值的和

 select sum(字段) from 表

3.avg 可以返回某一列的平均值

 select avg(字段) from 表

4.max(min) 取得某一列中的最大(小)值

 select max(字段) from 表

 select * from 表 where 字段=min(字段)

 @_@ (太多了,不一一列举了,弄些自己喜欢的^_^)----------------

5.user 该函数返回当前使用数据库的用户的名字

  select user [from 表]

三.子句

1.group by 用于分组

 select sum(字段1) from 表 group by 字段2 having 条件 ------按照字段2进行分组显示

2.having 在分组中设置条件

四.子查询(子查询的条件可以关联主表和子表)

 select * from 表1 where 字段=(select 字段 from 表2 条件)  ---子查询的结果必须是唯一

 select * from 表1 where 字段 in (select 字段 from 表2 条件)  ----子查询的结果不唯一

 select * from 表1 where  exists (select ........)  -----exists 返回true or false

五.精彩语句:

 insert into 表1(字段1,字段2....) select 字段1,字段2..... from 表2 条件  -----复制表

六.创建和操作表

 1.创建表:

 CREATE TABLE table_name (field1 datatype [ NOT NULL ]
                                                       field2 datatype [ NOT NULL ]
                                                       field3 datatype [ NOT NULL ]...)

 2.ALTER TABLE 语句可以帮助你做两件事
     -加入一列到已经存在的表中
     -修改已经存在的表中的某一列


 ALTER TABLE 语句的语法如下
ALTER TABLE table_name <ADD column_name data_type;               -------添加一列
                                                   MODIFY column_name data_type;>        -------修改一列

3.删除表和数据库:

DROP TABLE table_name         DROP DATABASE database_name

4.创建临时表:

create table #table_name (field1 datatype,
                                                 .
                                                 fieldn datatype

七,存贮过程:

创建存贮过程的语法:

create procedure procedure_name
            [[(]@parameter_name
                 datatype [(length) | (precision [, scale])
                   [= default][output]                                                       -----------参数
           [, @parameter_name
                datatype [(length) | (precision [, scale])
                   [= default][output]]...[)]]
           [with recompile]
           as SQL_statements

运行存贮过程的EXECUTE 命令的语法:

execute [@return_status = ]
                procedure_name
                [[@parameter_name =] value |                                 ------------参数值
                   [@parameter_name =] @variable [output]...]]
                [with recompile]

八.SQL SERVER 提供的全局变量:

在使用存储过程的时候你可以自己定义全局变量是非常有用的SQL SERVER 也提供
了几种系统全局变量对于数据库的系统用户来说它可能是有用的下表中给出了这些变
量的全部清单你可以在SQL SERVER SYSTEM10 的文档中找到它
变量名作用
@@char_convert 如果字符转换成功时其值为0
@@client_csid 客户机所使用字符集的ID                                                                                                
@@client_csname 客户机的字符集的名字
@@connections 从SQL Server启动以来的登录次数
@@cpu_busy 从SQL Server启动以来的CPU 忙的时间总数
@@error 错误的状态
@@identity 插入到确定列中的最后一个值
@@idle 从SQL Server启动以来的总时间数
@@io_busy SQL Server用于I/O操作的时间
@@isolation 当前的Transact-SQL程序的隔离级别
@@langid 定义了本地语言的ID号
@@language 定义了本地语言的名称
@@maxcharlen 字符的最大长度
@@max_connections 可与SQL SERVER进行连接的最大数量
@@ncharsize Average length of a national character.
@@nestlevel 当前进程的嵌套级别
@@pack_received 从SQL Server启动以来的读入的数据包的数量
@@pack_sent 从SQL Server所发出的输出包的数量
@@packet_errors 从SQL Server启动以来产生错误的数量
@@procid 当前正在运行的存储过程的ID号
@@rowcount 上一个命令所涉及的行数
@@servername 本地local SQL Server的名字
@@spid 当前正在处理的进程ID号
@@sqlstatus 存储状态信息
@@textsize 由SELECT语句所返回的文本映像的最大长度
@@thresh_hysteresis Change in free space required to activate a threshold.
@@timeticks Number of microseconds per tick.
@@total_errors 在读写过程中产生的错误数
@@total_read 在SQL Server启动以来读磁盘的次数
@@total_write 在SQL Server启动以来写磁盘的次数
@@tranchained 在Transact-SQL程序中当前事务的模式
@@trancount 事务的嵌套级别
@@transtate 当一个语句运行后当前事务的状态
@@version 当前SQL Server的版本日期

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多