Sql 基础知识总结
一.My Sql 增,删,改,查基本操作语句:
1(增): insert into 表名 (列名) values 值列表 insert into 表名 values 值列表(插入所有列)
【扩展】插入多行: 1种:insert into <表名> (列名)
2种: select 列名 into <表名> from <源表名> 【注】创建表,复制列名的结构及数据到新表中,但是,这个SQL语句只能使用一次
3种: insert into <表名> (列名) select 值列表 union select 值列表
2(删): delete from 表名 [where条件]
truncate table 表名 【注】1.不能删除有外键的表 2.删除的数据不能恢复 3.标识列从1开始重新计算(与delete相反)
3(改): update 表名 set 列名=值 ,列名2=值2 [where条件]
4(查): select 列名 from 表名 [where 条件]
*多表查询:
内连接(inner join ): select 表1.列名,表2.列名 from 表名1 as 表1
inner join 表名2 as 表2
on 表1.字段名=表2.字段名
inner join 表名3 as 表3
on 表1.字段名=表3.字段名
外连接:
左外: select 表1.列名,表2.列名 from 表名1 as 表1
left outer join 表名2 as 表2
on 表1.字段名=表2.字段名
右外: select 表1.列名,表2.列名 from 表名1 as 表1
right outer join 表名2 as 表2
on 表1.字段名=表2.字段名
* 分组查询(group by...having)
select 列名(group by 的列名,或者函数) from 表名
where [条件]
group by 列名
having 条件
order by 排序[asc|desc]
二.其它知识点
1. 模糊查询三种方式 第一种:select 列名 from 表名 where 列名 like ‘‘
【补充】常见通配符有以下四种: _ : 一个字符 % : 任意长度的字符 []:区间内的字符 [^]: 不区间内的字符
第二种:select 列名 from 表名 where 列名 in (值1,值2)
第三种:select 列名 from 表名 where 列名 between 值1 and 值2
2. 判断是否为空 为空: 列名 is null or 列名=‘‘
不为空: 列名 not is null and 列名!=‘‘
3常用函数
A. 聚合函数 SUM(列名):和 MAX(列名):最大值 MIN(列名):最小值 AVG(列名):平均值 COUNT(列名):列数
【注】 聚合函数是求不为空的个数、值、或者和
B. 日期: 当前日期:getdate()
datediff(日期部分,日期1,日期2):求日期部分的差
dateadd(日期部分,增加值,指定日期)
datepart(日期部分,指定日期)
datename(日期部分,指定日期)
C. 字符串函数
a. charindex(寻找的字符,搜索列[,起始位置]); 在一段字符中搜索字符或字符串,返回起始位置
【注】:起始位置从1开始,如果没有找到返回0) e.g select * from Student where charindex(‘金‘,StudentName)>0
b. len(字符串|列名):返回字符串长度 select len(‘hello world‘); 返回11
c. upper(字符串|列名):把传递的值转换成大写 select upper(‘hello world‘); HELLO WORLD
d. ltrim(字符串|列名):去字符串左边的空格 rtrim(字符串|列名):去字符串右边的空格 e.g:select ltrim(‘ hello world ‘);
select rtrim(‘ hello world ‘);
e. right(字符串,长度): 从字符串右边返回指定数目的字符 left(字符串,长度) 从字符串左边返回指定数目的字符
f. replace(待搜索字符,待查询字符,替换用的字符) 替换一个字符串中的字符 e.g select replace(‘hello world‘,‘hello‘,‘hi‘);结果hi world
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。