在数据库操作中,几乎所有的操作都可以采用SQL语句来实现,那么,会跟大家分享一些常用的SQL语句.

1.创建数据库

/************************************
使用SQL语句创建数据库 exist语句用来判断将要建立的数据库是否存在,
如果存在,DROP语句是如果存在,则先删除,然后新建.

****************************************/
use master 
 go 
 if exists (select * from  sysdatabases where name ='stuDB')
  drop database stuDB 
  create datab

ase stuDB
go

执行语句结果是:

sql server创建数据库如果存在 数据库创建的sql语句_null

可以看到,左边的显示出,我们已经新建了一个名为stuDB的数据库.

2.创建及删除数据表

/*****************************************************
用SQL语句创建及删除数据表
语法结构;

create table 数据表名
 (
 字段名 字段类型 [NOT NULL |NULL ][约束描述]
 字段名 字段类型 [NOT NULL |NULL ][约束描述]
 字段名 字段类型 [NOT NULL |NULL ][约束描述]
 ... ...
 ... ...
  )


以下代码是创建一个学生信息表

*****************************************************/
use stuDB
 go
 create table infos
 (
 StuID varchar(7) not null,
 StuName varchar(10) not null,
 Gender varchar(2) not null,
 Age int not null,
 StuAdress varchar(50)
 )

执行结果是:

sql server创建数据库如果存在 数据库创建的sql语句_database_02

可以看出 ,在表中建立了一个名为infos的数据表.

/*************************************************
 删除数据表
 语法:  
 drop table 数据表名
 **************************************************************/
use  stuDB
 go 
 if exists (select * from sysobjects where name = 'infos')
  drop table infos
 go

 3.添加约束

/****************************************
 添加约束
 语法结构:
 alter table 数据表名
  add constraint 约束名 约束类型(列)
 ***********************************/
 /***********************************
 主键约束,主键:表中用来唯一标识一行的列称为主键,
 主键的值不能为空,不能重复
 ******************************************/
alter table infos 
  add constraint pk_stuDB_StuID primary key (StuID)   --添加主键约束,设置stuID为infos表中的主键约束

执行结果:

sql server创建数据库如果存在 数据库创建的sql语句_数据库_03

可以看到,用红笔圈出的中的金色钥匙表示这一列为主键.

/********************************************************************
 外键约束,外键约束是用来实现引用完整性,约束了表与表之间的关系.
 一个表可以有多个外键,主表中应该有主键,主键与外键数据类型必须相同
 添加数据时要先添加主表记录,后添加子表记录
 删除数据时要先删除子表记录,后删除主表记录
 **********************************************************************/
alter table scores
 add constraint fk_stuDB_stuID foreign key (stuID) references infos(stuID)    --- scores表中的stuID列连接infos表中的stuID列
/****************************************************************************
 唯一约束,主键是唯一的,但有时候我们需要非主键也是唯一的.
 ******************************************************************************/
alter table infos 
 add constraint uq_infos_StuName unique  (StuName)
/*****************************************************************************
 检查约束,用来定义可以接受的数据值或数据格式.
 ******************************************************************************/
alter table infos 
 add constraint ck_infos_Age check (age >15 and age<25 )          ---Age的值只能大于15小于25/************************************************************
 默认约束,当添加一个数据时,如果没有提供值,则就会使用默认值
 *************************************************************/alter table infos
 add constraint df_infos_StuAdress default ('地址不详')  for StuAdress



其实也可以在创建表的时候添加约束

比如

create table infos
(  stuID int not null primary key
)