基本语法(增,删,改,查)
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.***附近有错误
出错原因:语法错误或者是符号错误
自己总结的一些SQL语句的基本知识
最新推荐文章于 2024-07-08 16:29:33 发布