数据库(SQL Server)管理数据库表~新奇之处
说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着、于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一个更进步的空间。
就像标题中所说的:“数据库之创建与管理数据库表”,或许说不上新颖之作,但我相信应该有能帮大家解决在学习中运到的一些问题,当然谁都不会是完美,都会有不一样的感触,所以也想借此来和大家多多的交流并分享学习数据库时的郁闷与愉快。
那好,就让我们进入我总结”数据库“时空之境吧!!!
如果说创建数据库,那我们首先就应该知道SQL Server中数据类型:
int:存储整型数字
numeric(18, 2):存储小数
decimal(18, 2):存储小数(长度上限为18位,逗号前后分别表示为小数的前后)
nvarchar():存储文字 unicode编码:
以后严重建议大家只要是保存字符串就用nvarchar()类型,n代表的unicode编码,该编码是国际通用编码,可以避免乱码的出
现。var代表长度可变。表中该列真正存储的内容就占它本身的空间,而不会占用该列通过(20)设置的长度所占用的空间。
archar():存储可变长度的文本
char(4):存储固定长度的文本
text();SQL Sever2000的使用使用的大文本类型,现在2005.2008 2012已经无情的毫无怜悯之心的抛弃了它,
nvarchar(Max)通用
dateTime:保存日期和时间
照片:image(二进制存储)
为了能让我们在初期对数据库的熟悉,所以特地规范了一些:
--以后我们存储姓名:nvarchar(20)
--存储年龄:int
--存储性别:bit:仅仅包括两个值(true、false)
--存储一篇文章:nvarchar(max)
(注意)尽量不要使用ntext或者是text,因为text和ntext读取效率非常低。
其次呢!对于管理表的数据时,我们当然就得有一些约束了,约束中自然是需要相对完整性的,其中就有非常重要的四种,让我们看看吧!
.四种完整性约束
1.实体完整性:针对数据行设置的完整性
2.域完整性:针对数据列设置的完整性。
3.引用完整性:外键约束
4.自定义完整性:为了满足我们的业务需求,我们自己量身定制的完整性约束,一般通过存储过程。
以上就是数据库的四种完整性约束,那它们具体的作用是什么,当然就是它们针对数据的设置与约束了,所以这个需要你们仔细的看看了,尤其是主外键之间的关系要理的特别清楚才行,否则你将很难吃透这个数据库,让我们都来理解理解吧!!!
01.主键约束
老师的这样一句话:“一张表一定要设置主键,否则别人会骂死你“。让我瞬间明白了主键原来这么 重要;
如果一张表不设置主键,到后续学习框架的时候,框架就欺负你,给你报错。
不能给自增列手动给值,这个值是由系统自动给的。
02.非空约束:其意相同
03.默认值约束:其意相同
04.check约束:通过表达式来给表格中的值定规则
05.外键约束:在一张表表A中某列是主键,但是在另外一张表表B中该列不是主键。那么表A称为主键表,表B称为外键表。
(注意:外键约束只能设置在外键表中)
之后呢!就是我们一般常识的标识列和通用匹配符,虽说简单,但也需要用心去记,否则再简单都终将不再是简单,反而可能会变成心中永远的难点,那么我们就来熟悉熟悉吧!
标识列:
为了唯一确定一行数据在该表中唯一而设定的一列。
--应用前提:
01.必须是int(smallint)类型
02.在标识规范处设置:标识种子,标识增量
(种子值:)标识种子:从哪个数据开始增长
(步长:)标识增量:每次增长几个数
通配符:
_:有且只有一个字符
%任意个任意字符
Like ‘’符(用来修饰的)
说了这么多,我们就应该注意一些常见问题了;
01.外键把控的不好
02.在SQL Server中,字符串和日期类型数据要加单引号,数值类型不用
03.每张表中必须都有一个主键,没有主键的表是不行的。
04.主键列不允许为空
05.不推荐使用复合主键,主键列选择依据:尽量简单。
06.如果找不到有意义的列作为表的主键,那么就加多一列ID作为该表的主键列。
剩下的那就是可能会遗漏的一些常识:
数据库表,要想删除有外键关系的表,必须先删除子表(外键表)。
不知不觉已经把数据库的管理数据表的总结差不多写完了,希望能够够帮到你们,不管是你还是我,如果有什么问题,请说出来我们一起去解决,我的进步旅程绝对不能缺少了你,
如果觉得我的总结还不错,那就继续关注我吧!我的”用SQL语句操作数据“即将随风席卷而来,如果你需要,我一定不会让你们等太久的。
数据库(SQL Server)管理数据库表~新奇之处的更多相关文章
- 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接
前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...
- 解决SQL Server管理器无法连接远程数据库Error: 1326错误
解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...
- 解决SQL Server管理器无法连接远程数据库的问题(转)
add by zhj: 本文最后那个数据库别名没搞明白,在我的测试中没有建别名,是可以的.远程登陆时,服务器名称: 服务器IP,端口号 (如223.42.155.248,52134 如果是默认端口号1 ...
- sql server的数据库个数、表个数及表的数据量统计
sql server的数据库个数.表个数及表的数据量统计 --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...
- SQL Server 2012 数据库笔记
慕课网 首页 实战 路径 猿问 手记 Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...
- SQL Server中数据库文件的存放方式,文件和文件组
原文地址:http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html SQL Server中数据库文件的存放方式,文件和文件组 ...
- 微软ASP.NET网站部署指南(2):部署SQL Server Compact数据库
1. 综述 对于数据库訪问,Contoso University程序要求以下的软件必须随程序一起部署.由于不属于.NET Framework: SQL Server Compact (数据库引擎) A ...
- 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g
ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...
- sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...
随机推荐
- Python 小爬虫流程总结
接触Python3一个月了,在此分享一下知识点,也算是温故而知新了. 接触python之前是做前端的.一直希望接触面能深一点.因工作需求开始学python,几乎做的都是爬虫..第一个demo就是爬取X ...
- git bash操作
1. GIT说明 1> git是分布式,或者说是去中心化的.表现为: 开发者的可以在本地使用git并完美的控制自己的版本,而无需与服务端交互: 开发者可以将本地库在某个服务端备份,这种情况类似S ...
- JAVA 中配置IKAnalyzer扩展词库和停止词库
1.后缀名.dic的词典文件,必须如使用文档里所说的 无BOM的UTF-8编码保存的文件.如果不确定什么是 无BOM的UTF-8编码,最简单的方式就是 用Notepad++编辑器打开,Encoding ...
- 模拟提交API数据Pyqt版
其实这个模拟提交数据之前已经写过篇: Python requests模拟登录 因为现在在做的项目中需要一个debug请求调试API,用PHP的CURL写了一个,又因Pyqt更能直观灵活的显示请求的参数 ...
- ExtJs基础知识总结:自定义弹窗和ComboBox自动联想加载(四)
概述 Extjs弹窗可以分为消息弹窗.对话框,这些弹窗的方式ExtJs自带的Ext.Msg.alert就已经可以满足简单消息提示,但是相对复杂的提示,比如如何将Ext.grid.Panel的控件显示嵌 ...
- oracle 11.2.0.4单实例文件系统安装与补丁
[TOC] 一,预安装处理 1.版本准备 操作系统:RHEL 6.5 数据库版本:Oracle 11.2.0.4 相关包:p13390677_112040_Linux-x86-64_1of7.zip ...
- 再见,OI
你好,NOIP 2015年9月1日 正式成为了福建省莆田一中的一名高一成员 后来学校搞了选修 大家都很激动 因为自己的兴趣和特长能够得到发挥了(或者说能逃课或者看好多电影) 发现选修提供的选项中有好几 ...
- Memo
1.Webpack: node_modules/css/index.js didn't return a function npm install css-loader style-loader ...
- 了解 xcodebuild 命令 ,自动打包ipa
引用博客:http://blog.nswebfrog.com/2015/10/31/xcodebuild/ 在 iOS 开发中,如果需要把工程打包成 ipa 文件,通常的做法就是在 Xcode 里点击 ...
- 使用ZwMapViewOfSection创建内存映射文件总结
标 题: [原创]使用ZwMapViewOfSection创建内存映射文件总结 作 者: 小覃 时 间: 2012-06-15,02:28:36 链 接: http://bbs.pediy.com/s ...