数据类型
1、整数数据类型
int、bigint、smallint、tinyint、
2、浮点数据类型
real(C#中float)、float(C#中double)、decimal、numeric
decimal可以限制宽度跟精度,写为:decimal[p,s],p表示宽度(值得总位数),s表示精度(小数点后位数)。例3.14,宽度为4,精度为2
3、二进制数据类型
binary、varbinary、image
image,无大小限制,用于存图片等。
4、逻辑数据类型
bit
其值为0或1,如果输入0 或1 以外的值,将被视为1。
5、字符数据类型
char、nchar、varchar、nvarchar
char跟varchar都是取值1~8000,varchar的长度随输入变动
6、文本和图形数据类型
text、ntext
text用于存长篇文本等。
7、日期和时间数据类型
datetime、smalldatetime
datetime范围为:1753.1.1~9999.12.31
smalldatetime范围为:1900.1.1~2079.6.6
8、货币数据类型
money、smallmoney
约束
1、主关键字约束 Primary Key Constraint (实体完整性)
主键:1)、唯一,不能重复;2)、不能为空;3)、会自动排序;4)、可以区分每行数据(便于查询);5)、一个表只能有一个主键;6)、主键可以有多列组成(复合主键)。
主表主键约束从表外键。
2、外关键字约束 Foreign Key Constraint (引用完整性)
3、惟一性约束 Unique Constraint
唯一键跟主键的区别:唯一键可以为空,不自动排序。
设置唯一键:右键列→选择“索引/键”
4、检查约束 Check Constraint
设置检查约束:右键列→选择“CHECK 约束”
5、缺省约束 Default Constraint
创建关系图:
1、右键“数据库关系图”→选择要建立关系的表→添加,然后按下图方法
2、右键表→打开“设计”,然后按下图操作
自增长列:数据类型为int,列属性中“标识规范”设为“是”,则该列数据为自增长。当提交数据出错时,删除该组数据,同时删除掉了自增长生成的数值;再新建一组数据时,自增长生成下一个数值。所以自增长列的数值经常是不连续的数值。
--创建数据库 create database mydb1 --删除数据库 drop database mydb1 --打开数据库 use mydb1 --查看数据库信息 sp_helpdb mydb --重命名数据库 sp_renamedb mydb1,mydb2 --修改数据库(在D盘添加次数据文件) alter database mydb add file ( Name="mydb0", FileName="D:mydb0.ndf" ) --创建表 create table student ( Num varchar(50) primary key, --主键 name char(50) not null, --不能为空 Sex bit default 1, --设置默认值 Birthday date check(birthday>'1900-1-1'), --建立检查约束 Tel varchar unique --唯一键 ) --删除表 drop table student --修改表 alter table student add class varchar(50) --添加列 alter table student drop column calss --删除列
--创建数据库create database mydb1
--删除数据库drop database mydb1
--打开数据库use mydb1
--查看数据库信息sp_helpdb mydb
--重命名数据库sp_renamedb mydb1,mydb2
--修改数据库(在D盘添加次数据文件)alter database mydbadd file(Name="mydb0",FileName="D:mydb0.ndf")
--创建表create table student(Num varchar(50) primary key, --主键name char(50) not null, --不能为空Sex bit default 1, --设置默认值Birthday date check(birthday>'1900-1-1'), --建立检查约束Tel varchar unique --唯一键)
--删除表drop table student
--修改表alter table student add class varchar(50) --添加列alter table student drop column calss --删除列