仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 731|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL编程:SQL循规蹈矩(4)创立表

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的的女儿也叫My。创立表
这个createtable语句是用于创立一个新的表格。以下是一个复杂创立表格语句的格局:
createtable"tablename"
("column1""datatype",
"column2""datatype",
"column3""datatype");
假如你想利用可选的束缚,创立表格的格局为:
createtable"tablename"
("column1""datatype"[constraint],
"column2""datatype"[constraint],
"column3""datatype"[constraint]);
[]=optional
这里注重:你能够恣意创立多列的表格,这个前提是可选的。
为了更好的了解,上面举个例子:
createtableemployee
(firstvarchar(15),
lastvarchar(20),
agenumber(3),
addressvarchar(30),
cityvarchar(20),
statevarchar(20));
为了创立一个新表格,你能够在关头字createtable以后随着表的名字,然后一个圆左括号”(”,然后是第一列的名字,再是这一列的数据范例,接着是恣意的可选束缚,最初是圆右括号”)”。确保在入手下手表格内容之前利用圆左括号而且在表的最初一列界说以后利用圆右括号是相称主要的。你还要包管每个列界说之间有逗号分开。最初在SQL语句停止时分加上分号";"。
表格和列名必需以字母开首,第二个字符入手下手能够是字母、数字大概下划线,可是要包管名字的总长度不要凌驾30个字符。在界说表格和列名不要利用不要利用SQL预定的用于表格大概列名的关头字(好比"select"、"create"、"insert"等等),以免毛病的产生。
数据范例是指在特定的列利用甚么样数据的范例。假如一个列的名字为"Last_Name",它是用来包容人名的,以是这个特定列就应当接纳"varchar"(variable-lengthcharacter,变长度的字符型)数据范例。
以下是几种罕见的数据范例:
char(size):流动长度的字符串型。Size是圆括号中指定的参数,它能够由用户随便设置,可是不克不及凌驾255个字节。
varchar(size):变长度的字符串型。它的最年夜长度是由括号中的参数size设定的。
number(size):数值型。最年夜数字的位数由括号中的参数size设置。
date:日期数值型。
number(size,d):数值型。它的最年夜数字的位数由括号中的参数sieze设定,而括号中的参数d是设置小数点的位数。
甚么是束缚呢?当表被创立的时分,能够一列也能够多列共用一个束缚。束缚是一个跟列有关的基础原则,前往的数据必需遵守这个原则。上面举个例子,一个束缚指定在一列中不克不及有两个纪录共用一个数值。它们必需独自的。别的两个盛行的束缚是:"notnull",它设置了列不克不及留空缺,即必定要无数据;和"primarykey"(主键),主键束缚界说了表中每个纪录(或行)的独一标识。一切的这些将在今后的教程中再作进一步论述。
好吧,大概你已有伎痒的感动了。作为本节实习,上面我们本人来计划和创立表格。
你能够入手下手创立一个公司的雇员表格。你必要创立一个包括firstname、lastname、title、age和salary的表格。
但我们知道,若使用statement,并没有上述需要的数据。试想binlog中记录了一句updatetsetf1=3whereid=3。怎么恢复呢?
分手快乐 该用户已被删除
9#
发表于 2015-3-22 04:59:05 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
莫相离 该用户已被删除
8#
发表于 2015-3-15 21:20:07 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
变相怪杰 该用户已被删除
7#
发表于 2015-3-8 06:21:30 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
海妖 该用户已被删除
6#
发表于 2015-2-25 21:51:10 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
5#
发表于 2015-2-8 17:45:01 | 只看该作者
呵呵,这就是偶想说的
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-2 22:35:01 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
若相依 该用户已被删除
板凳
发表于 2015-1-25 15:10:41 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
只想知道 该用户已被删除
沙发
发表于 2015-1-19 09:10:57 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 09:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表