自己总结的一些SQL语句的基本知识

来源:互联网 发布:免费配煤软件 编辑:程序博客网 时间:2024/05/21 15:44
基本语法(增,删,改,查)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.replaceselect 列名,replace(列名,'字符','替换成的') from 表名3.stuffselect 列名,stuff(列名,起始下标,修改长度,'替换成的') from 表名    常见错误:1.对象名不存在a.数据库选择错误b.表名或者列名错误2.不能为表'列名'中的标识插入显示值出错原因:不能为标识列插入值3.列名或所提供值的数目与表定义不匹配出错原因:列的个数和值的个数不匹配4.不能在对象'表名'中插入重复键出错原因:主键值重复5.约束"FK...."冲突,发生于"数据库名",表"表名",列名出错原因:外链引用的数据不存在6.将截断字符串二进制数据出错原因:超出设置长度7.约束"CK...."冲突,发生于"数据库名"表"表名",列名出错原因:数据违背了检查约束8.***附近有错误出错原因:语法错误或者是符号错误