




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL基础知识总结
数据库概述
用自定义文件格式保存数据的劣势。
(大数据主要有以下几点弊端:
1.数据转化率低
2.存在隐私安全问题
3.数据真实性有待检验
4.数据对创新没有参考价值
)
(2)DBMS(DataBaseManagementSystem,数据库管理系统)和数据
库。
“数据库”可能有两种含义:
MSSQLServer,Oracle等某种DBMS;
存放一堆数据库的一个分类(CateLog)o
(3)不同品牌的DBMS有自己不同的特点:MYSQL,MSSQLServer,DB2,
Oracle,Access,Sybase等。对于开发人员来讲,大同小异。
(4)除了Access,SQLServerCE等文件型数据库之外,大部分数据
库都需要数据库服务器才能运行。
数据库中的概念
(1)CataLog(类)(又叫数据库DataBase,表空间TableSpace),
不同类的数据因该放到不同的数据库中。
1)便于对各个Catalog进行个性化管理
2)避免命名冲突
3)安全性更高
⑵Table(表);不同类型的资料放到不同的“格子”中,将这种区
域叫做"表”,不同的表根据放的数据不同进行空间的优化,找起来
也方便。
(3)列(Column),字段(Field)。
主键(Primarykey)
(1)主键就是数据行的唯一标示,不会重复的列才能当主键(唯一
性),一个表可以没有主健,但是会非常难以处理,因此没有特殊理
由表都会设定主键。
(2)主键有两种选用策略;业务主键和逻辑主键。
业务主键是使用有业务意义的字段做主键,比如身份证号,银行
账号等。
逻辑主键是使用没有任何业务意义的字段做主键,因为很难保证
业务主键不会重复(身份证号重复),不会变化(账号升位),因此
推荐用逻辑主键。
(3)逻辑主键:完全给程序看的,业务员不会看的数据。
SQLServer管理
(1)SQLServer的两种验证方式:
用户名验证和Windows验证,开发时用Windows验证就行了。
(2)常用字段类型:bit(可选值0,1),datetime,int,varchar,
nvarchar(可能含有中文用nvarchar)o
(3)varcharO,nvarchar().char(n)的区别:char(n)不足长度n的
部分用空格填充。Var:variable:可变的。
SQL语句入门
(1)SQL语句是和DBMS”交谈”专用的语句,不同DBMS都认SQL语
法。
(2)SQL语句中字符串用单引号(“)。
(3)SQL语句是大小写不敏感的,不敏感指的是SQL关键字,字符串
值还是大小写敏感。
(4)创建表,删除表不仅可以手工完成,还可以执行SQL语句来完
成,在自动化部署,数据导入中用的很多。
仓建表:createtableTable_name
删除表:droptableTable_name
(IDintnotnull,Namenvarchar(50),Ageintnull)
执行简单的Insert语句:
insertintoTable_name(ID,Name,Age)values(1,zx',39)
(6)*(熟悉):
SQL主要分DDL(数据定义语言)和DML(数据操作语言)两类:
数据插入
(1)insert语句可以省略表名后的列名,但是不推荐。Insertinto
Person2values('lucy','38')
(2)如果插入的行中有些字段的值不确定,那么insert的时候不指
定那些列即可。
(3)给字段可以设置默认值,如果Guid类型主键的默认值设定为
newidO就会自动生成,很少这样干:insertinto
person3(ID,Name,Age)values(newidO,?tom',30)
数据更新
(1)更新一个列:updateT_PersonsetAge=30
(2)更新多个列:updateTPersonsetAge=30,Name='Tom'
(3)更新一部分数据:updateTPersonsetAge=30whereName='
Tom,,用where语句表示只更新Name是'Tom,的行,注意SQL中
等于判断用单个二,而不是
(4)where中还可以使用复杂的逻辑判断:
updateT_PersonsetAge=30whereName='Tom,orAge<25.or
相当于C#中的||(或者)。
(5)where中可以使用的其他逻辑运算符是:or,and,not,<,>,>=,
<=,!=(或<>)等。
数据删除
(1)删除表中的全部数据:deletefromT_Persono
(2)delete只是删除数据,表还在,和droptable不同。
(3)delete也可以带where子句来删除一部分数据:deletefrom
T_PersonwhereFAge>30o
数据检索
(1)简单的数据检索:select*fromT_Employee<)
(2)只检索需要的列:selectFNamefromT_Employeeo
(3)列别名:selectFNumberas编号,FNameas姓名from
T_Employeeo
(4)还可以检索不与任何表关联的数据:select1+1,select
newld(),selectgetDate()o
数据汇总
(1)SQL聚合函数:max(最大值),min(最小值),avg(平均值),
sum(和),count(数量)。
数据排序
(1)orderby子句位于select语句的末尾,它允许指定按照一个列
或者多个列进行排序,还可以指定排序方式是升序(从小到大排序,
ASC)还是降序(从大到小排序,DESC)o
(2)按照年龄从大到小排序,如果年龄相同则按照工资从大到小排
序
select*fromT_EmployeeorderbyFAgeDesc,FSalaryDesc
(3)orderby子句要放到where子句之后:
select*fromT_EmployeewhereFAge>23orderbyFAge
Desc,FSalaryDesc
通配符过滤(模糊匹配)
(1)通配符过滤使用Likeo
(2)单字符匹配的通配符为半角下划线“.“,它匹配单个出现的字
符,以任意字符开头,剩余部分为”erry":
select*fromT_EmployeewhereFNamelike'_erry'
(3)多字符匹配的通配符为半角百分号“%",它匹配任意次数(零
或者多个)出现的任意字符,”K%"匹配以K开头,任意长度的字符
串。检索姓名中包含“n”的员工的信息:
select*fromT_EmployeewhereFNamelike'%n%'
空值处理
(1)数据库中,一个列如果没有指定值,那么值就为null,这个null
和C#中的null不一样,数据库中的null表示“不知道”,而不是
表示没有,因此selectnull+1结果是null,因为“不知道”加1
的结果还是"不知道”。
(2)select*fromT_Employeewhere
FName=nullandselect*fromT_Employeewhere
FName!=nullo都没有任何返回结果,因为数据库"不知道”。
(3)SQL中使用isnull,isnotnull来进行空值判断。
select*fromT_EmployeewhereFNameisnull
select*fromTEmployeewhereFNameisnotnull
多值匹配
(1)selectFAge,FNumber,FNamefromT_EmployeewhereFAge
in(34,23,35)
(2)范围值:
1)select*fromT_EmploeewhereFAge>=23andFAge<=27
2)select*fromT_EmployeewhereFageBetween23and27
数组分组
(1)按照年龄进行分组统计各个年龄段的人数:
selectFAge,Count(*)fromT_EmployeeGroupbyFage
(2)Groupby子句必须放在where语句的后面
(3)没有出现在Groupby子句中的列是不能放到select语句后的
列名列表中的(聚合函数除外)。
1)错误:selectFAge,FSalaryfromT_EmployeegroupbyFage。
2)正确:selectFage,Avg(FSalary)fromT_Employeegroupby
Fage。
Having子句
(1)在where中不能使用聚合函数,必须使用Having,Having要位
于Groupby之后。
selectFage,Count(*)as人数fromT_EmployeeGroupby
FAgeHavingCount(*)>1
(2)注意Having中不能不能使用为参数分组的列,Having不能代
替where,作用不一样,Having是对组进行过滤。
限制结果集行数
(1)selecttop5*fromT_EmployeeorderbyFSalaryDesc
(2)(*)检索按照工资从高到低排序检索从第六名开始一共三个人的
信息desc(降序)
selecttop3*fromT_EmployeewhereFNumbernotin(select
top5FNumberfromT_EmployeeorderbyFsalarydesc)orderby
FSalaryDesc。
(3)SQLServe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 维血宁颗粒论文
- 2024年投资咨询行业分析试题及答案
- 探秘2024年陪诊师考试试题及答案
- 2024年特许另类投资分析师法规与合规试题及答案
- 地震成因与分布特征试题及答案
- 2024年陪诊师考试知识要点归纳:试题及答案
- 电商数字营销渠道与效果分析试题及答案
- 二零二五年份3月闭口合同装修墙面挂网防裂标准
- 2024年普通话考试分项解析试题及答案
- 新手必看陪诊师考试试题及答案
- 多重耐药菌防控专家共识
- 教育家的师德情怀(终稿)课件
- 复变函数与积分变换全套课件
- 厂内机动车辆课件
- 学校食堂餐厨具操作规程
- DB32T 3916-2020 建筑地基基础检测规程
- 公务员登记表
- 自动控制原理全套课件
- 质量部KPI考核指标
- 肩关节镜下肩袖修补术的护理查房ppt
- 菠菜色素提取和分离
评论
0/150
提交评论