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步,只需要替换 ...
随机推荐
- html页面之间传值问题
1.如再A页面(A.html)通过window.open(B.html?code=11)或者通过其他方式跳转到其它html页面时: 可通过以下方式进行传递参数. //B.html页面function ...
- Core Dataeasy出现的错误
1.2015-08-24 15:52:17.674 Tasks[3189:144763] CoreData: error: -addPersistentStoreWithType:SQLite con ...
- 基本socket api
socket函数,为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,并且指定通信协议类型. #include<sys/socket.h> int socket (int ...
- chmod和chown命令具体使用方法
Linux下数字表示文件的操作权限(777,755,..) Linux下.查看某路径下用(ls -l)查看全部文件的具体属性列表时.会看到文件的操作权限.类似"drwxr-xr-x" ...
- gitlab一键安装 笔记
0 简单介绍bitnami和gitlab bitnami BitNami是一个开源项目,该项目产生的开源软件包安装 Web应用程序和解决方式堆栈.以及虚拟设备. bitnami主办Bitrock公司成 ...
- [Java开发之路](7)RandomAccessFile类具体解释
RandomAccessFile适用于大小已知的记录组成的文件.提供的对文件訪问.既能够读文件.也能够写文件,而且支持随机訪问文件.能够訪问文件的任何位置. 文件里记录的大小不一定都同样.仅仅要我们知 ...
- man pthread_mutex_init 或 man pthread_mutex_lock 没有结果的解决的方法
问题: 在刚装好的 Mint/Ubuntu 可能会出现 man pthread_mutex 相关的函数没结果, 报No manual entry for pthread_mutex_init 的错误. ...
- Foundation框架经常使用数据类型和NSAutoreleasePool自己主动释放池解析
第一.NSAutoreleasePool自己主动释放池解析 1.自己主动释放池的物理实现 自己主动释放池用栈来实现.当你创建一个新的自己主动释放池是,会压栈到栈顶.接受autorelease消息的对象 ...
- JDBC整理
JDBC提供了独立于数据库的统一Api,用以执行SQL命令.JDBC API由以下常用的接口和类组成: DriverManagement:用于管理JDBC驱动的服务类,程序中使用该类的主要功能是获取C ...
- Jmeter执行多条Mysql语句报错
花了很长时间找原因,Jmeter一直返回的是MySql语法错误,就写了两条很简单的删除语句,并且在MySql里可以正常执行 包括换了jdbc驱动包,更改不同的Query Type等 后来发现两条语句拆 ...