热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【原创】sqlserve2008笔记

分离数据库:在要分离的数据库上左击,选择“任务”---》“分离”修改数据库名:execsp_renamedb原数据库名称,想

分离数据库:
在要分离的数据库上左击,选择“任务”---》“分离”
修改数据库名:
exec sp_renamedb 原数据库名称,想要改成的数据库名称
exec 是执行的意思;
sp_renamedb 是一个函数;
或:
alter database 原数据库名 modify name 要改的数据库名
删除数据库:
drop database 数据库名称
删除多个数据库:
drop database 数据库名称1,2
创建数据库:
create database mydatabase
on
(//创建数据库的数据库文件
name=mydatabase_data,
filename='d:\sqlserve\mydatabase_data.mdf'
size=6,
maxsize=20,//最大尺寸
filegrowth=10%
)
log on
(//创建数据库的日志文件
name=mydatabase_log,
filename='d:\sqllserve\mydatabase_log.ldf'/不用和数据库文件放在同一目录/
size=2,
maxsize=10,
filegrowth=10%
)
创建数据表:
use 数据库名称
create table 要创建的数据表名称
(
各个表内的属性和它们的数值类型,
)
浏览数据表的记录:
select * from 数据表名称
要查询指定属性的数据:
select 要查询的属性(多个用逗号分开)from 数据表名称
显示前多少行:
select top(行数)* from 数据表名称
增加数据库文件和日志文件:
alter database 数据库名称
add file //增加数据库文件
(
数据库文件的属性。。。。。
)
add log file//增加日志文件
(
数据库文件的属性。。。。
)
删除数据库的内部文件:
alter database 数据库名称//取得数据库权限
remove 内部文件名(不需要写后缀名)
修改数据表名称:
exec sp_rename "原表名","要改名"
修改数据表数据:
增加属性:
use 数据库名称
alter table 数据表名称
add 属性字段 数据类型
default 设置默认值:
default ‘默认值内容’
修改属性字段的数值类型:
use 数据库名称
alter 数据表名称
alter column 属性字段 要修改的数值类型//column 是列的意思。
删除字段:
use 数据库名称
alter 数据表名称
drop column 要删除的字段
插入记录:
use 数据库名称
insert into 数据表名称(要插入的字段) values(各字段的值(字符文本等非数值类型用单引号引起))

插入完整记录时,不用写字段。
收缩数据库:
数据库--》右击---》收缩 文件或数据库
复制数据库:
数据库--->右击--->任务
数据库快照:
创建数据库快照:
create database 数据库快照名称
on
{
数据库文件属性设置
}
。。。。。。。。
AS SNAPSHOT OF 要进行快照操作的数据库名

从快照数据库中恢复数据库文件:
restore database 原数据库名
from database_SNAPSHOT='快照数据库名'
数据表的分类:
1.系统表
2.用户表
3.分区表
4.临时表
规则

创建规则:
create rule 规则名
as
规则条件 //句子须以@开头

for example:
&#64;sss&#xff08;数据类型名&#xff09;>&#61;20 and &#64;sss<&#61;120

