设为首页 收藏本站
查看: 1255|回复: 0

[经验分享] 21. SQL -- TSQL架构,系统数据库,文件,SQL 认证,TSQL语句

[复制链接]

尚未签到

发表于 2018-10-23 08:41:07 | 显示全部楼层 |阅读模式
  T-SQL 运行架构:
DSC0000.jpg

  数据
  Master:master 数据库记录SQL Server 系统的所有系统级信息。主要包括实例范围的元数据、端点、链接服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息
  Model: 提供了SQL Server 实例上创建的所有数据库的模板
  Msdb: 主要由 SQL Server 代理用于计划警报和作业
  Tempdb: tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例的所有用户使用,并可用于保存显式创建的临时用户对象、SQL Server 数据库引擎创建的内部对象,行版本数据等
  
  SQL 文件:
  SQL Server 数据库具有三种类型的文件:
  A、主数据文件(行数据文件):主数据文件是数据库的起点,指向数据库中的其他文件。每个数据库都有一个主数据文件。主数据文件的推荐文件扩展名是 .mdf。
  B、次要数据文件(行数据文件):除主数据文件以外的所有其他数据文件都是次要数据文件。某些数据库可能不含有任何次要数据文件,而有些数据库则含有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
  C、日志文件(记录数据变化的过程):日志文件包含着用于恢复数据库的所有日志信息。每个数据库必须至少有一个日志文件,当然也可以有多个。日志文件的推荐文件扩展名是 .ldf。
  文件名:分逻辑名及物理名
  文件组的概念:
  任何一个行数据文件必须属于一个文件组
  文件组是一个管理单位,一个文件组下有多个文件
  SQL 认证方式:
  1)、WINDOWS 身份认证
  2)、WINDOWS 和SQL 混合身份认证
  常用T-SQL 语句复习:
  1)、查询6 月11日后所有打卡记录
  select *
  from TimeRecords
  where sign_time > '2011-06-11'
  2)、查询7 月13日的所有打卡记录
  select *
  from TimeRecords
  where CONVERT (char(10),sign_time,121)= '2011-07-13'
  3)、使用运算符
  select N'firstname '+N' lastname'
  使用N:强制为Unicode(即一个英文字母占用2 个字节)
  4)、使用函数DATEADD,在当前时间加一天:
  select getdate()
  select DATEADD (DAY,1,GETDATE())
  GETADD:取当前时间
  day:时间元素,可为year,month,hour 等
  1:需增加的数
  例:
  select DATEADD (DAY,1,GETDATE())
  select DATEADD (year,1,getdate())
  select DATEADD(month,1,getdate())
  5)、使用函数:datediff,取2 个日期之间折指定日期部分的区
  select DATEDIFF(year,'2011-09-9','2002-09-09')
  year:时间元素,即取两个日期间年的差距
  例:
  select DATEDIFF (day,'2011-02-09','2030-09-09')
  6)、使用函数:datename,返回日期中指定
  select DATENAME (year,'2011-01-08')
  select DATEPART (month,'2009-08-09')
  7)、使用函数ABS:取绝对值
  select ABS(5)
  select ABS (-5)
  8)、使用函数LOWER:返回指定字母的小写
  select LOWER ('ABCd')
  9)、使用函数UPPER:返回指定字母的大写
  select UPPER ('abCd')
  10)、使用函数round: 从指定位数返回指定数值的四舍五入
  select ROUND (34.3545,2)
  select ROUND (34.3545,1)
  10)、select 语句高级应用:
  A、查询6 月11日有多少条打卡记录
  select COUNT(sign_time)
  from TimeRecords
  where CONVERT (char(10),sign_time,121) = '2011-06-11'
  B、查询6 月11日最晚及最早打卡记录
  select MAX(sign_time)
  from TimeRecords
  where CONVERT (char(10),sign_time,121) = '2011-06-11'
  select MIN(sign_time)
  from TimeRecords
  where CONVERT (char(10),sign_time,121) = '2011-06-11'
  C、查询6 月11日每人打卡次数
  select emp_id,COUNT(sign_time)
  from TimeRecords
  where CONVERT (char(10),sign_time,121) = '2011-06-11'
  group by emp_id
  D、查询6 月11日至6 月15日每天打卡记录汇总
  select CONVERT (char(10),sign_time,121) as [time],COUNT(sign_time) as con
  from TimeRecords
  where CONVERT (char(10),sign_time,121)>= '2011-06-11'
  and CONVERT (char(10),sign_time,121) = '2011-06-11'
  and sign_time = '2011-06-11'
  and CONVERT (char(10),sign_time,121) = '2011-06-11'
  and sign_time

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625211-1-1.html 上篇帖子: SQL注入问题 :概念成因和防御 下篇帖子: C#、SQL server数据库的连接、增、删、改、查等操作的类
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表