常用数据库复习资料


mast:

数据库控制SQL Server的所有方面。这个数据库中包括所有的配置信息、用户登录信息、当前正在服务器中运行的过程的信息。

model:数据库是建立所有用户数据库时的模板。当你建立一个新数据库时,SQL Server会把model数据库中的所有对象建立一份拷贝并移到新数据库中。在模板对象被拷贝到新的用户数据库中之后,该数据库的所有多余空间都将被空页填满。

tempdb数据库

tempdb数据库是一个非常特殊的数据库,供所有来访问你的SQL Server的用户使用。这个库用来保存所有的临时表、存储过程和其他SQL Server建立的临时用的东西。例如,排序时要用到tempdb数据库。数据被放进tempdb数据库,排完序后再把结果返回给用户。每次SQL Server重新启动,它都会清空tempdb数据库并重建。永远不要在tempdb数据库建立需要永久保存的表

msdb数据库:

msdb数据库是SQL Server中的一个特例。如果你查看这个数据库的实际定义,会发现它其实是一个用户数据库。不同之处是SQL Server拿这个数据库来做什么。所有的任务调度、报警、操作员都存储在msdb数据库中。该库的另一个功能是用来存储所有备份历史。SQL Server Agent将会使用这个库。

数据库管理系统和数据库系统的区别:

数据库管理系统(DBMS):是一个系统软件,比如说mysql sqlserver等。

数据库系统(DBS):是一个实际可运行的系统,可以对系统提供的数据进行存储、维护和应用。

--创建表

CREATE TABLE users

(

id INT ,

name VARCHAR(50),

age INT

)

--添加数据

SELECT * FROM users

INSERT INTO users VALUES(2,'张三1',13);

INSERT INTO users VALUES(4,'王五',12,'山西省吕梁市',DEFAULT);   --默认性别是男,年龄必须大于0小于100

--创建一个Student表

CREATE TABLE student

(

id INT ,

name VARCHAR(50),

age VARCHAR(50)

)

--将users表中的id name age 查询出来之后放在student表里面,其中student已经事先存在了

INSERT INTO student(id,name,age) SELECT id,name,age FROM users ;

SELECT * FROM student;

--将users表中的id name age address 查询出来放在新表studentinfo中,其中studentinfo事先不存在

SELECT id,name,age,address INTO studentinfo FROM users;

SELECT * FROM studentinfo;

--给studetninfo表里面一次插入多条记录

INSERT INTO studentinfo VALUES(5,'张无',45,'山东省济南市'),

(6,'张无1',45,'山东省济南市1'),

(7,'张无2',42,'山东省济南市2'),

(9,'张无3',78,'山东省济南市3')

SELECT * FROM studentinfo;

--修改users的信息,将张三的性别修改成女

SELECT * FROM users;

UPDATE users set sex='女' WHERE name='张三'

--删除张三1

DELETE FROM users WHERE name='张三1'

--查询--使用别名AS

SELECT id AS '编号',name AS '姓名',age AS '年龄' FROM users

--使用别名.

SELECT id  '编号',name  '姓名',age  '年龄' FROM users

--合并两列数据

SELECT name+'.'+address FROM studentinfo;

--查询空行

INSERT INTO users (id,name,age) VALUES(5,'王宝宝',15);

SELECT * FROM users;

SELECT * FROM users WHERE address is null;

--查询前3行

SELECT top 2 * FROM users;

--按照百分数查询

SELECT top 10 percent * FROM users;

--按年龄排序(升序),编号降序

SELECT * FROM users order by age ASc,id desc;

--查询m在My Jbns Course里面出现的位置

SELECT CHARINDEX('m','My Jbns Course')

--查询My Jbns Course的长度

SELECT len('My Jbns Course')

--把传递给他的字符串转换成大写

SELECT UPPER('my is father');

--清除字符左边的空格

SELECT ltrim('     你是谁      ')

--清除字符右边的空格

SELECT rtrim(' 你是谁      ')

--从字符串右边返回指定的字符,4代表截取几个字符

SELECT RIGHT('买卖提5吐尔松',4)

--替换一个字符串中的字符:把(我)替换成(你)

SELECT replace('我是谁','我','你')

--在一个字符串中,删除指定长度的字符,并在改位置插入一个新字符,1是从第一个开始,5是截取5个

SELECT stuff('abcdefg',1,5,'明朝的皇帝是谁?')

--日期函数--取得系统当前的日期

SELECT getdate()

--将指定的数值添加到指定的日期部分后的日期(yy:年,mm:月,dd:日,5代表加的数字)

SELECT DATEADD(yy,5,'01/01/2009')

--两个日期中指定日期的间隔(yy:年,mm:月,dd:日,输出一个整型)

SELECT DATEDIFF(yy,'2017-05-08','2019-05-04')

--日期中指定日期部分的字符串形式(yy:年,mm:月,dd:日,输出一个字符串:星期六)

SELECT datename(dw,'2015-05-09')

--日期中指定日期部分的整数形式

SELECT datepart(day,'2014-05-09')

--数学函数

--返回0-1之间的随机数float值

SELECT rand()

--取大于或等于指定数值、表达式的最小整数

SELECT ceiling(45.6)

--取数值表达式的绝对值

SELECT abs(-8)

--取小于或等于指定数值、表达式的最大整数

SELECT floor(32.8)

--取数值表达式的幂值(5的2次方)

SELECT power(5,2)

--取数值表达式四舍五入为指定的精度(2代表保留2位,其余的都是0)

SELECT round(3.1415926,2)

--对于正数返回+1,对于负数返回-1,对于0则返回0

SELECT sign(-1)

--取浮点表达式的平方根

SELECT sqrt(9)

--系统函数

--用来转变数据类型

SELECT CONVERT (VARCHAR (5),12345)

--返回当前用户的名字

SELECT CURRENT_USER

--返回用于指定表达式的字节数

SELECT DATALENGTH ('中国A联盟')

--返回当前用户所登录的计算机名字

SELECT HOST_NAME()

--返回当前所登录的用户名称

SELECT SYSTEM_USER

--从给定的用户ID返回用户名

SELECT USER_NAME(1)

--案例--某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:--卡里面的字母“O和数字0”、“字母i和数字1”,用户反映说看不清楚,--公司决定,把存储在数据库中的密码中所有的“O”都改成“0”,把所有的“i”都改成“1”;

UPDATE Card SET PassWord = REPLACE(PassWord ,'O','0')

UPDATE Card SET PassWord = REPLACE(PassWord ,'i','1')

--使用函数更加简便

UPDATE  Card 

SET PassWord = REPLACE(REPLACE(PassWord ,'O','0'),'i','1')

--在数据库表中有以下字符数据,如:-- 13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、13-15、14-1、14-2--现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排序,输出要排成这样:-- 13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2

SELECT ListNumber

FROM    SellRecord

ORDER BY 

CONVERT(int, LEFT(ListNumber, CHARINDEX('-', ListNumber)-1)),

CONVERT(int, STUFF(ListNumber,1, CHARINDEX('-', ListNumber), ''))

--年满20周岁的条件

DATEDIFF(DD,BornDate, GETDATE())>=365*20 

--获取Email的域名

RIGHT(Email, LEN(Email) - CHARINDEX('@',Email) )

--获取当前日期的年、月、日

CONVERT(VARCHAR(4), DATEPART(YYYY,GETDATE()))

--获取4位随机数

RIGHT(RAND(),4) 

select * from students

select * from score

select * from course

--按年级查询学生人数

select count(*) 人数,sgrade 年级 from students group by sgrade

--多列分组,统计每学期男女学生的人数

select count(*) 人数,sgrade,ssex from students group by sgrade,ssex 

--查询总人数超过15的年级

