数据库常用的SQL 语句(一)创建数据库,表以及添加约束

3 篇文章 0 订阅
3 篇文章 0 订阅

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

1.创建数据库

/************************************
使用SQL语句创建数据库 exist语句用来判断将要建立的数据库是否存在,
如果存在,DROP语句是如果存在,则先删除,然后新建.
****************************************/
use master
go
if exists (select * from  sysdatabases where name ='stuDB')
 drop database stuDB
 create database stuDB
go

执行语句结果是:

可以看到,左边的显示出,我们已经新建了一个名为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)
)

执行结果是:

可以看出 ,在表中建立了一个名为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表中的主键约束

执行结果:

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

/********************************************************************
外键约束,外键约束是用来实现引用完整性,约束了表与表之间的关系.
一个表可以有多个外键,主表中应该有主键,主键与外键数据类型必须相同
添加数据时要先添加主表记录,后添加子表记录
删除数据时要先删除子表记录,后删除主表记录
**********************************************************************/
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

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值