SQL语句创建基本表
create table { < 表名 > | 数据库名 . [ dbo . ] 表名 }
(
列名 数据类型 [ 列级完整性约束条件 ]
[ , 列名 数据类型 [ 列级完整性约束条件 ] ]
......
[ 表级完整性约束条件 ]
)
【列级约束性条件】是指直接在列的后面添加 primary key (主键约束)、unique(唯一性约束)或 NULL、NOT NULL 或identity(seed,increment)(标识列)、default 表达式(指定默认值)。
【表级约束性条件】是指在最后添加 primary key (列名,列名 . . . ) (指定多列为主键)、foreign key( 外键列名 ) references 主表(列名) (创建外键约束)。
还有一个创建临时表:
create table # 表名
. . . . . .
“#”表示临时本地表,在当前数据库内使用,在当前数据库关闭时删除;“##”表示全局临时表,可在所有数据库中使用,在关闭所有数据库是删除。
SQL语句修改基本表
Alter Table < 表名 >
[ Alter column <旧列名>
新列名 | 新的数据类型 | [NULL | NOT NULL]
]
[ Add [column] <新列名> < 数据类型 > [完整性约束] ] --增加列
[ Add <表级完整性约束> ] [ , . . . n ]
[ Drop [column] <列名> [cascade | restrict] ] --删除某列,若加上cascade则表示也会删除引用了该列的其他列,若加上restrict,若该列被其他对象引用,则不会被删除此列。
[ Drop constraint <完整性约束名(列名)> ] --删除某列的完整性约束条件
删除基本表
Drop Table <表名> [ cascade | restrict ] --若加上cascade则在删除基本表的同时相关依赖对象也将被删除,若加上restrict,若有依赖该表的对象,则不会被删此表。
表中数据的维护
插入数据
insert <表名>
[ (列名,列名,. . . ) ]
values (' 数据 ',' 数据 ',. . .) [ , ( ' 数据 ', . . . ) ]
列名和数据是一一对应的,若没有指定列名,则按默认列名排序
修改数据
update 表名
set
列名 = 新值 [ , . . . n] -- 将把此列全部改为该新值
[ from 其他表名 [, . . .n] ] --指定要更新的数据将来自其他表
[ where 条件 ] --通过约束条件来限定要更新的行,而不是对每一行数据都进行更新
Truncate Table 表名 --将删除表中所有的行,而且不会把每一行的删除操作都计入日志文件中,这样速度就会比较快,另外,表的结构、列、约束、索引等保持不变