这一节记录如何创建和修改表。怎么增加删除列,修改属性,设置主键,外键等
创建普通表
create table 表名
(列 数据类型 约束或默认值,
列 数据类型 约束或默认值,
,...
)
例如我们要创建一个学生表,那么我们要先创建一个数据库
create database student_manager
go
use student_manager
go
create table students(
S_ID int not null,
S_NAME nvarchar(30) not null,
S_SEX bit not null,
S_AGE tinyint not null
)
go
[注]尽量设置not null,因为如果是null的话,系统会为null的列的每一行分配额外的一个字节。在查询时会带来额外的开销。
上面的S_AGE还可以做如下改写S_AGE as datediff(year,S_birthday,getdate())
这样在输入生日后,会自动计算年龄。
如果要把计算列物理化 要加末尾加PERSISTED
,这样计算后的数值会被持久化,不用每次查询的时候就计算,但是请注意,内部不能有非确定函数。
那么如何批量的从A数据库的A表导入到B数据库的B表呢。
select [PurchaseOrderID],
[employeeID],
[OrderDate]
into 数据库名.拥有者名