--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域

--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
--WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --打印变量x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c --打印变量c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end

--WAITFOR
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay ’01:02:03’
select * from employee
--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00’
select * from employee

--------- group by 将表按行分组,指定列中有相同的值

truncate table_name ----------- 删除表中所有行,仍保持表的完整性
drop table table_name --------------- 完全删除表
1.随机取出10条数据
select top 10 * from tablename order by newid()

2.说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
3.说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
4.说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
5、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname

删除:   delete from table_name where Stockid = 3 按条件删除数据

    truncate table_name   ---- 删除表中所有行,但是表仍然存在

    drop table table_name   ------完全删除表

6.条件查询:select * from 表名 where  列名=‘’(该列是Varchar类型或是char类型,如果没有引号,则该列为int类型或是其他数字类型)

7.查询第4条纪录到第9条纪录
select top 9 * from stukcb where id not in (select top 3 * from stukcb order by id) order by id

选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc

Sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
查找数据库中前10记录

Sql="select top n * form 数据表 order by newid()"
随机取出数据库中的若干条记录的方法

8.说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

9.修改(Update):update t_test t  set  t.password = '*', t.remark = '*'  where t.bs = 1;

        update t_test t  set  t.password = null, t.remark = null here t.bs = 1;

修改表字段列的类型,长度:alter table <表名> alter column <字段名> 新类型名(长度)

----统计函数----

AVG --求平均值  select avg(所求平均值的列名) as 别名 from 表名 group by (以哪个字段分组的列名)

COUNT --统计数目 select count(*) as count from 表名 (求一张表中的数据总和)

MAX --求最大值  --求工资最高的员工姓名 select e_name from employee where e_salary = (select max(e_salary) from employee 

MIN --求最小值 (同求最大值写法一样)  

SUM --求和  select  sum(column_name) from   table_name  column_name中的数据必须是数值型的

10.说明:列出数据库里所有的表名
select name from sysobjects where type='U'

11、说明:列出表里的所有的列
select name from syscolumns where id=object_id('TableName')

“where 1=1” 是表示选择全部 “where 1=2”全部不选,

1.查看数据库的版本       

   select @@version

  2. 查看数据库所在机器操作系统参数       

  exec master..xp_msver


  3. 查看数据库启动的参数        

  sp_configure


  4. 查看数据库启动时间        

  select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1

 5. 查看数据库服务器名和实例名

  print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)        

  print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)  

6. 查看所有数据库用户登录信息    

  sp_helplogins

  查看所有数据库用户所属的角色信息       

  sp_helpsrvrolemember

7. 查看链接服务器           
 
  sp_helplinkedsrvlogin

  查看远端数据库用户登录信息
 
  sp_helpremotelogin

╔--------------------------╗
☆ 记录集对象的方法 ☆
╚--------------------------╝
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录

posted on 2012-11-27 15:59  Carina_zy  阅读(267)  评论(0编辑  收藏  举报