04 SqlServer
数据库的注释 –(两个横线)

主键表 外键表
主键,组合主键

SqlServer
使用附加
权限
主文件mdf
日志文件ldf
数据类型
char varchar nchar nvarchar
char(4) 固定 存的4个字母2个汉字 不足用空格
varchar(4) 不固定 存4个字母2个汉字 不会用空格补
nchar(4) 固定 存4个汉字4个字母 不足用空格
nvarchar(4) 不固定 存4个汉字4个字母 不会用空格补
带var的变长、不用空格补
带n的表示unicode字符集,所有字符用两个字节表示,存的字母和汉字一样多
通过sqlserver脚本来实现分离和附加数据库



数据库的插入


修改 update set..
删除 delete from class
drop table
truncate table class –

truncate 主要nb的地方是会把自动编号重置
如自增的主键
新增和修改
约束——保证数据的完整性

约束—保证数据完整性
·先用设计器创建约束、再用代码创建约束
·数据库约束是为了保证数据的完整性(正确性)而实现的一套机制,见文件Employee.sql
·非空约束 不让改的时候就工具选项,干掉勾

·主键约束
IDENDITY(标识规范)
IDENTITY(1,1)中,第一个1代表标识列的第一行的值,第二个1代表每次增长1,也就是说标识列的第二行值是2,以此类推。
·唯一约束
右键索引


·默认约束

·检查约束


·外键约束
数据库
前天内容复习
主键---每个表都应该有一个主键
业务主键 逻辑主键 组合主键
A表有主键,B表也有主键,B表中使用了A表中的主键作为一列 B表是外键表 A表是主键表
创建数据库 ,Create database on primary() log on()
创建表 ,Create table 表名()primary key,not null
数据类型 ,bit true false 1,0, 添加时间数据,用单引号 引起来
char(2),一个汉字,两个字母,
varchar(2),一个汉字,两个字母,
nchar(2),两个汉字,两个字母
nvarchar(2),两个汉字,两个字母
drop 与 truncate
truncate 删除后主键从默认值开始
6种约束,保证数据的完整性
非空约束,主键约束,唯一约束,默认约束,检查约束,外键约束
删除一列
alter table Employees drop column EmpAddress
添加一列
alter table Employees add EmpAddr varchar(100)
--手动修改一下EmpEmail的数据类型(varchar(200))
alter table Employees alter column EmpEmail varchar(200)
--为EmpId添加一个主键约束
alter table Employees add constraint PK_Employees_EmpId primary key
(EmpId)
--非空约束,为EmpName添加一个非空约束
alter table Employees alter column EmpName varchar(50) not null
--为EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employees_EmpName unique (EmpName)
--为性别添加一个默认约束,默认为'男'
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender
--为年龄增加一个检查约束,年龄必须在1-120岁之间
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120)
--增加外键约束
alter table Employees add constraint FK_Employees_Department_DepId
foreign key(DepId) references Department(DepId)

select GETDATE();
--查询所有的数据中的前10条数据
select top 10 * from student
--按照年龄从小到大排序
select * from student order by TSAge asc
--从大到小排序
select top 10 percent * from student order by TSAge desc
--去除重复
select distinct TSName from student;
聚合函数
·SQL聚合函数
MAX(最大值),
MIN(最小值)

min sum avg…..
select MAX(tsenglish) as 英语最高成绩,MIN(tsenglish) as 最低成绩,SUM(tsenglish)as 总和,AVG….
In Between和and

查询以张开头的所有名字
select * from student where TSName like '张%'
查询以张开头的名字,只有两个字
select * from tblstudent where TSName like ‘张__’
查询的是以张开头的名字,三个字
select * from Tblstudent where tsName like ‘张%’ and LEN(tSName) = 3
查询以张开头的名字中有字母的,三个字
select * from Tblstudent where tSname like ‘张[a-z]%’
select * from TblStudent where
查询里面就带百分号的
select * from TblStudent where TSname like ‘张[%]%’

名字里没有数字 并且就三个字
分组


having是在分组后进行筛选用的
转换
--第一种
select ‘当前时间’ +CAST(GETDATE() as varchar(20))
--第二种
select ‘当前时间’ +CONVERT(varchar(20),GETDATE(),109)
–这里按f1查看支持的type,这里type为109

union合并
默认有distinct功能
而union all 是没有的

