说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着、于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一个更进步的空间。
就像标题中所说的:“数据库之创建与管理数据库表”,或许说不上新颖之作,但我相信应该有能帮大家解决在学习中运到的一些问题,当然谁都不会是完美,都会有不一样的感触,所以也想借此来和大家多多的交流并分享学习数据库时的郁闷与愉快。
那好,就让我们进入我总结”数据库“时空之境吧!!!
如果说创建数据库,那我们首先就应该知道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语句操作数据“即将随风席卷而来,如果你需要,我一定不会让你们等太久的。