绑定规则&#xff1a;
用存储过程Sp_bindrule 绑定规则
存储过程Sp_bindrule 可以绑定一个规则到表的一个列或一个用户自定义数据类型上。其语法如下&#xff1a;
sp_bindrule [&#64;rulename &#61;] &#39;rule&#39;, [&#64;objname &#61;] &#39;object_name&#39; [, &#39;futureonly&#39;]
各参数说明如下&#xff1a; [&#64;rulename &#61;] &#39;rule&#39; 指定规则名称。
[&#64;objname &#61;] &#39;object_name&#39; 指定规则绑定的对象&#xff08;列或用户自定义数据类型&#xff09;。 &#39;futureonly&#39;
此选项仅在绑定规则到用户自定义数据类型上时才可以使用。当指定此选项时&#xff0c;仅以后使用此用户自定义数据类型的列会应用新规则&#xff0c;而当前已经使用此数据类型的列则不受影响
解除规则绑定&#xff1a;
sp_unbindrule 绑定的列或自定义数据类型
删除规则&#xff1a;
drop rule 规则名&#xff08;删除规则前须解绑规则&#xff09;

创建视图&#xff1a;
create view 视图名
as
条件

for eample&#xff1a;
create view V_view
as
select a.班级&#xff0c;a.年龄&#xff0c;b.姓名
from 表名1 a&#xff0c;表名2 b //定义a&#xff0c;b
where a.所属班级&#61;b.班级编号
修改视图&#xff1b;
alter view 视图名
as
select 。。。。。
from 。。。。。
where/on 。。。。// 从新定义视图
修改视图数据&#xff1a;
与修改表格式相同&#xff1b;
索引
创建索引&#xff1a;
create 索引关键字 index 索引名称
on
表名/视图名&#xff08;列名&#xff09;
注&#xff1a;索引关键字包括&#xff1a;
[ CLUSTERED | NONCLUSTERED ]
聚集索引的区别
  聚集索引:物理存储按照索引排序
  非聚集索引:物理存储不按照索引排序&#xff08;多列须创建该索引&#xff09;
优势与缺点&#xff1a;
聚集索引&#xff1a;插入数据时速度要慢&#xff08;时间花费在“物理存储的排序”上&#xff0c;也就是首先要找到位置然后插入&#xff09;,查询数据比非聚集数据的速度快
删除索引&#xff1a;
drop index 表名.索引名
架构
创建架构&#xff1a;
可视化操作&#xff1b;
安全性---》架构

create schema 架构名 authorization 数据库名&#xff08;角色名&#xff09;
select语句
select语句&#xff1a;
select 列
【into 表名 //把查询的信息插入到其他表中】
from 表名
【where 查询条件】 //例如&#xff1a;性别&#61;‘男’
group by
having
【order by 】 //排序

SQL SELECT DISTINCT&#xff1a;

返回字段中所有非重复项&#xff0c;如&#xff1a;性别中有几十个汉族和几

十个回族&#xff0c;则返回汉族和回族
for example&#xff1a;
select distinct 列 from 。。。。。

where 查询条件

多条件要使用and/or/like 等关键字

like实例&#xff1a;
属性名 like 字段1 可以添加通配符来辅助搜索 //li
ke表示属性中包含字段1的
所用项。
通配符
的使用&#xff1b;
表示可以是任何字段。
for example&#xff1a;
商丘
表示商丘某某
商丘 表示某某商丘
商丘* 表示某某商丘某某
排序order by&#xff1a;
order by 属性名 asc/desc &#xff08;可多个&#xff09; //默认升序&#xff08;asc&#xff09; 降序&#xff08;desc&#xff09;
for example&#xff1a;
order by 属性名1 asc&#xff0c;属性名2 desc
avg&#xff08;属性名&#xff09; 为该属性的所有值求平均数。
分组&#xff1a;
select 课程标号&#xff0c;avg&#xff08;分数&#xff09;from 成绩表 where 考试标号&#61;‘00010’ group by 课程标号
//该sql语句的意思的是&#xff1a;从成绩表中选取考试编号为00010的数据&#xff0c;然后按照课程编号进行分组&#xff0c;统计各组的平均分。
如果修改为这样的语句&#xff1a;
group by rollup/cube(课程编号)
//表示统计完各组的平均数后&#xff0c;再加一行统计总的平均数。
rollup 表示统计的量不集中&#xff0c;各自在分统计的后面列出。
cube 表示统计的量集中&#xff0c;都在最后面后面列出。
函数&#xff1a;
//select max&#xff08;属性名&#xff09; from 。。。。
max&#xff08;&#xff09; 最高数
min&#xff08;&#xff09; 最小值
sum&#xff08;&#xff09; 和
top 数字 //前几个数据
having子句&#xff08;只有句子中包含group by 时才可使用&#xff09;&#xff1a;
为各组的统计数据提供筛选&#xff1b;
select 课程标号&#xff0c;avg&#xff08;分数&#xff09;from 成绩表 where 考试标号&#61;‘00010’ group by 课程标号 havig avg&#xff08;分数&#xff09;>&#61;90
//从成绩表中选取考试编号为00010的数据&#xff0c;然后按照课程编号进行分组&#xff0c;统计各组的平均分大于90的组。
插入数据insert 语句&#xff1a;

insert 。。。select语句&#xff1a;
insert 数据表【&#xff08;列名&#xff09;】 select 属性名 from 数据表 where。。。 。。。
select。。。into语句&#xff1a;
select 列名 into 新数据表名 from 数据表 where。。。

临时表&#xff1a;
表名前加#或##
update语句&#xff1a;
update 【top】表名 set 属性名&#61;‘值’&#xff08;可多个&#xff09; where。。。
forexample&#xff1a;
update 学生信息 set 姓名&#61;‘李军’&#xff0c;学号&#61;‘000123’ where 姓名&#61;‘李明’
//更新学生信息表中李明的姓名为李军&#xff0c;学号为000123&#xff1b;
update。。set。。from语句&#xff1a;
delete语句&#xff1a;
deletd from 数据表
top语句&#xff1a;
top number/number percent * from 。。。

声明变量&#xff1a;
declare 变量名 数据类型名
set 变量名&#61;某某
select &#xff08;变量名&#xff09; percent * from 。。。
基本连接
基本规则&#xff1a;

1&#xff0c;select 子句列表中&#xff0c;每个目标列前都要加上基表名称 //表名。列名
2&#xff0c;from子句应包括所有使用的基表 //可以使用字母代替
3&#xff0c;where子句应定义一个同等连接
内连接&#xff1a;
select 列名
from 表名 join 表名 【on 等值连接条件 //与where功能相似】 //join表示两基表进行了内连接
where 。。
order by 。。。

内连接与基本连接功能相同&#xff0c;但表现形式不同
外连接&#xff1a;
有主表与从表之分&#xff0c;用主表去匹配从表&#xff0c;主表中没用匹配的行依然返回&#xff0c;从表的值用空值表示。

在外连接中&#xff0c;限制条件在on/where 有区别
在where中控制基表 &#xff08;较多使用&#xff09;&#xff0c; on不控制基表

左外连接&#xff1a;
left join
join左边的为主表

右外连接&#xff1a;
right join
join右边的为主表

全连接&#xff1a;
full join
没有主表与次表之分&#xff0c;两表相互匹配&#xff0c;没有的都用null填充
交叉连接&#xff1a;
不带where子句&#xff0c;返回笛卡尔积
select 列名
from table1 cross join table2
自连接&#xff1a;
在一个表中连接
select lists
from 表1 字母&#xff0c;表1 字母
where 限制条件
联合查询&#xff1a;
select lists
from 。。
where
union 【all //显示省略的数据】
select 。。
from。。。
where。。
子查询&#xff1a;
在&#xff08;&#xff09;中&#xff0c;
select 。。。
from 。。
where 姓名&#61;&#xff08;select 姓名 from 。。。&#xff09;
exists关键字查询&#xff1a;
select 。。。
from 。。。
where exists

在if也可以
if exists 。。。
except差查询&#xff1a;
select 。。from&#xff0c;&#xff0c;。。。
except
select 。。from 。。。
//两个查询结果做差计算&#xff0c;去除前查询中存在的后查询中的内容并返回结果。

交查询&#xff1a;
两表中的交叉结果&#xff0c;两个查询语句中间添加intersect关键字。
xml查询&#xff1a;
sqlcmd工具&#xff1a;
sqlcmd -s 服务器名 //连接服务器&#xff0c;返回1为连接成功。
use 数据库名
go
支持t-sql语句。
sqlcmd -&#xff1f; //查询连接用法
声明变量&#xff1a;
declare &#64;变量名 数据类型
set &#64;变量名&#61;。。//对变量进行赋值&#xff08;使用select &#64;变量名 from 。。 语句也可以&#xff09;。
/ //除法运算&#xff0c;如果两个运算符皆为整数&#xff0c;结果为整数。
& 位与 //两个值皆为一时&#xff0c;结果为1.否则为0。
| 位或//有一个1时&#xff0c;为1.只有皆为0时&#xff0c;才为零。
ˆ 位异或//当两个值皆为1或0时&#xff0c;结果为0&#xff1b;否则为1&#xff1b;
其他运算符&#xff1a;
<> 不等于
&#xff01;&#61; 不等于
&#xff01;> 不大于
!<不小于
begin。。 end语句&#xff1a;
begin
若干语句
end
//作用相当于大括号。

if。。else语句&#xff1a;
if 。。else if 。。。else if。。。else。。。
//支持嵌套使用
case语句&#xff1a;
case 判断句&#xff08;列名&#xff09;
when 情况1 then 反馈1
when 情况2 then 反馈2
else 其它反馈
end

for example&#xff1a;
select * 列名&#61;
case
。。。
end
//把反馈的内容赋予列名内容。
while语句&#xff1a;
while 判断句
begin
若干语句
end
waitfor语句&#xff08;时间间隔&#xff09;&#xff1a;
waitfor
delay 时间值 //‘00:00:00’小时&#xff0c;分&#xff0c;秒 延迟值。
【time 时间【到时间执行】 定时值】
goto语句&#xff1a;
标签&#xff1a;
&#xff08;标签名&#xff1a;&#xff09;
goto 标签名
try。。。catch
添加字段&#xff1a;
alter table 表名 add 字段名 类型
删除字段&#xff1a;
alter table 表名 drop column 字段名

转:https://www.cnblogs.com/lxxlxx888/p/5515726.html



推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 类加载机制是Java虚拟机运行时的重要组成部分。本文深入解析了类加载过程的第二阶段,详细阐述了从类被加载到虚拟机内存开始,直至其从内存中卸载的整个生命周期。这一过程中,类经历了加载(Loading)、验证(Verification)等多个关键步骤。通过具体的实例和代码示例,本文探讨了每个阶段的具体操作和潜在问题,帮助读者全面理解类加载机制的内部运作。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • DedeCMS 6月7日补丁更新后版权链接问题分析与解决
    本文探讨了在安装DedeCMS官方于6月7日发布的最新安全补丁后,出现的版权链接问题。更新完成后,底部自动生成了“Power by DedeCMS”的链接,尽管配置文件中的`cfg_powerby`字段并未包含相关信息。文章详细分析了这一现象的原因,并提供了有效的解决方法,帮助用户快速恢复网站的正常显示。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 如何优化MySQL数据库性能以提升查询效率和系统稳定性 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
author-avatar
Aime--Gemini
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有