自己总结的一些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.***附近有错误
	出错原因:语法错误或者是符号错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值