select LOWER('HELLO') --转小写
select UPPER('word') --转大写
select LTRIM(' 哈哈,不再相信爱情了')
select RTRIM('呵呵哒 ')
select RTRIM LTRIM(' a ')
--没有直接trim
--获取几年
select DATEDIFF(YEAR,'2010',GETDATE())
--获取时间的某个部分
select DATEPART(year,getdate())
--添加数据的同时,获取该餐桌的id(主键)
--在数据库中@@开头 全局变量
insert into DeskInfo values(‘1好餐桌’,’pinyin’,0,’123’);select @@identity;
insert into Class(DeskName,DeskNamePinYin) output inserted.DeskId,inserted.cName vales()
04 SqlServer的更多相关文章
- 04.SQLServer性能优化之---读写分离&数据同步
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 过段时间再继续写文章吧,本来准备把SQLServer一个系列写完的,最近状态很差很不好, ...
- SQL从入门到基础 - 04 SQLServer基础2(数据删除、数据检索、数据汇总、数据排序、通配符过滤、空值处理、多值匹配)
一.数据删除 1. 删除表中全部数据:Delete from T_Person. 2. Delete 只是删除数据,表还在,和Drop Table(数据和表全部删除)不同. 3. Delete 也可以 ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- SQLServer性能优化专题
SQLServer性能优化专题 01.SQLServer性能优化之----强大的文件组----分盘存储(水平分库) http://www.cnblogs.com/dunitian/p/5276431. ...
- 平台之大势何人能挡? 带着你的Net飞奔吧!
镇楼图: 跨平台系列: Linux基础 1.Linux基础学习 By dnt http://www.cnblogs.com/dunitian/p/4822807.html 环境配置 1.Hyper-v ...
- SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作
/*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ...
- SQLServer存储引擎——04.数据
4. SQL SERVER存储引擎之数据篇 (4.1)文件 (0)主数据文件.mdf初始文件大小至少为3MB,次要数据文件.ndf初始大小,同日志文件一样至少为512KB: (1)SQL SERVER ...
- 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常
本节讨论如何使用Spring的异常处理机制,当我们程序出现错误时,以相同的一种格式,把错误信息返回给客户端 1.创建一些自定义异常 public class TipsException extends ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)
微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...
随机推荐
- NGUI报错处理
Unity5.4.1与NGUI出现的问题Ignoring menu item NGUI because it is in no submenu! Ignoring menu item NGUI ...
- 基于BootStrap,FortAweSome,Ajax的学生管理系统
一. 基于BootStrap,FortAweSome,Ajax的学生管理系统代码部分 1.students.html <1>html页面文件 <!DOCTYPE html> & ...
- django创建第一个子文件夹
1.首先安装python, 我安装了Python2.7的版本,安装在了D:\Python25\2.接着安装django,我下载了django 1.6的版本.3. 安装完了之后,打开cmd,然后可以检验 ...
- docker数据卷的使用 -v --volumes--from
总结一下docker数据管理的三种方法: 1.普通的挂在数据: -v docker run -v /father/path:/child/path-v 参数会把当前系统的文件目录/father/pa ...
- js:Array对象常用方法介绍
前言 在js中,数组作为一个特殊的对象.是我们常用的数据格式.今天就来梳理一下常用的数组方法. 1.基础 几种基础的就简单介绍一下:创建数组 var arr1 = new Array(); //括号可 ...
- Tensorflow读取文件到队列文件
TensorFlow读取二进制文件数据到队列 2016-11-03 09:30:00 0个评论 来源:diligent_321的博客 收藏 我要投稿 TensorFlow是一种 ...
- UVA10200 Prime Time
/* UVA10200 Prime Time https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8& ...
- Elasticsearch架构原理
架构原理 本书作为 Elastic Stack 指南,关注于 Elasticsearch 在日志和数据分析场景的应用,并不打算对底层的 Lucene 原理或者 Java 编程做详细的介绍,但是 Ela ...
- Ajax发送GET和POST请求案例
使用ajax实现菜单联动 通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据. 需求:选择第一个下拉框的值,根据第一个下拉框的值显示第二个下拉框的值 首先使用GET方式. ...
- 洛谷—— P1204 [USACO1.2]挤牛奶Milking Cows
https://www.luogu.org/problem/show?pid=1204 题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶, ...