admin管理员组文章数量:1794759
sqlserver学习
目录 第6章 程序数据集散地:数据库 第7章 用表组织数据 第8章 用SQL语言操作数据 第9章 数据查询基础 第10章 模糊查询和聚合函数 第11章 连接查询和分组查询 第6章 程序数据集散地:数据库 分离附加数据库
分离
分离数据库是从服务器中移去逻辑数据库,但不会删除数据库文件:附加数据库将会创建一个新的数据库,并使用已有的数据库文件和事务日志文件中的数据。
分离数据库后,D:\\Program Files\\Microsoft SQL Server\\MSSQL11.MSSQLSERVER\\MSSQL\\DATA文件夹下面增加了两个文件:ldgxdb.mdf和ldgxdb_log.ldf
附加数据库
选择刚才的文件,操作成功后,可以看到数据库ldgxdb又显示在对象资源管理器中。
备份还原数据库备份数据库
备份完数据库后
D:\\Program Files\\Microsoft SQL Server\\MSSQL11.MSSQLSERVER\\MSSQL\\Backup\\ldgxdb.bak
还原数据库
收缩数据库
通过收缩所有数据库文件释放未使用的空间,可以减少数据库的大小。若要收缩单个数据库文件,请使用“收缩文件”。
生成脚本
第7章 用表组织数据 7.1表相关的几个概念
7.1.1数据完整性 为了实现完整性,数据库需要做以下两方面的工作 (1)检验每行数据是否符合要求 (2)检验每列数据是否符合要求 1.实体完整性约束 要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。 通过索引,唯一约束,主键约束或标识列属性,可以实现表的实体完整性。这些方法的实现将在后面说明 2.域完整性约束 指的是给定列输入的有效性。 通过限制数据类型,检查约束,输入格式,外键约束,默认值,非空约束等多种方法,可以实现表的域完整性。 3.引用完整性约束 在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系。 4.自定义完整性约束 用户自定义完整性用来定义特定的规则。例如.在向用户信表中插入一个用户记录时,要求通过身份证编号来检查在另外一个数据库中是否存在该用户,并且该用户的信誉度是否满足要求,等等。若不满足要求,则不能够插入,这个时候就需要使用数据库的规则,存储过程等方法来进行约束。 7.3完善表的设计结构 7.3.1是否允许为空值 选中表,点击右键,选择“设计” 7.3.2建立主键 点击右键,“设置主键” 7.3.3默认值 7.3.4识别列 7.3.5向表中插入数据
7.5建立表间的关系
ALTER TABLE [dbo].[Zonghe2] WITH CHECK ADD CONSTRAINT [FK_Zonghe2_Zonghe2] FOREIGN KEY([SubjectId]) REFERENCES [dbo].[Subject2] ([SubjectId]) 7.6 建立检查约束
check约束表达式
score>0 and score<100
smail like '%@%'
第8章 用SQL语言操作数据第9章 数据查询基础
9.1.2使用select 语句进行查询
9.3在查询中使用函数
字符串函数
-- 寻找一个指定的字符串在另一个字符串中的起始位置 -- 运行结果:3 select CHARINDEX('a','ssadd',1); -- 返回传递给它的字符串长度 -- 运行结果:6 select LEN('劳动关系学校'); -- 把传递给它的字符串转换为大写 -- 运行结果:SQL SERVER课程 select UPPER('sql server课程'); -- 清除左边的空格 -- 运行结果:[劳动关系学校 ] select concat('[',LTRIM(' 劳动关系学校 '),']'); --清除右边的空格 -- 运行结果:[ 劳动关系学校] select concat('[',RTRIM(' 劳动关系学校 '),']'); --替换一个字符串中的字符 -- 运行结果:1二三四 select REPLACE('一二三四','一','1'); --在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 -- 运行结果:A我的音乐我的世界EFG select STUFF('ABCDEFG',2,3,'我的音乐我的世界'); 日期函数 --获取当前的系统日期 -- 运行结果:2018-01-29 11:04:33.730 select GETDATE(); --将指定的数值添加到指定的日期部分后的日期,mm:日期部分的month -- 运行结果:2009-05-01 00:00:00.000 select DATEADD(mm,4,'01/01/2009'); --两个日期之间的指定日期部分的间隔 -- 运行结果:4 select DATEDIFF(mm,'01/01/2009','05/01/2009'); --日期中指定日期部分的字符串形式,dw:日期部分的weekday -- 运行结果:星期六 select DATENAME(dw,'01/01/2000'); --日期中指定日期部分的整数形式,day:日期部分中的day -- 运行结果:15 select DATEPART(day,'01/15/2000');数学函数
--数学函数 -- 返回从0到1之间的随机float值 -- 运行结果:0.064468287757367 select RAND(); --取数值表达式的绝对值 -- 运行结果:43 select ABS(-43); --取大于 或等于指定数值,表达式的最小整数 -- 运行结果:44 select CEILING(43.5) --取小于或等于指定表达式的最大整数 --运行结果:43 select FLOOR(43.5) --取数值表达式的幂值 --运行结果:25 select POWER(5,2); --取数值表达式四舍五入为指定精度 --运行结果:43.500 select ROUND(43.543,1); --对于正数返回+1,对于负数返回-1,对于0则返回0 --运行结果:-1 select SIGN(-43) --取浮点表达式的平方根 --返回结果:3 select SQRT(9);系统函数
--用来转变数据类型 --返回结果:12345 select CONVERT(VARCHAR(5),12345); --返回当前用户的名字 --返回结果:dbo select CURRENT_USER; --返回用于指定表达式的字节数 --返回9 select DATALENGTH('中国A联盟'); --返回当前用户所登录的计算机名字 --返回结果:IDXZC2FNKSQOYM6 select HOST_NAME(); --返回当前所登录的用户名称 --返回结果:sa select SYSTEM_USER; --从给定的用户ID返回用户名 --返回结果:dbo select USER_NAME(1); 第10章 模糊查询和聚合函数10.1模糊查询
通配符
--_一个字符 select * from sel where a like 'S110100_'; --% 任意长度的字符串 --[]括号中所指定范围内的一个字符 select * from sel where a like 'S110100[0-5]'; --[^]不在括号中所指定范围内的一个字符 select * from sel where a like 'S110100[^0-5]';10.2 T-SQL中的聚合函数
-- sum返回表达式中所有数值的总和,空值将被忽略,只能用于数字类型的列 --avg函数返回表达式中所有数值的平均值,空值将被忽略。只能用于数字类型 select SUM(f) as 总值, AVG(f) as 平均值,MAX(f) as 最大值,MIN(f) as 最小值,COUNT(f) as 数量 from sel; 第11章 连接查询和分组查询
本文标签: sqlserver
版权声明:本文标题:sqlserver学习 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687061791a130847.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论