关于SqlServer表结构 2(回归基础)
关于SqlServer表结构的问题。先来了解一下SqlServer中的数据类型以及它们的用法
整型: 短整型 smallint 整型 int 长整型 bitint
标识列:identity(它是只读的)只能用整型 smallint、int、bigint
浮点数:float--->C#、java的double
money--->decimal
bit 0,1--->boolean false、true
字符串类型:
char(10) 单字节固定长度的字符类型、不足不空格,最大8000
varchar(10) 单字节可变长度的字符类型,可回收没有用到的空间,最大8000
关于两者的选择,关键在于在处理数据时是否保证填满,如果保证填满可以选择char,相反如果不确定录入的数据是否能够填满多少个字节,那么就选择varchar,因为他可以回收未填满的数据,减少内存的消耗!
标准字符:可以在键盘上看得到的字符都属于标准字符(单字节)
非标准字符:中文、日文、法文、俄文等(双字节)
nchar:双字节 第一个字母 n 就是Unicode的缩写(所有键盘上看不到的都属于Unicode编码范围) 有多少存多少,最大4000,因为是双字节 8000/2
nvarchar:可回收双字节 Unicode 最大4000
与char和varchar原理是一样的,带n一个数字代表双字节。不带n一个数字代表单字节
text 最大2GB文本上限
ntext:没记错的话应该是可变的
时间类型:
date:日期 年月日
time:时间 时分秒
datetime:日期时间 年月日时分秒
--primary key 1.不允许为空 2.不允许重复 3.可以被子表的外键列引用
--identity(1,1) 标识列只能在整型列上使用 只读的不允许修改
--not null 不允许为空
--unique不允许重复,唯一
--foreign key 外键
--references 引用
--check 检查约束用来判断数据类型是否合法
--getdate获取当前系统时间
--datediff 时间差 datediff(year,BornDate,getdate())参数一:按年来算时间差(也可以是month,day),参数二:录入时间 ,参数三系统时间 后面时间-前面时间
--len()获取字符数量
create table Grade
(
Id int primary key identity(1,1),
GradeName varchar(10) not null
)
go
create table Class
(
Id int primary key identity(1,1),
ClassName varchar(10) not null unique,
GradeId int foreign key references Grade(Id)
)
go
create table Student
(
Id int primary key identity(1,1),
StuCode int not null,
ClassId int references Class(Id) not null,
StuName nvarchar(10) not null check(len(StuName)>=2) default('佚名'), --姓名必须大于等于2
BornDate date not null check(datediff(year,BornDate,getdate())>=18),
Phone varchar(25) not null,
[Address] nvarchar(200) null default('宿舍'),
Email varchar(20) null
)
go
关于SqlServer表结构 2(回归基础)的更多相关文章
- Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据
Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...
- SqlServer表结构查询
一.前言 近两天项目升级数据迁移,将老版本(sqlserver)的数据迁移到新版本(mysql)数据库,需要整理一个Excel表格出来,映射两个库之间的表格字段,示例如下: Mysql数据库查询表结构 ...
- Oracle表结构转换SqlSERVER表结构 脚本
在审计工作中,有时需要将Oracle的表结构修改后再SqlSERVER中创建表结构,然后将数据导入到SqlSERVER中,在修改表结构的过程中方法狠多.手工修改,最蠢的方法,或者用工具UE批量修改,还 ...
- SQLServer 表结构相关查询(快速了解数据库)
-- 表结构查询 SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colord ...
- sqlserver表结构的修改
表添加新字段 sqlserver alter table 表名 add 新增字段名 新增字段类型 是否允许为空,如: alter table [数据库名].[dbo].[表名称] add [新增字段] ...
- 查询sqlserver 表结构呀
SQL Server里查询表结构命令 对于SQL Server数据库有两种方法查询表结构 第一种方法 sp_help Accounts_Users 其中Accounts_Users 表示表名 ...
- 查询Sqlserver 表结构信息 SQL
SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = ...
- sqlserver表结构查询语句
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systyp ...
- SQL server 表结构转Oracle SQL脚本
SQL server 表结构转Oracle SQL脚本 /****** Object: StoredProcedure [dbo].[getOracle] Script Date: 2019/7/25 ...
随机推荐
- postman设置页面详解
设置详解/General Trim keys and values in request body:如果使用form-data或者url-encoded的方式向服务器发送数据:将该选项设置为ON,则会 ...
- [JAVA]字符串常量池String pool
字符串常量池(String Pool)保存着所有字符串字面量(literal strings),这些字面量在编译时期就确定.不仅如此,还可以使用 String 的 intern() 方法在运行过程中将 ...
- C#获取页面内容的几种方式
常见的Web页面获取页面内容用 WebRequest 或者 HttpWebRequest 来操作 Http 请求. 例如,获取百度网站的 html 页面 var request = WebReques ...
- Windows配置Delve的测试环境
引言 自己最近在玩Go,在开发一些项目的时候需要调试,由于之前都是在GoLand上写的,但是这个IDE启动太慢并且不轻便.并且自己之前很多项目都是在Vscode中编写的,所以特意想在Vscode中配置 ...
- 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?
https://zhuanlan.zhihu.com/p/101812525 PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...
- Ethical Hacking - GAINING ACCESS(19)
Client-Side Attacks - Social Engineering Tool: The FAT RAT Just like Veil, it generates Undetectable ...
- python常见报错信息!错误和异常!附带处理方法
作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息. Python 有两种错误很容易辨认:语法错误和异常. Python assert(断言)用于判断一个表达式,在表达 ...
- 题解 CF585F 【Digits of Number Pi】
考虑用数位 \(DP\) 来统计数字串个数,用 \(SAM\) 来实现子串的匹配. 设状态 \(f(pos,cur,lenth,lim,flag)\),表示数位的位数,在 \(SAM\) 上的节点,匹 ...
- .net core https 双向验证
文章来自:https://www.cnblogs.com/axzxs2001/p/10070562.html 关于https双向认证的知识可先行google,这时矸接代码. 为了双向认证,我们首先得准 ...
- Problem H: 质心算法
Description 在很多应用中,需要对某个目标进行定位.比如对于一个未知坐标的点A,假定已知A点与N个点相邻,且已知N个相邻点的坐标,则可取N个点的质心作为A点坐标的一个估计值. 所谓质心,就是 ...