设为首页 加入收藏

TOP

史上最全的MSSQL复习笔记(一)
2015-11-21 02:09:59 来源: 作者: 【 】 浏览:1
Tags:史上 最全 MSSQL 复习 笔记
1.什么是SQL语句
?
sql语言:结构化的查询语言。(Structured Query Language),是关系 数据库管理系统的标准语言。
?
它是一种解释语言:写一句执行一句,不需要整体编译执行。
语法特点:
1.没有“ ”,字符串使用‘ ’包含
2.没有逻辑相等,赋值和逻辑相等都是=
3.类型不再是最严格的。任何数据都可以包含在‘ ’以内
4.没有bool值的概念,但是在视图中可以输入true/false
5.它也有关系运算符:> < >= <= = <> != ,它返回一个bool值
6.它也有逻辑运算符: !(not) &&(and) ||(or)
7.它不区别大小写
?
?
2.使用sql语句创建数据库和表
?
语法:
create database 数据库名称
on primary --默认在主文件组上
(
name='逻辑名称_data' , --当你发现它不是一句完整的sql语句,而仅仅是一个处理结构中的某一句的时候,就需要添加 ,
size=初始大小,--数值不包含在‘’以内
filegrowth=文件增长 ,
maxsize=最大容量,
filename='物理路径'
)
log on
(
name='逻辑名称_log' , --当你发现它不是一句完整的sql语句,而仅仅是一个处理结构中的某一句的时候,就需要添加 ,
size=初始大小,--数值不包含在‘’以内
filegrowth=文件增长 ,
maxsize=最大容量, --一般来说日志文件不限制最大容量
filename='物理路径'
)

?

?
--判断数据库文件是否已经存在 :数据库的记录都存储在master库中的sysdatabases表中
--自动切换当前数据库
--使用代码开启外围应该配置器
exec sp_configure 'show advanced options' ,1
RECONFIGURE
exec sp_configure 'xp_cmdshell',1
RECONFIGURE
--自定义目录  xp_cmdshell可以创建出目录   'mkdir f:\project':指定创建目录
exec xp_cmdshell 'mkdir f:\project'

use master
--exists 函数判断()中的查询语句是否返回结果集,如果返回了结果集则得到true,否则得到false
if exists( select * from sysdatabases where name='School')
    drop database School --删除当前指定名称的数据库
create database School
on primary
(
 name='School_data',--逻辑名称.说明最多能够存储100mb数据,如果没有限制就可以将硬盘存储满
 size=3mb,--初始大小
 maxsize=100mb,--最大容量
 filegrowth=10%,--文件增长一次增长10%
 filename='f:\project\School_data.mdf'    
),
--创建文件组
filegroup mygroup
(
 name='School_data1',--逻辑名称.说明最多能够存储100mb数据,如果没有限制就可以将硬盘存储满
 size=3mb,--初始大小
 maxsize=100mb,--最大容量
 filegrowth=10%,--文件增长一次增长10%
 filename='F:\qiyi\School_data1.ndf'    
)
log on
(
 name='School_log',--逻辑名称
 size=3mb,--初始大小
 --maxsize=100mb,--最大容量
 filegrowth=10%,--文件增长一次增长10%
 filename='f:\project\School_log.ldf'    
),
(
 name='School_log1',--逻辑名称
 size=3mb,--初始大小
 --maxsize=100mb,--最大容量
 filegrowth=10%,--文件增长一次增长10%
 filename='F:\qiyi\School_log1.ldf'    
)

?

?
3.创建数据表
?
语法:
create table 表名
(
字段名称 字段类型 字段特征(是否为null,默认值 标识列 主键 唯一键 外键 check约束),
字段名称 字段类型 字段特征(是否为null,默认值 标识列 主键 唯一键 外键 check约束)
)
创建老师表Teacher :Id、Name、Gender、Age、Salary、Birthday


use School
if exists(select * from sysobjects where name='Classes')
  drop table Classes
create table Classes
(
 Classid int identity(1,1),
 ClassName nvarchar(50) not null 
)
if exists(select * from sysobjects where name='teacher')
  drop table teacher
create table Teacher
(
 Id int identity(1,1),--可以同时创建多个特征,用空格 分隔开。 identity是标识列,第一个参数是种子,第二个是增量
Name nvarchar(50)  not null,-- not null标记它的值不能为null--不能不填写
ClassId int not null,
 Gender bit not null,
Age int   ,
Salary money, --如果不标记为 not null.那么就相当于标记了null
Birthday datetime  
)

?

?
4.数据完整性约束
?
实体完整性:实体就是指一条记录。这种完整性就是为了保证每一条记录不是重复记录。是有意义的
-- 主键:非空和唯一.一个表只有一个主键,但是一个主键可以是由多个字段组成的 组合键
-- 标识列:系统自动生成,永远不重复
-- 唯一键:唯一,但是可以为null,只能null一次
?
域完整性:域就是指字段,它是为了保证字段的值是准和有效,合理值
-- 类型 是否null,默认值,check约束,关系
?
自定义完整性:
-- check约束 , 存储过程 触发器
?
引用完整性:一个表的某个字段的值是引用自另外一个表的某个字段的值。引用的表就是外键表,被引用的表就是主键表
-- 1.建立引用的字段类型必须一致
-- 2.建立引用的字段的意义一样
-- 3.建立主外键关系的时候选择 外键表 去建立主外键关系
-- 4.建立主外键关系的字段在主表中必须是主键或者唯一键
-- 5.对于操作的影响 :
-- 1.在添加数据时,先添加主键表再添加外键表数据
-- 2.在删除的时候先外键表数据再删
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL存储过程将符合条件的大量记录.. 下一篇SQL 查询所有表名、字段名、类型..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: