标签:
数据库,无所不在的玩意。数据库,令人头疼的玩意。数据库,烦死的玩意。
但那都不要怕,小编会为大家劈开大道,斩妖除魔,一路护送大家到终点!!!
第一,学习数据库从小抓起。最基本的概念当然要记住,记清
数据库的语言:SQL语言(当前)
SQL的组成: DML:用来插入、修改和删除数据库的数据
DDL:用来建立数据库、数据库对象和定义其列,大部分以CREATE开头命令
DQL:用来对数据库中的数据进行查询
DCL:用来控制数据库组件的存取许可、存取权限等
数据库中的运算符:+ - * / %
数据库中的赋值运算符 : =
数据库中的比较运算符: = > < <>(不等于) >= <= !=(不等于)
数据库中的逻辑运算符: AND 当且仅当两个布尔表达式为TRUE时,返回TRUE
OR 当且仅当两个布尔表达式都为FALSE,返回FALSE
NOT 对布尔表达式的值取反,优先级别最高
言归正传,使用SQL插入数据
语法:
INSERT [INTO] 表名 [(列名列表)] VALUES(值列表)
一次插入多行数据:
(1)通过INSERT SELECT语句向表中添加数据
(2)通过SELECT INTO语句将现有表中的数据添加到新表中
语法:
SELECT IDENTITY(数据类型,表示种子,标识增长量) AS 列明 INTO 列表 FROM 原始表
(3)通过UNIO关键字合并数据进行插入
使用SQL更新数据
语法:
UPDATE 表名 SET 列名 = 更新值 [WHERE 更新值]
使用SQL删除数据(小编劝大家尽量不要使用)
语法:
DELETE [FROM] 表名 [WHERE <删除条件>]
以上只是给大家简单的介绍SQL,以及常用的一些语法。当然也有部分的内容忽略,因为在编程员的路上有一小部分不会用到。当然,如果大家有不懂的可以留下问题,小编很乐意为大家解决~在本章结束,小编会留下联系方式。
有了数据库,我们就会利用它来存储很多的信息。有的是肉眼可以一览无余的,有的则是一眼望不到头。这样,我们就不得不发明一种查询方式以便查询。所以,下面小编会为大家呈现关于数据库的查询方法:
查询数据库的基础:
SELECT <列明> FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列明>[ASC或DESC]]
注释:DESC是降序排序 ASC是升序排序
(1)查询所有的数据行和列
SELECT * FROM STUDENT
‘*‘表示所有的列
(2)查询部分行或列
SELECT SCode,SName,SAdress FROM Student WHERE SAdress =‘河北‘
(3)在查询中使用列的别名
(4)查询空值
(5)在查询中使用常量列
(6)查询返回限制的行数
查询排序使用ORDER BY
在查询中使用函数(看着难其实不难,小编会给你们最最最简单的解释让你们得到最大最大最大的收获)
SQL SERVER提供了一些内部函数,每个函数实现不同的功能,不同类别的函数都可以和SELECT、UPDATE、INSERT语句联合使用。
(1)字符串函数
函数名 | 描述 | 例子 |
CHARINDEX | 用来寻找一个指定的字符串在另一个字符串中的起始位置 |
SELECT CHARINDEX(‘NAME‘,‘My name is Tom‘,1) 返回:4 |
LEN | 返回传递给它的字符串长度 |
SELECT LEN(‘SQL SERVER 课程‘) 返回:12 |
UPPER | 把传递给它的字符串转换为大写 |
SELECT UPPER(‘sql server 课程‘) 返回:SQL SERVER 课程 |
LTRIM | 清楚字符左边的空格 |
SELECT LTRIM(‘ 周志宇 ‘) 返回:周志宇 (后面空格保留) |
RIRIM | 清楚字符右边的空格 |
SELECT LTRIM(‘ 周志宇 ‘) 返回: 周志宇(前面空格保留) |
RIGHT | 从字符串右边返回指定书目的字符 |
SELECT RIGHT(‘机房贷款’,2) 返回:贷款 |
REPLACE | 替换一个字符串的字符 |
SELECT REPLACE(‘双方的奋斗‘,双,单) 返回:单方的奋斗 |
STUFF | 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 |
SELECT STUFF(‘123我的456’,4,5,‘他的‘) 返回:123他的456 |
(2)日期函数:
GETDATE | 取得当前的系统日期 |
SELECT GETDATE() 返回:今天的日期 |
DATEADD | 将制定的数值添加到指定的日期部分后的日期 |
SELECT DATEADD(mm,‘01/01/2009’) 返回:以当前的日期格式返回05/01/2009 |
DATEDIFF | 两个日期之间的指定日期部分的间隔 |
SELECT DATEDIFF(mm,‘01/01/2009’,‘05/01/2009‘) 返回:4 |
DATENAME | 日期中指定日期部分的字符串形式 |
SELECT DATENAME(dw,‘01/01/2000‘) 返回:Saturday或星期六 |
DATEPART | 日期中指定日期部分的整数形式 |
SELECT DATEPART(day,‘01/15/2000‘) 返回:15 |
注释:
year | yy,yyy |
quarter | qq,q |
month | mm,m |
day | dd,d |
dayofyear | dy,y |
week | wk,ww |
weekday | dw,w |
hour | hh |
minute | mi,m |
second | ss,s |
millisecond | ms |
(3)数学函数:
RAND | 返回从0到1之间的随机float数 |
SELECT RAND() 返回:0.79288062146374 |
ABS | 取数值表达式的绝对值 |
SELECT ABS(-43) 返回:43 |
CELING | 向上取整 |
SELECT CELING(43.5) 返回:44 |
FLOOR | 想下去整 |
SELECT FLOOR(39.8) 返回:39 |
POWER | 取数值表达式的幂值 |
SELECT POWER(5.2) 返回:25 |
ROUND | 将数值表达式四舍五入 |
SELECCT ROUND(43.543,1) 返回:43.500 |
SIGN | 对于正数返回+1,对于负数但会-1,对于0返回0 |
SELECT SIGN(-43) 返回:-1 |
SQRT | 取浮点表达式的平方根 |
SELECT SQRT(9) 返回:3 |
(4)系统函数:
CONVERT | 用来转变数据类型 |
SELECT CONBERT(VARCHAR(5),12345) 返回:字符串12345 |
由于系统函数不经常应用,再次不多做解释,如有疑问,可以留下你的问题哦!
模糊查询和聚合函数(也是一个小点点哦)
(1)通配符:它是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。
_ | 一个字符 |
% | 任意长度的字符串 |
[] | 括号中所指定范围内的一个字符 |
[^] | 不在括号中所指定范围内的任意一个字符 |
(2)使用LIKE进行模糊查询(自我总结:LIKE就是在一个字符串中去找有没有与条件相似的关键字,也就是说只要有我们要找的关键字在里面就行)
(3)使用BETWEEN在摸个范围进行查询(自我总计:BETWEEN的意思就是在---之间,顾名思义就是给定一个范围,在范围内查找)
(4)使用IN在例举值内进行查询:(自我总结:IN就是列举值必须与匹配的列具有相同的数据类型)
聚合函数:SUM()函数 AVG()函数 MAX()函数和MIN()函数 COUNT()函数
下面请大家睁亮双眼,因为我要把自己的诀窍秘诀传授给大家,一定要铭记在心!!!
SUM()函数:计算的是列的总和
AVG()函数:计算的是平均数
MAX()函数:计算的是最大值
MIN()函数:计算的是最小值
COUNT()函数:计算的是总和
分组查询:采用GROUP BY字句来实现。用于统计时经常使用分组查询!
sum()
count()
max() min()
avg()
一旦通过group by分组,那么我们只能获取组相关的信息,而不能获取组中成员的信息
在select只能跟聚合函数和group by后面的列,其他列不允许
where之后不能有聚合函数
关于C#中的查询方式到这里就要告一段落了,可能大家觉得有点绕,其实多看看多写写多思考思考,就可以想通。其实这里面也没什么门道。就是‘写’,熟能生巧!
看完我的总结可能还有不足之处,或有疑问之处。当然大家一定要提出来,以为也可以让我查漏补缺。所以有疑义还请大家多提提。
联系方式:QQ 499834993
邮箱:ay_nzz@163.com
标签:
原文地址:http://www.cnblogs.com/ay-nzz/p/ay_uzz.html