字段的数据类型:
1.数字数据类型:
整数数据类型
Bigint,int ,smallint,tinyint
高精度小数类型
Decimal numeriic
货币类型
Monry smallmoney
浮点类型
Float 和 real
Bit 0和1
2.字符数据类型:
char(10)固定长度存储字段,不管值是否够10,都按10来存储,nchar(10)5不够10就按5来存储,varchar()可变字符长度, 不限长度,5不够10就按5来存储,
Char(长度) varchar Text Nvarchar Nchar ntext
3.日期和时间数据类型
Datetime smalldatetime
4.二进制数据类型
Binary varbinay
image 用来存储图像信息
5.占用数据类型
对特殊数据对象的定义存储与使用
使用CREATETABLE 创建数据表:
1.使用图形化界面工具创建
2.使用SQL语句
语法格式:
CREATE TABLE[database name[owner]|owner(数据表用户)]table_name
(
{<column definiton>|<table_constraint>
|column_name AS computed_column-exoression
}[,…n]
)
[ON{filegroup|DEFAULT}]
[textimage_on{fielgroup|DEFAULT}]
<column_definition>::={column namedata_type}
[[DEFAULT constant_expression]|[indentity[(seed,increment)]]]
[<column_constraint>] […]
创建临时表:
临时表:临时创建不能永久保存
本地临时表:单个字符号#开头 连接可见
全局临时表:两个字符号##开头 对任何用户可见
系统表 用户自定义数据表 临时表 分区表
设置标识字段:
编号列不能相同,把唯一的设置成标识字段,避免出现重复
选中员工信息表,员工编号是不可以重复的,员工姓名可以重复,所以将员工编号作为标识字段,
设置方法:下面列属性有设计器,选择是否标识(是),展开有标识种子和标识增量,
标识种子为1表示从1开始,标识增量1标识每次增加1
设置完成后当我们向员工信息表中输入员工姓名的时候,员工编号自动从1开始编号
使用默认值:
列设置成默认值,提高效率。在员工信息表中,大多都是普通员工,可以把值为设为普通员工,不是员工的可以手动输入
创建约束:
首先确定对那个字段进行约束
如果不符合约束图片
修改表:
1.图形化界面修改
打开设计,直接修改
2.可以通过命令T-SQL
修改表名:Exec sp_rename '原表名' , '要修改的表名'
例如:
exec sp_rename '员工信息‘ , ’新员工信息'
修改具体列:alter table 表的名称
例如增加工龄:alter table 新员工信息
add 工龄 int null
Add 新的列 int null 不能在列中修改非空 可以用DROP 进行删除
用户自定义数据类型:
定义:用户自己设计并实现的数据类型,基于系统数据类型
当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型,长度和可空性时,可以使用用户定义的数据类型。
创建用户自定义类型时提供三个参数:
1.数据类型名称
2.所基于的系统数据库类型
3.数据类型的可空性
创建自定义类型步骤:打开数据库中可编辑性--类型--用户自定义数据类型--新建--
使用规则:
规则是单独SQL Sever对象,可以关联一个或多个表中的一列或多列,来完成对数据值的检验,使用函数返回验证信息,也可以使用BETWEEN ,LINKE ,In对数据进行检查
与check相同:在表插入更新数据时,限制输入值得取值范围
与check不相同:
1.check约束用create table创建 ,规则独立的数据库对象实现
2.一列只能用一个规则,但可以使用多个check约束
3.规则应用多个列,还可以用户自定义类型,但是check只能应用定义的列
总之:一列只能使用一个规则,但可以被多个列使用
一个列可以使用多个check约束,但约束只能被一列使用
如何创建规则?
Create rule rule_name(规则名称)
As(取值范围规定)
Condition_expression(设置一个范围规则条件)
解除和删除规则:背部可以直接使用DROP RULE来删除,先解除规则和列之间的绑定关系,每一列一个规则
解除规则语法格式:
Sp_unbindrule(解除系统规则名称)[@objectname(绑定规则的列名or用户自定义类型名)=]<object_name>
[,[@futureonly=]<futureonly_flag>
数据关系图:
各个表名之间的联系,来检索