• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
HideLin丶
林道银
博客园    首页    新随笔    联系   管理    订阅  订阅

自己总结的一些SQL知识

基本语法(增,删,改,查)
1.增加数据的语法(增)
  insert into 表名 (列名,列名,...)
  values (值,值,...)

  简化的增加数据的语法
  insert into 表明
  values (值,值,...)        ---注:此时值必须和表中列名对应,并且不能省略值

2.一次插入多行数据(增)
  insert into 表明
  select 值,值,...           --不需要小括号,此时输入的default是无效的,必须手动填默认值
  union                        --表示用于组合前后两条插入语句
  select 值,值,...

3.将现有表中的数据添加到已存在的表中(新表之前存在)(增)
  insert into 已存在新表名 (列名,列名)
  select 列名,列名,
  from 现有表名

4.将现有表中的数据添加到新表中(新表之前不存在)(增)
  select 列名,列名,...
  into 新表
  from 原表
  
5.更新数据(改)
  update 表名 set 列名=更新值,列名=更新值
  where 更新条件(可省略,意思是满足这个条件后执行更新) 
  
6.删除数据(删)
  delete from 表名
  where 条件表达式        --如果满足此条件就可以伤处
  
7.删除数据(删)
  truncate table 表名    --标的结构,列,约束,索引等不会被改动
  
8.查询一个表的所有数据(查)
  select * from 表名
  
9.筛选符合条件的所有数据(查)
  selcet * from 表名
  where 条件
  
10.查询某些列或者列的数据(查)
  select 列名,列名 from 表名
  where 条件
  
11.在查询中使用别名(查)
  a). select 列名 as 别名, 列名 as 别名 from 表名
      where 条件
  b). select 别名=列名,别名=列名 from 表名
      where 条件
      
12.查询为空(不为空)的数据(查)
  select 列名 from 表名
  where 列名 is null(为空)
  where 列名 is not null(不为空)
  
13.查询中使用常量(查)
  select 列名,列名,'常量' as 别名 from 表名
  
14.查询返回限制的行数(查)
  select top 行数 * from 表名
  select top 行数 percent * from 表名(按百分比查询)
  
15.按升序查询
  select * from 表名
  order by 列名 (asc)        --无筛选条件的升序排列,asc可以省略,默认为升序
  
  select * from 表名
  where 筛选条件
  order by 列名 (asc)        --有筛选条件的升序排列,where必须放在order by之前
  
  select * from 表名
  order by 列名 (desc)        --按降序排列
  
  select top 行数 * from 表名
  order by 列名 (asc)        --获得前多少行的数据
  
查询中使用的函数
1.charindex                    --查找指定字符的位置
    select 列名,charindex('字符',列名,起始位置)(as 别名) from 表名
    
2.replace
    select 列名,replace(列名,'字符','替换成的') from 表名

3.stuff
    select 列名,stuff(列名,起始下标,修改长度,'替换成的') from 表名
  
  
常见错误:
1.对象名不存在
    a.数据库选择错误
    b.表名或者列名错误

2.不能为表'列名'中的标识插入显示值
    出错原因:不能为标识列插入值

3.列名或所提供值的数目与表定义不匹配
    出错原因:列的个数和值的个数不匹配

4.不能在对象'表名'中插入重复键
    出错原因:主键值重复
    
5.约束"FK...."冲突,发生于"数据库名",表"表名",列名
    出错原因:外链引用的数据不存在

6.将截断字符串二进制数据
    出错原因:超出设置长度

7.约束"CK...."冲突,发生于"数据库名"表"表名",列名
    出错原因:数据违背了检查约束
    
8.***附近有错误
    出错原因:语法错误或者是符号错误

 

posted @ 2012-09-24 21:52  HideLin丶  阅读(270)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3