SQL的数据定义功能非常广泛,一般包括数据库的定义、表的定义、视图的定义、存储过程的定义、规则定义等,今天主要介绍模式、表的定义。




sql server 修改列不能空 sqlserver修改列名sql_sql语句修改数据类型


1.模式的定义与删除

模式本身就是数据库中的一个对象。它可以使用create schema语句(或者使用控制中心)显式地创建,并且将一个用户确定为模式的所有者。模式名称(SchemaName)会用来作为由两部分组成的对象名称的高端部分。

所有对象的名称都有模式部分和对象部分,但是并不总会全部显示这两个部分。显式使用了两个部分的对象名称会得到充分限定(Fully Qualifed),只使用一个部分的对象名称会由模式名称隐式限定(Implicitly Qualified)。当没有为数据库对象提供显式模式的时候,就会使用隐式限定。

1.1定义模式

SQL模式可用create schema语句定义,,其基本句法如下。

create schema authorization;

如果没有指定 ,则隐含为。需要注意的是,要创建模式,调用该命令的用户必须拥有DBA权限,或者获得了DBA授予的create schema权限。

模式实际上是一个命名空间,定义一个模式实际上也就是定义了一个命名空间,在这个命名空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。

1.2删除模式

drop schema;

该语句将会删除你定义的这个模式。(注:在Microsoft SQL Server 2005中要求被删除的架构不能包含任何对象,如果架构包含对象,则该条删除语句将会失败。)

2.基本表的定义、删除与修改

2.1数据类型

数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。不同的程序语言都具有不同的特点,所定义的数据类型的种类和名称都或多或少有些不同。现以SQL Server 为例,常用的数据类型如下图。


sql server 修改列不能空 sqlserver修改列名sql_sql修改列名称_02

数据类型


2.2基本表的定义

表的定义可用create table语句,语句基本格式如下。

create table(列名1 数据类型(宽度),列名2 数据类型(宽度),...)

定义表中列的同时,还可以定义有关的完整性约束条件,例如为某列设置验证规则、验证信息和默认值等,此时create table语句的格式如下。

create table(列名1 数据类型(宽度) primary key, 列名2 数据类型(宽度) check error default…)

例1:建立员工表,并同时设置相关完整性约束条件。

create table yg( [ygbh] [Varchar](6) NOT NULL,  [xb] [Varchar](2) NOT NULL default('男'), [jbgz] [Money] NOT NULL, [zw] [Varchar](4) NULL, primary key clustered ([ygbh] ASC));

2.3基本表的修改

基本表定义好后,有时候需要对其进行修改,SQL语言可以用alter table语句修改基本表,alter table语句的一般格式为

alter table [ add[完整性约束] ] [ drop column] [ drop] [ alter column];

其中指明要修改的基本表的名字add子句可用于增加新列和新的完整性约束条件,drop子句用于删除列或者完整性约束条件,alter column子句用于修改原有的列定义,包括修改列名和数据类型。

2.4基本表的删除

可以使用drop table语句删除已不需要的基本表,drop table 语句的一般格式为。

drop table

表被删除后,表的定义和表中的数据都将不复存在,因此执行删除基本表的操作时需要谨慎。