select count(*) 人数 ,sgrade 年级 from students group by sgrade having count(*)>=2

---连接查询

select * from Students a join score b on a.SCode = b.Score join  course c on b.CourseID = c.CourseID

--左外链接查询

SELECT S.SName,C.CourseID,C.Score 

FROM Students AS S

LEFT JOIN Score AS C

ON C.StudentID = S.SCode

--右外链接查询--左外联接是以左表为基础的,左表的记录将会全部表示出来,--而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL

SELECT S.SName,C.CourseID,C.Score 

FROM Students AS S

right JOIN Score AS C

ON C.StudentID = S.SCode

感谢您抽出  · 来阅读此文

更多精彩请点击【阅读原文】哦

↓↓↓

长按二维码关注我们,

1111的博客,一个有用

的公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java:comp/env/讲解与JNDI

转载自 "Java:comp/env/"讲解与JNDI 我们在使用JNDI调用某个对象时,会有下述两种方式 context.lookup(“java:comp/env/XXX”) context.lookup(“XXX”) context.lookup(“java:comp/env/XXX”)只能用在J2EE环境,如果你自己写一个main函数…

利用 Azure Functions 实现无服务器体系结构

从工具到机器再到计算机,我们一直在寻找能够自动执行重复工作并让我们所处理的上下文规范化的方法,以便我们可以将重心放在做出高价值的专业化贡献上,从而完成任务并解决问题。 与此同时,很显然,随着 IT 产业的不断发展…

2020蓝桥杯省赛---java---C---3( 跑步训练)

