数据库,sql语句
语句功能
数据操作
- select---从数据库表中检索数据行和列
- insert---向数据库表添加新数据行
- delect---从数据库表中删除数据行
- update---更新数据库表中的数据
数据定义
- create table---创建一个数据库表
- drop table---从数据库中删除表
- alter table---修改数据库表结构
- create view---创建一个视图
- drop view---从数据库中删除视图
- create index---为数据库表创建一个索引
- drop index---从数据库中删除索引
- create procedure---创建一个存储过程
- drop procedrue---从数据库中删除存储过程
- create trigger---创建一个触发器
- drop trigger---从数据库中删除触发器
- create schema---向数据库添加一个新模式
- drop schema---从数据库中删除一个模式
- create domain---创建一个数据值域
- alter domain---改变域定义
- drop domain---从数据库中删除一个域
常用sql命令和asp编程
在进行数据库操作时,常用的添加,删除,修改的sql语句
数据记录筛选
select * from 表名 where 字段名=值 order by 列 desc (order by desc是排序,降序,asc是升序)
select * from 表名 where like %值% order by 列 desc
select top 10 * from 表名 where 列 order by 列 desc
select * from 表名 where 列 in (值1,值2,值3) (列值是1,2,3的所有信息)
select * from 表名 where 列 between 值1 and 值2
更新数据记录
update 表名 set 字段名=值 where 条件
update 表名 set 字段1=值1,字段2=值2...字段n=值n where 条件
删除数据记录
delete from 表名 where 条件
delete from 表名(将数据表所有记录删除)
添加数据记录
insert into 表名(字段1,字段2,字段3.....)valuess(值1,值2,值3.....)
insert into 目标数据表 select * from 源数据表(把源数据表的记录添加到目标数据表)
数据记录统计函数
avg(字段名)得出一个表格栏平均值
count(字段名)对数据行数的统计或对某一栏有值得数据行数统计
max(字段名)取得一个表格栏最大的值
min(字段名)取得一个表格栏最小的值
sum(字段名)把数据栏的值相加
引用以上函数的方法:
sql = "select sum(字段名) as 别名 from 数据表 where 条件"
set rs = conn.excute(sql) 用rs获取统计的值,
数据表的建立和删除
create table 数据表名称(字段1,类型1(长度),字段2,类型2(长度).....)
例:create table Student(name varchar(50),datetime default now())
drop table 数据表名称(删除数据表)
sql经典语句
按姓氏笔画排序
select * from Student order by StuName Collate Chinese_PRC_Stroke_ci_as
数据库加密
select encrypt(\'原始密码\')
select pwdencrypt(\'原始密码\')
select pwdcompare(\'原始密码\',\'加密后密码\')=1--相同;否则不相同 encrypt(\'原始密码\')
取回表中字段
declare @list varchar(1000),@sql nvarchar(1000)
select @list=@list+\',\'+b.name from sysobject a,syscolumns b where a.id=b.id and a.name=\'表A\'
set @sql=\'select\'+right(@list,len(@list)-1)+\'from 表A\'
exec(@sql)
查看硬盘分区
exec master..xp_fixeddrives
比较A,B表是否相等
if(select checksum_agg(binary_checksum(*))from A)
= (select checksum_agg(binary_checksum(*)) from B)
print \'相等\'
else
print \'不想等\'
记录搜索开头到N条记录
select top n * from 表
n到m条记录(要有主索引ID)//有问题
select top m-n * from 表 where id in (select top m id from表) order by id desc
n到结尾记录
select top n * from 表 order by id desc
获取某一个表的所有字段
select name from syscolumns where id=object_id(\'表名\')
查看与某一个表相关的视图,存储过程,函数
select * from sysobjects a,syscomments b where a.id = b.id and b.text like \'%表名%\'