sql数据库小结

sqlserver数据库
一、体系结构
文件--服务--界面

文件---.maf .ldf .ndf
服务--MSSqlserver,别名(实例名)
界面--宋庆龄serve如何windouws身份验证,如何从windows身份严恒变为sqlserver验证
二、 创建
建库、改库、删除 create database alter database drop database
建表、改表、删表 create table alter table drop table

1 库:文件位置、初始大小、增长方式、次数据文件
表:列的类型
int,smallint,bigint
float ,real decimal numeric
bit
char, varchar,text
binary image
datetime smalldatetime
2 约束:
主键: 建立?primary key
特点: 唯一、不空、不重、排序、组合主键
外键:主表与从表。外键建在从表上。用主表约束从表
方式:2种 referrnces(列名)
级联更新与级联删除?设计 里面
非空:必须要填 。空与空字符串不一样。 not null
自增长: 类型 : 整理。起始值和步长。 identity
方法: 列的属性
任何视图向自增列中添加数据的行为都是错误的。
check:检查 check(表达式) 对填入的数据做进一步的规则检查
方法: 列上右击,选择check约束
唯一约束:unique。内容不能重,可以为空。一个表中可以有多个唯一约束
方法: 右击列 选择索引/键
默认值: 如果这一列不填内容,将用默认值填充 default
3 操作
1 、 sql语句
增 insert into 表名【(列,列,列··)】values (值,值,值)
删 delete from 表名 【where 条件】
改 update 表名 set 列=值,列=值 【where 条件】

简单查询 select top n *|列 from 表
投影
select 列名,列名·· from表
排序
order by 列 asc|desc,列 asc|desc··
筛选
where 子句
1.等值于不等值。where 列=值。 = != <> < >= <=
2.范围
where between··and··
where 列 in(值,值,值)
3多条件查询
and or
where 条件1 and 条件2 or 条件3
4 模糊查询
like % _ [4,5,6]

分组(count(),max(),min()avg(),sum()五个统计函数)
group by 列 having 条件(带统计函数)
注意:一旦使用 分组 select 后面只能跟两样东西: 1 groupby 后面的列名 2 统计函数
注意; 一般来说 我们使用分组的目的是为了统计。
复杂查询
连接:吧两个表 横向接起来
原理: 先求笛卡尔积,再根据两个表的相关列进行筛选
语法:
1. select * from 表1,表2···表n where 连接的条件
2. select 8 from 表1 join 表2 on 连接的条件 join 表3 on 连接条件
3 ,左联 left 右连 right 全连 full
联合 原理:求并集
union
吧2个查询用union连起来 ,要求2个查询的列 要一致。
嵌套(子查询)
在父查询里再包括子查询
原理: 分层查询
它的分方法:等量代换。
sql 函数
1.数学类: ceiling(),floor() round()
2.时间类 :year() month() day () getdate() datediff() datepart() dateadd()
3字符串:len() left() right() upper() lower()
4.转换函数cast(xxx as 类型)
四、 高级的内容:
索引
簇索引 ,非簇索引。
优势: 快 劣势 : 改
语法:create index···on 表
手动建索引; 与建 唯一约束相似
视图
视图就是一段查询语句的查询结果
视图本身并不装有数据,视图的结果是从相关的表中查出来的。
视图可以从表或其他的视图中建立起来。
视图的优势:查询方便
劣势: 增删改 不方便
语法: freate view··
手动: 表下方 视图 新建
存储过程
一段可能带有一定程序逻辑的sql语句。
它里面可以包含复杂的程序逻辑。
语法: 创建:create proc 存储过程名 @参数···as
调用:存储过程名 参数
触发器
也是一段带有逻辑的sql语句。
它不需用代码去调用,当相应的表执行相关操作时,会自动触发触发器的程序。
语法: create trigger···
事物
一段完整的工作,需要一次完整执行。
四个特点:ACID。 原子性,一致性,隔离性,持久性
语法 begin tran ---开始事物
rollback ----回滚事物
commit----提交事物

时间: 2024-11-13 17:12:07

sql数据库小结的相关文章

VB中上传下载文件到SQL数据库

VB中上传下载文件到SQL数据库 编写人:左丘文 2015-4-11 近期在修改一个VB编写的系统时,想给画面增加一个上传文件到数据库,并可以下载查看的功能,今天在这里,我想与大家一起分享代码,在此做个小结,以供参考.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧.   1. 首先要保存文件到数据库,我们需要使用流对象保存,所以第一时间先在数据库中增加 一个image的字段(注意:Access中的photo字段类型为OLE对象.SqlServer中的photo字段类型为Image),用于存储

AppBoxFuture: 集成第三方Sql数据库

??框架设计之初是不准备支持第三方数据库的,但最近几个朋友都提到需要将旧的基于传统Sql数据库的应用迁移到框架内,主要是考虑到一方面目前框架内置的分布式数据库尚未完善,另一方面是希望能逐步迭代旧应用替换传统数据库.因此作者还是决定支持第三方数据库,下面介绍如何集成第三方数据库,并将实体模型映射存储至其中. 一.创建DataStore ??DataStore主要保存数据库的配置(连接)信息,通过IDE主菜单->DataStore->NewDataStore创建,创建后需要设置相应的连接信息(如下

SQL 数据库T-SQL语句查询

         SQL 数据库T-SQL语句查询 附加数据库的数据文件 查询表中种类是水果的出厂日期在201-04-01之后的 查询所有种类的总成本 以倒序的方式查询表中水果的成本 查询种类是蔬菜的并且价格在1-5之间 将product表中的名称,种类,出厂日期的数据保存在另一个名为product_new的表中,并查看 在products表和sales表中查询产品的名称.种类.成本.销售地点和销售价格. 在products表和sales表中查询销往海南的产品名称.种类.成本和销售价格. 查询年

根据.mdf文件查看 SQL数据库的版本信息

手上有 经理带来的一个教学管理系统,由于不知道开发环境,在向SQL2000附件数据库的时候 报出附加失败的信息 ,上网查知说的2005的数据库不能向2000添加,好吧 那我在安装一个2005的行吧?但是安装SQL2005的时候确出现了问百度一段时间后知道因为我的机器上安装VS2005的时候他会给你带一个SQL2005的简化版(sql2005express),正是这个原因在安装SQL2005开发版的时候才会出现问题,所以需要把自带的sql2005express删除在重新安装;2005的安装上之后

windows Server 2012安装SQL数据库步骤

第一步.下载SQL Server 2008R2文件 刻录成光盘放进光驱中 点击setup执行SQL安装 输入SQL产品密钥 相应的步骤 根据需求安装SQL server功能,本次功能全选 数据库的名称.安装位置,本次为默认安装 SQL数据库用户名.密码设置,此次为统一设置 身份验证模式 第一步 登录SQL数据库服务 开启远程服务 创建数据库

MySQL常用数据库小结

SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建备份数据的 device U

C# 用vs2008连接SQL数据库做动态水晶报表

博主是个还在上大学的新手,如果有什么说错的地方请务必帮我指出来,谢谢! 想要完成一个能够动态改变其中数据的水晶报表,可以通过创建一个 数据的中转站来存储和输出数据的方式. 借由这个中转站,我们可以通过为它动态输入数据,然后再将数据导出到水晶报表,来达到得到有动态数据的水晶报表的目的. 仅在vs2008中,很多它自带的应用也可以达到中转站的作用,比如数组,数据集等. 博主最近刚在学SQL所以尝试了用VS连接数据库来做水晶报表. 1.首先,博主在SQL中创建了名为xxs的数据库,然后再在数据库xxs

SQL数据库查询方法

SQL数据库查询方法 简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 selec

sql update小结

以前update用的不少,但都是简单的单表操作,没有在意,最近查阅多表关联更新及更新top n,发现update还真灵活,记录如下(在mssqlserver2008r2下测试通过): 1单表操作  update table1 set col1=val[,col2=val2...] [where 条件表达式] 2多表关联操作 1)update 表名 set 列名 from 表1,表2 where 条件,此法源表(table1)不能用as别名,长表名很麻烦,如下: update table1 set