题目描述 代码实现 方式一 方式二 package com.atguigu.lanqiao;public class Main {public static void main(String[] args) {int target10000;int count0;boolean flagtrue;//判断此次是否需要跑步while (true){//如果小于600体力并且需要跑步,证明这一分钟跑…

python 找色点击_Python实现按键精灵(二)-找图找色

一、实现功能判断在指定坐标范围内,是否存在相似度大于n的图片,并返回坐标。二、基本思路A你需要寻找的图片B截取当前页面中指定范围的图片利用opencv 判断A在B中的位置,在该位置截取与A图同大小的图片C对比图片C与图片A的相似度三、实现的代…

Numeral.js数字格式化

翻译自 Numeral.js 用它 在浏览器中 <script src"numeral.min.js"></script> 或者引用从cdnjs.com <script src"http://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script> 在Node.js中 npm inst…

sqlserver中常用的几个存储过程

sqlserver中的存储过程&#xff0c;何为存储过程呢&#xff1f; 存储过程&#xff08;Stored Procedure&#xff09;是在大型数据库系统中&#xff0c;一组为了完成特定功能的SQL 语句集&#xff0c;存储在数据库中&#xff0c;经过第一次编译后再次调用不需要再次编译&#x…

java枚举类定义性别_Java 枚举类和自定义枚举类和enum声明及实现接口的操作

1.枚举类注&#xff1a;JDK1.5之前需要自定义枚举类JDK 1.5 新增的 enum 关键字用于定义枚举类若枚举只有一个成员, 则可以作为一种单例模式的实现方式1.枚举类的属性1、枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰2、枚举类的使用 private final 修饰的…

2020蓝桥杯省赛---java---B---4( 合并检测)

题目描述 思路分析 假设A国有n个人&#xff0c;感染者有n/100 每k个人一组&#xff0c;共n/k组&#xff0c;共用n/k瓶试剂 按照最坏的情况&#xff0c;每多出一个感染者就多用k瓶试剂&#xff0c; 因此共用n/k(n/100)*k瓶试剂 n是定值&#xff0c;所以求(1/kk/100)最小 由于ab…

visual studio 2017发布dotnet core到docker

docker的好处不用多说&#xff0c;有不了解的可移步《docker入门》&#xff0c;作为一个.net方面的老鸟也想早点搭上docker末班车&#xff0c;减少布署中的各种坑。以下我是在Visual Studio 2017正式版发布后&#xff08;其实VS2015也是可以的&#xff09;&#xff0c;完全跑起…

URLSearchParams 接口

转载自 URLSearchParams 接口 URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法。 基本使用方法如下 var paramsString "qURLUtils.searchParams&topicapi" // location.search.slice(1) var searchParams new URLSearchParams(paramsString);s…

JDK环境变量配置

1.变量名&#xff1a; JAVA_HOME 变量值&#xff1a;&#xff08;变量值填写你的jdk的安装目录&#xff0c;例如本人是 E:\Java\jdk1.8.0&#xff09;2.变量名&#xff1a; Path 变量值&#xff1a; ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;3.变量名&#xff1a; CLASSPATH 变量…

2020蓝桥杯省赛---java---B---5( REPEAT 程序)

题目描述 【问题描述】附件 prog.txt 中是一个用某种语言写的程序。其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达&#xff0c;从次行开始连续的缩进比该行多的&#xff08;前面的空白更长的&#xff09;为循环包含的内容。例如如下片段&#xff1a;REPEA…

java oschina_简单说说 OSChina 的技术架构

OsChina.NET 这个域名是在去年 08年8月16日申请的&#xff0c;然后花了不足一个月的时候开发了第一个版本的OsChina&#xff0c;包含有项目展示、新闻、后台管理、会员注册等功能&#xff0c;以后的每次的改进就没那么集中&#xff0c;有空的话就完善完善一直到今天&#xff0c…

强势解析 eBay BASE 模式、去哪儿及蘑菇街分布式架构

互联网行业是大势所趋&#xff0c;从招聘工资水平即可看出&#xff0c;那么如何提升自我技能&#xff0c;满足互联网行业技能要求&#xff1f;需要以目标为导向&#xff0c;进行技能提升。 本文主要针对分布式系统设计、架构(数据一致性)做了分析&#xff0c;祝各位早日走上属于…

MySQL sum()函数

转载自 MySQL sum()函数 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和&#xff0c;SUM()函数的语法如下&#xff1a; SUM(DISTINCT expression)SUM()函数是如何工作的&#xff1f; 如果在没有返回匹配行SELECT语句中使用SUM函数&#xff0c;则SUM函数返回…

利用老毛头启动盘重装win7

注意&#xff1a;请不要跟着本教程一步一步的做&#xff0c;要先看一遍 1&#xff0e;安装win7安装 安装win7系统所需材料&#xff1a; 老毛桃PE系统 下载地址&#xff1a;http://www.laomaotao.tv/如使用其它PE系统也是一样&#xff0c;这里我用老毛桃为例 Win系统镜像…

2020蓝桥杯省赛---java---B---6(分类计数)

题目描述 思路分析 把字符串转换成字符数组 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.next();char[] temp str.toCharArray();int…

MySQL min()函数

转载自 MySQL min()函数 MySQL MIN函数 MIN()函数返回一组值中的最小值。MIN()函数在某些情况下非常有用&#xff0c;例如找到最小的数字&#xff0c;选择最便宜的产品&#xff0c;获得最低的信用额度等。 以下说明MIN()函数的语法&#xff1a; MIN(DISTINCT expression);…

使用 C# 运行符号测试

若有需前后对比的数据&#xff0c;且要确定某种效果是否有统计依据&#xff0c;最常使用的是符号检验。通过举例可以很好地解释这个原理。 假设你在一家制药公司工作&#xff0c;想要确定一种新型减肥药是否有效。你找来八名志愿者服用这种减肥药长达几周的时间。观察八名实验对…

程序人生

在大家眼里程序员是什么样子的呢&#xff1f;是每天不分日夜的在打代码&#xff1f;还是忙来忙去的帮着被人修电脑&#xff0c;调路由器&#xff1f;还是&#xff1f;或者&#xff1a;哈哈哈&#xff0c;作为一个程序员&#xff0c;我是这样的&#xff1a;下班之后先做饭&#…