sql语句大全_sql语句入门
sql语句大全_sql语句入门
基本语句
(1) 数据记录筛选:
sql=” * from 数据表 where字段名=字段值 order by字段名”(按某个字段值降序排列。默认升序ASC)
sql=” * from 数据表 where字段名like '%字段值%' order by 字段名 “
sql=” top 10 * from 数据表 where字段名=字段值 order by 字段名 “
sql=” top 10 * from 数据表 order by 字段名 “
sql=” * from 数据表 where字段名in ('值1','值2','值3')”
sql=” * from 数据表 where字段名 值1 and 值2″
(2) 更新数据记录:
sql=” 数据表 set字段名=字段值 where 条件表达式”
sql=” 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式”
(3) 删除数据记录:
sql=” from 数据表 where 条件表达式”
sql=” from 数据表” (将数据表所有记录删除)
(4) 添加数据记录:
sql=” into 数据表 (字段1,字段2,字段3 …) (值1,值2,值3 …)”
sql=” into 目标数据表 * from 源数据表” (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql=” sum(字段名) as 别名 from 数据表 where 条件表达式”
set rs=conn.(sql)
用 rs(“别名”) 获取统计的值,其它函数运用同上。
查询去除重复值: * from
(6) 数据表的建立和删除:
TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
(7) 单列求和:
SUM(字段名) FROM 数据表
最新语句
查询数据库中含有同一这字段的表:
name from where xtype = 'u' and id in( id from where name = 's3')
根据出生日期可以算出年龄:
(year,scrq,'2013') as 年龄 from
根据当前年份自动算出年龄
(year,csny,cast(YEAR(()) as char))
year(djsj) from
month(djsj) from
day(djsj) from
在同一数据库中复制表结构:
* into a from b where 11
当 设置为 OFF 时,不能为表 'aa' 中的标识列插入显式值。
set aa ON—-设置打开,
批量插入:
into aa(, , ) , , from ;
set aa OFF—关闭
不同数据库之间的复制:
复制结构:
* into test.dbo.b from GCRT.dbo. where 11
复制内容:
into test.dbo.b(xm,ssdq) xm,ssdq from GCRT.dbo.
查看数据库中所有的数据表表名:
name from where type='u'
查看数据库中所有表含有同一字段的表:
name from where xtype = 'u' and id in( id from where name = '同一字段')
查看数据表中的所有字段:
name from where id=('表名')
查询数据库时前10条记录:
top 10 * from order by newid()
修改字段类型:
ALTER TABLE 表名 ALTER 字段名 (30) NOT NULL
use
@temp (30)
set @temp = 'ZWI4'
hllx from where hllx not in(
case @temp when ''
then ''
else b1 end
from ( * from where ='' and B2='ZWI') s where s.b1 !=
case @temp when '' then '' else @temp end)
更改数据库表字段类型:
alter table alter s1 int
高级查询
A:UNION运算符
UNION 运算符通过组合其他两个结果表(例如 和)并消去表中任何重复行而派生出一个结果表。当 ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下sql语句update select,派生表的每一行不是来自 就是来自。
B: 运算符
运算符通过包括所有在 中但不在 中的行并消除所有重复行而派生出一个结果表。当ALL 随 一起使用时( ALL),不消除重复行。
C:运算符
运算符通过只包括 和 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随 一起使用时( ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
外连接
A、left outer join:
左外连接(左连接):结果集既包括连接表的匹配行sql语句大全_sql语句入门,也包括左连接表的所有行。
SQL: a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行sql语句大全_sql语句入门,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
判断对象
判断数据库是否存在
if (*ename= '数据库名')
数据库名
判断表是否存在
if not ( * from where = '表名' and xtype='U')
begin
–这里创建表
判断存储过程是否存在
if (*d = (N'
存储过程名
') and (id, N'') = 1)
存储过程名
判断临时表是否存在
if ('..#临时表名')isnot null
#临时表名
判断视图是否存在
–SQL 2000
IF (* = '.
视图名
'
–SQL 2005
IF (*. = '.
视图名
'
判断函数是否存在
if (*. = (N'.
函数名
') and xtype in (N'FN', N'IF', N'TF'))
.
函数名
获取创建信息
,,='U'/*
xtype 的表示参数类型sql语句update select,通常包括如下这些 C =CHECK约束 D = 默认值或约束 F =约束 L =日志FN =标量函数IF = 内嵌表函数 P =存储过程PK =约束(类型是K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR =触发器U = 用户表 UQ =约束(类型是K) V = 视图 X = 扩展存储过程 */
判断列是否存在
if (*d=('表名') ='列名')
表名列名
判断列是否自增列
if (('table'),'col','')=1
print '自增列'
else
print '不是自增列'
*.d=('表名')
AND =1
判断表中是否存在索引
if (*d=('表名') ='索引名')
print '存在'
else
print '不存在
查看数据库中对象
*ame='对象名'
* from table(所要查询的表名) where (条件)
提升
复制表
(只复制结构,源表名:a 新表名:b) (可用)
法一: * into b from a where 11
法二: top 0 * into b from a
拷贝表
(拷贝数据,源表名:a 目标表名:b) (可用)
into b(x, y, z) d,e,f from a;
跨数据库之间表的拷贝
(具体数据使用绝对路径) (可用)
into b(x, y, z) d,e,f from a in ‘具体数据库’ where 条件
例子:。.from b in '”&.(“.”&”data.mdb” &”' where..
子查询
(表名1:a 表名2:b)
a,b,c from a where a IN ( d from b 或者: a,b,c from a where a IN (1,2,3)
显示文章最后时间
a.title,a.,b. from table a,( max() from table where table.title=a.title) b
外连接查询
(表名1:a 表名2:b)
a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
在线视图查询
(表名1:a)
* from ( a,b,c FROM a) T where t.a > 1;
的用法
为查询某字段的指定范围,限制查询数据范围时包括了边界值,not 不包括边界值
* from where time time1 and time2
a,b,c, from where a not 数值1 and 数值2
in 的使用方法
* from where a in (‘值1’,’值2’,’值4’,’值6’)
删除主表没有的信息
两张关联表 from where not ( * from where .=.
四表联查问题
* from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where …..
日程安排提前五分钟
SQL: * from 日程安排 where ('',f开始时间,())>5
一条sql 搞定数据库页
top 10 b.* from ( top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段= a.主键字段 order by a.排序字段
前10条记录
top 10 * from where 范围
选择排名
选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等。)
a,b,c from ta where a=( max(a) from tb where tb.b=ta.b)
派生结果表
包括所有在 中但不在和 中的行并消除所有重复行而派生出一个结果表
( a from ( a from ) ( a from )
随机取出10条数据
top 10 * from order by newid()
随机选择记录
newid()
删除重复记录
from where id not in ( max(id) from group by col1,col2,…)
列出数据库里的表名
name from where type='U'
列出表里的所有的
name from where id=('')
列示排列
列示type、、pcs字段sql语句update select,以type字段排列,case可以方便地实现多重选择,类似 中的case。
type,sum(case when 'A' then pcs else 0 end),sum(case when 'C' then pcs else 0 end),sum(case when 'B' then pcs else 0 end) FROM group by type
显示结果:
type pcs
电脑A 1
电脑A 1
光盘B 2
光盘A 2
手机B 3
手机C 3
初始化表
TABLE
选择从10到15的记录
top 5 * from ( top10 * from ( top 15 * from table order by id asc) 别名 order by id desc) order by id
数据类型转换
@numid int
@id (50)
set @numid=2005
set @id=(,@numid)
关于sql语句大全的疑问,下面将做详细的解答。通过上述语句完成数据类型Int转换成,其他转换类似,可参看函数。
1=1,1=2的使用
在SQL语句组合时用的较多
“where 1=1”是表示选择全部 “where 1=2”全部不选,
如:
if @ !='
begin
set @ = ' count(*) as Total from
' + @ + '
where ' + @
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » sql语句大全_sql语句入门
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码